화학공학소재연구정보센터
IEEE Transactions on Automatic Control, Vol.60, No.11, 2863-2878, 2015
A Distributed Algorithm for Solving a Linear Algebraic Equation
A distributed algorithm is described for solving a linear algebraic equation of the form Ax = b assuming the equation has at least one solution. The equation is simultaneously solved by m agents assuming each agent knows only a subset of the rows of the partitioned matrix [A b], the current estimates of the equation's solution generated by its neighbors, and nothing more. Each agent recursively updates its estimate by utilizing the current estimates generated by each of its neighbors. Neighbor relations are characterized by a time-dependent directed graph N(t) whose vertices correspond to agents and whose arcs depict neighbor relations. It is shown that for any matrix A for which the equation has a solution and any sequence of "repeatedly jointly strongly connected graphs" N(t), t = 1, 2,..., the algorithm causes all agents' estimates to converge exponentially fast to the same solution to Ax = b. It is also shown that, under mild assumptions, the neighbor graph sequence must actually be repeatedly jointly strongly connected if exponential convergence is to be assured. A worst case convergence rate bound is derived for the case when Ax = b has a unique solution. It is demonstrated that with minor modification, the algorithm can track the solution to Ax = b, even if A and b are changing with time, provided the rates of change of A and b are sufficiently small. It is also shown that in the absence of communication delays, exponential convergence to a solution occurs even if the times at which each agent updates its estimates are not synchronized with the update times of its neighbors. A modification of the algorithm is outlined which enables it to obtain a least squares solution to Ax = b in a distributed manner, even if Ax = b does not have a solution.