The conjugate gradient (CG) method solves for a symmetric positive definite (SPD) matrix . At step it minimises the energy norm of the error over the Krylov space:
Each iteration needs one matrix–vector product and a few vector operations. Memory use is constant.
Convergence. For FEM stiffness matrices , so a preconditioner is essential (see Algebraic Multigrid). Preconditioned CG needs an SPD preconditioner.
In EIT.
- Forward and adjoint solves with are SPD after grounding, or consistent semidefinite systems with mean-zero data (see Null Space of the Neumann Problem).
- Gauss–Newton normal equations are SPD. CG only needs products with and (see Gauss-Newton Method).
- Tikhonov prox: (see Tikhonov Regularization).
For symmetric indefinite or singular systems use MINRES. For least-squares problems with rectangular matrices use LSQR.
In ModularEIT.jl: pbcg.
References
- M. R. Hestenes, E. Stiefel (1952). Methods of conjugate gradients for solving linear systems. J. Res. Natl. Bur. Stand. 49(6), 409–436. doi:10.6028/jres.049.044
- Y. Saad (2003). Iterative Methods for Sparse Linear Systems, 2nd ed. SIAM. doi:10.1137/1.9780898718003