Summary of Sparse Linear Solvers Available from PETSc
Requests and contributions welcome
Algorithm | Matrix types | External Package* | Parallel | Complex | ||
---|---|---|---|---|---|---|
* External Package If this column is filled in you must install the external package indicated to use this feature. See instructions ** A "block Jacobi" style SOR with lits local smoothing followed by update of ghost points from other processors, see MatSOR() *** Use PCType of PCSOR |
||||||
Preconditioners | Jacobi | aij, baij, sbaij, dense | --- | X | X | |
point block Jacobi | baij, bs = 2,3,4,5 | X | X | |||
SOR | seqdense, seqaij, seqsbaij, mpiaij ** | --- | X | |||
point block SOR*** | seqbaij, bs = 2,3,4,5 | X | ||||
block Jacobi | aij,baij,sbaij | --- | X | X | ||
additive Schwarz | aij,baij,sbaij | --- | X | X | ||
Incomplete factorizations | ILU(k) | seqaij,seqbaij | --- | X | ||
ICC(k) | seqaij,seqbaij | --- | X | |||
ILU dt | aij | pilut/hypre (LLNL) Deprecated. Use euclid/hypre instead | X | |||
Matrix-free | infrastructure | X | X | |||
Multigrid | infrastructure | X | X | |||
geometric (DMDA for structured grid) | X | X | ||||
smoothed aggregation | aij | X | X | |||
structured geometric | hyprestruct | PFMG from hypre | X | |||
classical algebraic | aij | BoomerAMG/hypre (LLNL) | X | |||
aij | ML/Trilinos (SNL) | X | ||||
Physics-based splitting | relaxation and Schur-complement | aij, baij, nest | X | X | ||
least squares commutator | schurcomplement | X | X | |||
Approximate inverses | aij | Parasails/hypre (LLNL) | X | |||
aij | SPAI | X | ||||
Substructuring | balancing Neumann-Neumann | is | --- | X | X | |
BDDC | is | --- | X | X | ||
Direct solvers | LU | LU | seqaij,seqbaij | --- | X | |
LU | seqaij | MATLAB | X | |||
aij | PaStiX (INRIA) | X | X | |||
aij | SuperLU (BNL) SuperLU Sequential LU solver / SuperLU_DIST Parallel LU solver | X | X | |||
aij | MUMPS | X | X | |||
seqaij | ESSL (IBM) | |||||
seqaij | UMFPACK Part of SuiteSparse | X | ||||
seqaij | KLU Part of SuiteSparse | X | ||||
seqaij | LUSOL | |||||
dense | X | X | ||||
Cholesky | Cholesky | seqaij,seqsbaij | --- | X | ||
sbaij | PaStiX (INRIA) | X | X | |||
sbaij | MUMPS | X | X | |||
seqaij, seqsbaij | CHOLMOD Part of SuiteSparse | X | ||||
dense | X | X | ||||
QR | matlab | MATLAB | ||||
XXt and XYt | aij | --- | X | |||
Krylov methods | Richardson | --- | X | X | ||
Chebyshev | --- | X | X | |||
conjugate gradients | --- | X | X | |||
GMRES | --- | X | X | |||
Bi-CG-stab | --- | X | X | |||
transpose free QMR | --- | X | X | |||
conjugate residuals | --- | X | X | |||
conjugate gradient squared | --- | X | X | |||
bi-conjugate gradient | --- | X | X | |||
MINRES | --- | X | X | |||
flexible GMRES | --- | X | X | |||
LSQR(supports rectangular matrices) | --- | X | X | |||
CG for least squares(supports rectangular matrices) | --- | X | X | |||
SYMMLQ | --- | X | X | |||
LGMRES | --- | X | X | |||
GCR | --- | X | X | |||
Conjugate gradient on the normal equations | --- | X | X |
This page was inspired by Jack Dongarra's freely available software for linear algebra list