1: \begin{abstract} A distributed algorithm is described for solving a linear algebraic equation of the form $Ax=b$
2: assuming the equation has at least one solution. The equation is simultaneously
3: solved by $m$ agents
4: assuming each agent knows only a subset of the rows of the partitioned matrix $\matt{A &b}$,
5: the current estimates of the equation's solution generated by its neighbors, and nothing more. Each agent
6: recursively updates its estimate by utilizing the current estimates
7: generated by each of its neighbors.
8: Neighbor relations are characterized by a time-dependent directed graph $\mathbb{N}(t)$ whose
9: vertices correspond to agents and whose arcs depict neighbor relations.
10: It is shown that for
11: any matrix $A$ for which the equation has a solution and any
12: sequence of ``repeatedly jointly strongly connected graphs'' $\mathbb{N}(t)$, $t=1,2,\ldots$, the algorithm causes
13: all agents' estimates to converge exponentially fast to the same solution to $Ax=b$. It is also shown that
14: 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$,
15: even if $A$ and $b$ are changing with time, provided the rates of change of $A$ and $b$ are sufficiently small.
16: It is also shown that in the absence
17: of communication delays, exponential
18: convergence to a solution occurs even if the times at which each agent updates its estimates are
19: 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. \end{abstract}