## 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