Summary of Sparse Linear Solvers Available In PETSc#
Preconditioners#
| Algorithm | Associated Type | Matrix Types | External Packages | Parallel | Complex | |
|---|---|---|---|---|---|---|
| Generic | Jacobi | — | X | X | ||
| Point Block Jacobi | — | X | X | |||
| Variable Point Block Jacobi | — | X | X | |||
| Block Jacobi | — | X | X | |||
| SOR | — | X | X | |||
| Point Block SOR | 
 | — | X | X | ||
| Kaczmarz | — | X | X | |||
| Additive Schwarz | — | X | X | |||
| Vanka/overlapping patches | — | X | X | |||
| Deflation | All | — | X | X | ||
| Incomplete | ILU | — | X | |||
| ILU with drop tolerance | X | |||||
| Euclid/hypre ( | X | |||||
| ICholesky | — | X | ||||
| Algebraic recursive multilevel | X | |||||
| Matrix Free | Infrastructure | All | — | X | X | |
| Multigrid | Infrastructure | All | — | X | X | |
| Geometric | All | — | X | X | ||
| Smoothed Aggregation | — | X | X | |||
| Smoothed Aggregation (ML) | X | X | ||||
| Structured Geometric | X | |||||
| Classical Algebraic | X | |||||
| Multi-group MG | — | X | X | |||
| Domain Decomposition | X | X | ||||
| Hierarchical matrices | \(\mathcal H^2\) | X | ||||
| Physics-based Splitting | Relaxation & Schur Complement | — | X | X | ||
| Galerkin composition | Any | — | X | X | ||
| Additive/multiplicative | Any | — | X | X | ||
| Least Squares Commutator | — | X | X | |||
| Parallel transformation | Redistribution | — | X | X | ||
| Telescoping communicator | — | X | X | |||
| Distribute for MPI | — | X | X | |||
| Approximate Inverse | AIV | X | ||||
| Substructuring | Balancing Neumann-Neumann | — | X | X | ||
| Balancing Domain Decomposition | — | X | X | |||
| 2-level Schwarz wire basket | — | X | X | 
Direct Solvers#
| Algorithm | Associated Type | Matrix Types | External Packages | Parallel | Complex | |
|---|---|---|---|---|---|---|
| Direct LU | LU | — | X | |||
| X | ||||||
| X | X | |||||
| X | X | |||||
| X | X | |||||
| X | ||||||
| X | ||||||
| X | ||||||
| X | X | |||||
| X | X | |||||
| Direct Cholesky | Cholesky | — | X | |||
| X | X | |||||
| X | X | |||||
| X | ||||||
| X | X | |||||
| X | ||||||
| Direct SVD | Singular value decomposition | Any | — | X | X | |
| Direct QR | QR | |||||
| XXt and XYt | — | X | 
Krylov Methods#
| Algorithm | Associated Type | External Packages | Parallel | Complex | 
|---|---|---|---|---|
| Richardson | — | X | X | |
| Chebyshev | — | X | X | |
| GMRES | — | X | X | |
| Flexible GMRES | — | X | X | |
| LGMRES | — | X | X | |
| Deflated GMRES | — | X | ||
| Two-stage with least squares residual minimization | — | X | X | |
| Conjugate Gradient | — | X | X | |
| Conjugate Gradient Squared | — | X | X | |
| Conjugate Gradient for Least Squares | — | X | X | |
| Conjugate Gradient on Normal Equations | — | X | X | |
| Nash Conjugate Gradient with trust region constraint | — | X | X | |
| Conjugate Gradient with trust region constraint | — | X | X | |
| Gould et al Conjugate Gradient with trust region constraint | — | X | X | |
| Steinhaug Conjugate Gradient with trust region constraint | — | X | X | |
| Left Conjugate Direction | — | X | X | |
| Bi-Conjugate Gradient | — | X | X | |
| Stabilized Bi-Conjugate Gradient | — | X | X | |
| Improved Stabilized Bi-Conjugate Gradient | — | X | X | |
| Transpose-free QMR | — | X | X | |
| Transpose-free variant of QMR developed by Tony Chan | — | X | X | |
| QMR BiCGStab | — | X | X | |
| Flexible Conjugate Gradients | — | X | X | |
| Flexible stabilized Bi-Conjugate Gradients | — | X | X | |
| Flexible stabilized Bi-Conjugate Gradients with fewer reductions | — | X | X | |
| Stabilized Bi-Conjugate Gradients with length \(\ell\) recurrence | — | X | X | |
| Conjugate Residual | — | X | X | |
| Generalized Conjugate Residual | — | X | X | |
| Generalized Conjugate Residual (with inner normalization and deflated restarts) | X | X | ||
| Minimum Residual | — | X | X | |
| LSQR | — | X | X | |
| SYMMLQ | — | X | X | |
| FETI-DP (reduction to dual-primal sub-problem) | — | X | X | |
| Gropp’s overlapped reduction pipelined Conjugate Gradient | — | X | X | |
| Pipelined Conjugate Gradient | — | X | X | |
| Pipelined Conjugate Gradient with residual replacement | — | X | X | |
| Pipelined depth \(\ell\) Conjugate Gradient | — | X | X | |
| Pipelined predict-and-recompute Conjugate Gradient | — | X | X | |
| Pipelined Conjugate Gradient over iteration pairs | — | X | X | |
| Pipelined flexible Conjugate Gradient | — | X | X | |
| Pipelined stabilized Bi-Conjugate Gradients | — | X | X | |
| Pipelined Conjugate Residual | — | X | X | |
| Pipelined flexible GMRES | — | X | X | |
| Pipelined Generalized Conjugate Residual | — | X | X | |
| Pipelined GMRES | — | X | X |