A nearly-mlogn time solver for SDD linear systems
Abstract
We present an improved algorithm for solving symmetrically diagonally dominant linear systems. On input of an n× n symmetric diagonally dominant matrix A with m non-zero entries and a vector b such that Ax = b for some (unknown) vector x, our algorithm computes a vector x such that ||x-x||A < ε ||x||A ||·||A denotes the A-norm in time O(m n (1/ε)). The solver utilizes in a standard way a `preconditioning' chain of progressively sparser graphs. To claim the faster running time we make a two-fold improvement in the algorithm for constructing the chain. The new chain exploits previously unknown properties of the graph sparsification algorithm given in [Koutis,Miller,Peng, FOCS 2010], allowing for stronger preconditioning properties. We also present an algorithm of independent interest that constructs nearly-tight low-stretch spanning trees in time O(mn), a factor of O(n) faster than the algorithm in [Abraham,Bartal,Neiman, FOCS 2008]. This speedup directly reflects on the construction time of the preconditioning chain.