Hostname: page-component-74656f9884-npj9w Total loading time: 0 Render date: 2026-11-07T04:38:45.005Z Has data issue: false hasContentIssue false

A survey of direct methods for sparse linear systems

Published online by Cambridge University Press:  23 May 2016

Timothy A. Davis
Affiliation:
Department of Computer Science & Engineering, Texas A&M University, College Station, TX 77843-3112, USA E-mail: davis@tamu.edu
Sivasankaran Rajamanickam
Affiliation:
Center for Computing Research, Sandia National Laboratories, Albuquerque, NM 87185-1320, USA E-mail: srajama@sandia.gov
Wissam M. Sid-Lakhdar
Affiliation:
Department of Computer Science & Engineering,Texas A&M University, College Station, TX 77843-3112, USA E-mail: wissam@tamu.edu
Rights & Permissions [Opens in a new window]

Abstract

Wilkinson defined a sparse matrix as one with enough zeros that it pays to take advantage of them.1 This informal yet practical definition captures the essence of the goal of direct methods for solving sparse matrix problems. They exploit the sparsity of a matrix to solve problems economically: much faster and using far less memory than if all the entries of a matrix were stored and took part in explicit computations. These methods form the backbone of a wide range of problems in computational science. A glimpse of the breadth of applications relying on sparse solvers can be seen in the origins of matrices in published matrix benchmark collections (Duff and Reid 1979a, Duff, Grimes and Lewis 1989a, Davis and Hu 2011). The goal of this survey article is to impart a working knowledge of the underlying theory and practice of sparse direct methods for solving linear systems and least-squares problems, and to provide an overview of the algorithms, data structures, and software available to solve these problems, so that the reader can both understand the methods and know how best to use them.

Information

Type
Research Article
Copyright
© Cambridge University Press, 2016 
Figure 0

Figure 3.1. Sparse triangular solve (Davis 2006).

Figure 1

Figure 3.2. Solving $Lx=b$, where $L$, $x$, and $b$ are sparse (Davis 2006).

Figure 2

Figure 4.1. Pruning the directed graph $G_{L}$ yields the elimination tree.

Figure 3

Figure 4.2. Example matrix $A$, factor $L$, and elimination tree. Fill-in entries in $L$ are shown as circled x’s (Davis 2006).

Figure 4

Figure 4.3. After elimination tree postordering (Davis 2006).

Figure 5

Figure 4.4. Skeleton matrix, factor $L$, elimination tree, and the row subtrees (Davis 2006).

Figure 6

Figure 4.5. Elimination graph, quotient graph, and matrix (Amestoy et al.1996a).

Figure 7

Figure 4.6. Elimination graph, quotient graph, and matrix (continued) (Amestoy et al.1996a).

Figure 8

Figure 7.1. (a) A sparse matrix $A$, (b) its column elimination tree, and (c) its QR factorization ($R$ denotes the upper triangular part and $V$ the Householder vectors in the lower triangular part) (Davis 2006).

Figure 9

Figure 8.1. Example of symbolic elimination and the row-merge tree, assuming no column reordering (Davis, Gilbert, Larimore and Ng 2004a).

Figure 10

Figure 8.2. Example of an augmenting path (Davis 2006).

Figure 11

Figure 9.1. Left-looking update in a supernodal Cholesky factorization. Solid circles denote entries that take part in the supernodal update of the target supernode $s$ with descendant supernode $d$. Grey circles are non-zero but do not take part in the update of $s$ by its descendant $d$.

Figure 12

Figure 9.2. Left-looking update in a supernodal LU factorization. Solid entries take part in the update of $s$ by supernode $d$. Grey entries are non-zero but are not modified by this update.

Figure 13

Figure 11.1. Multifrontal example.

Figure 14

Figure 11.2. Unsymmetric-pattern multifrontal example (Davis 2006).

Figure 15

Figure 12.1. Rank-1 update $A+ww^{T}$ that changes the pattern of $L$. The old elimination tree is ${\mathcal{T}}$ and the new tree is $\overline{{\mathcal{T}}}$. Non-zeros that do not change are shown as solid circles; non-zeros that change are shown as circled x’s. The columns that are modified (4, 6, 7, and 8) become a path in $\overline{{\mathcal{T}}}$ (Davis 2006).

Figure 16

Table 13.1. Package features.

Figure 17

Table 13.2. Package authors, references, and availability.