  We present AMPS, an augmented matrix approach to update the solution to a
linear system of equations when the matrix is modified by a few elements within
a principal submatrix. This problem arises in the dynamic security analysis of
a power grid, where operators need to perform N - k contingency analysis, i.e.,
determine the state of the system when exactly k links from N fail. Our
algorithms augment the matrix to account for the changes in it, and then
compute the solution to the augmented system without refactoring the modified
matrix. We provide two algorithms, a direct method, and a hybrid
direct-iterative method for solving the augmented system. We also exploit the
sparsity of the matrices and vectors to accelerate the overall computation. We
analyze the time complexity of both algorithms, and show that it is bounded by
the number of nonzeros in a subset of the columns of the Cholesky factor that
are selected by the nonzeros in the sparse right-hand-side vector. Our
algorithms are compared on three power grids with PARDISO, a parallel direct
solver, and CHOLMOD, a direct solver with the ability to modify the Cholesky
factors of the matrix. We show that our augmented algorithms outperform PARDISO
(by two orders of magnitude), and CHOLMOD (by a factor of up to 5). Further,
our algorithms scale better than CHOLMOD as the number of elements updated
increases. The solutions are computed with high accuracy. Our algorithms are
capable of computing N - k contingency analysis on a 778 thousand bus grid,
updating a solution with k = 20 elements in 16 milliseconds on an Intel Xeon
processor.
