## Abstract

We present the design and analysis of a nearly-linear work parallel algorithm for solving symmetric diagonally dominant (SDD) linear systems. On input an SDD n-by-n matrix A with m nonzero entries and a vector b, our algorithm computes a vector x̃ such that (Formula Persented) work and (Formula Persented) depth for any θ>0, where A ^{+} denotes the Moore-Penrose pseudoinverse of A. The algorithm relies on a parallel algorithm for generating low-stretch spanning trees or spanning subgraphs. To this end, we first develop a parallel decomposition algorithm that in O(mlog^{O(1)} n) work and polylogarithmic depth, partitions a graph with n nodes and m edges into components with polylogarithmic diameter such that only a small fraction of the original edges are between the components. This can be used to generate low-stretch spanning trees with average stretch O(n ^{α}) in O(mlog^{O(1)} n) work and O(n ^{α}) depth for any α>0. Alternatively, it can be used to generate spanning subgraphs with polylogarithmic average stretch in O(mlog^{O(1)} n) work and polylogarithmic depth. We apply this subgraph construction to derive a parallel linear solver. By using this solver in known applications, our results imply improved parallel randomized algorithms for several problems, including single-source shortest paths, maximum flow, minimum-cost flow, and approximate maximum flow.

Original language | English (US) |
---|---|

Pages (from-to) | 521-554 |

Number of pages | 34 |

Journal | Theory of Computing Systems |

Volume | 55 |

Issue number | 3 |

DOIs | |

State | Published - Oct 2014 |

## Keywords

- Linear systems
- Low-diameter decomposition
- Low-stretch spanning trees
- Low-stretch subgraphs
- Parallel algorithms

## ASJC Scopus subject areas

- Theoretical Computer Science
- Computational Theory and Mathematics