Expand description
Sparse direct solvers
This module provides production-quality direct solvers for sparse linear systems:
- Sparse LU factorization: Dense kernel with partial pivoting, AMD column ordering
- Sparse Cholesky: For symmetric positive definite (SPD) matrices
- Fill-reducing orderings: AMD (Approximate Minimum Degree), nested dissection
- Symbolic analysis: Determines the fill-in pattern before numeric factorization
- Numeric factorization: Computes the actual factor values
- Triangular solves: Forward and backward substitution
§Architecture
Factorization is split into two phases:
- Ordering phase — Computes a fill-reducing permutation (AMD or nested dissection)
- Numeric phase — Applies the permutation, then factors the reordered matrix
§References
- Davis, T.A. (2006). “Direct Methods for Sparse Linear Systems”. SIAM.
- Amestoy, P.R., Davis, T.A., & Duff, I.S. (1996). “An approximate minimum degree ordering algorithm”. SIAM J. Matrix Anal. Appl. 17(4), 886-905.
- George, A. & Liu, J.W. (1981). “Computer Solution of Large Sparse Positive Definite Systems”. Prentice-Hall.
Structs§
- Sparse
Chol Result - Result of sparse Cholesky factorization (L * L^T = PAP^T).
- Sparse
Cholesky Solver - Sparse Cholesky solver for symmetric positive definite matrices.
- Sparse
LuResult - Result of sparse LU factorization (PAQ = L*U).
- Sparse
LuSolver - Sparse LU solver with partial pivoting.
- Symbolic
Analysis - Result of the symbolic analysis phase.
Traits§
- Sparse
Solver - Trait for sparse direct solvers.
Functions§
- amd_
ordering - Approximate Minimum Degree (AMD) ordering.
- elimination_
tree - Compute the elimination tree of a symmetric matrix.
- inverse_
perm - Compute the inverse permutation.
- nested_
dissection_ ordering - Nested dissection ordering.
- sparse_
cholesky_ solve - Solve Ax = b using sparse Cholesky (matrix must be SPD).
- sparse_
lu_ solve - Solve Ax = b using sparse LU factorization with AMD ordering.
- symbolic_
cholesky - Perform symbolic analysis for Cholesky factorization.