Sparse Partial Pivoting in Time Proportional to Arithmetic Operations

Abstract
Existing sparse partial pivoting algorithms can spend asymptotically more time manipulating data structures than doing arithmetic, although they are tuned to be efficient on many large problems. We present an algorithm to factor sparse matrices by Gaussian elimination with partial pivoting in time proportional to the number of arithmetic operations.Implementing this algorithm requires only simple data structures and gives a code that in preliminary experiments is competitive with existing sparse codes. The key idea is a new triangular solver that uses depth-first search and topological ordering to take advantage of sparsity in the right-hand side.