## Summary of Sparse Linear Solvers Available from PETSc

### Requests and contributions welcome

|  | Algorithm | External package* | Parallel | Complex
Preconditioners |  | Jacobi | --- | X | X
|  | SOR | --- |  | X
|  | block Jacobi | --- | X | X
|  | additive Schwarz | --- | X | X
| Incomplete factorizations | ILU(k) | --- |  | X
|  | ICC(k) | --- |  | X
|  | ILU dt | Sparsekit |  |
|  | ILU(k) | Euclid/hpypre | X |
|  | ILU dt | Euclid/pilut | X |
|  | ILU(0)/ICC(0) | BlockSolve95 | X |
| Multigrid | infrastructure |  | X | X
|  | geometric structured grid |  | X | X
|  | algebraic | BoomerAMG/hypre | X |
|  |  | SAMG |  |
| Approximate inverses |  | Parasails/hypre | X |
|  |  | SPAI | X |
| Substructuring | balancing Neumann-Neumann | --- | X | X
|  | FEIT | --- | X | X
Direct solvers | LU | LU | --- |  | X
|  | LU | MATLAB |  | X
|  |  | SpoolesSequential/Parallel | X | X
|  |  | SuperLUSequential/Parallel | X | X
|  |  | MUMPS | X | X
|  |  | ESSL |  |
|  |  | UMFPACK |  |
|  |  | LUSOL |  |
| Cholesky | Cholesky | --- |  | X
|  |  | SpoolesSequential/Parallel | X | X
|  |  | MUMPS | X | X
|  |  | DSCPACK | X |
| QR |  | Matlab |  |
|  |  | SpoolesSequential/Parallel |  | X
| XXt and XYt |  | --- | X |
Krylov methods |  | Richardson | --- | X | X
|  | Chebychev | --- | 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 | --- | X | X
|  | SYMMLQ | --- | X | X
|  | LGMRES | --- | X | X
|  | Conjugate gradient on the normal equations | --- | X | X

* indicates this is part of the PETSc software

This page was inspired by Jack Dongarra's freely available software for linear algebra list