![]() |
Eigen
5.0.1
|
This module provides iterative methods to solve problems of the form A x = b, where A is a squared matrix, usually very large and sparse. Those solvers are accessible via the following classes:
These iterative solvers are associated with some preconditioners:
The IterScaling class can be used as a preprocessing step to equilibrate the row and column norms of a matrix.
Choosing the best solver for solving A x = b depends a lot on the preconditioner chosen as well as the properties of A. The following flowchart might help you.
Such problems can also be solved using the direct sparse decomposition modules: SparseCholesky, CholmodSupport, UmfPackSupport, SuperLUSupport, AccelerateSupport.
Classes | |
| class | Eigen::BiCGSTAB< MatrixType_, Preconditioner_ > |
| A bi conjugate gradient stabilized solver for sparse square problems. More... | |
| class | Eigen::ConjugateGradient< MatrixType_, UpLo_, Preconditioner_ > |
| A conjugate gradient solver for sparse (or dense) self-adjoint problems. More... | |
| class | Eigen::DGMRES< MatrixType_, Preconditioner_ > |
| A Restarted GMRES with deflation. This class implements a modification of the GMRES solver for sparse linear systems. The basis is built with modified Gram-Schmidt. At each restart, a few approximated eigenvectors corresponding to the smallest eigenvalues are used to build a preconditioner for the next cycle. This preconditioner for deflation can be combined with any other preconditioner, the IncompleteLUT for instance. The preconditioner is applied at right of the matrix and the combination is multiplicative. More... | |
| class | Eigen::DiagonalPreconditioner< Scalar_ > |
| A preconditioner based on the diagonal entries. More... | |
| class | Eigen::GMRES< MatrixType_, Preconditioner_ > |
| A GMRES solver for sparse square problems. More... | |
| class | Eigen::IdentityPreconditioner |
| A naive preconditioner which approximates any matrix as the identity matrix. More... | |
| class | Eigen::IDRS< MatrixType_, Preconditioner_ > |
| The Induced Dimension Reduction method (IDR(s)) is a short-recurrences Krylov method for sparse square problems. More... | |
| class | Eigen::IDRSTABL< MatrixType_, Preconditioner_ > |
| The IDR(s)STAB(l) is a combination of IDR(s) and BiCGSTAB(l). It is a short-recurrences Krylov method for sparse square problems. It can outperform both IDR(s) and BiCGSTAB(l). IDR(s)STAB(l) generally closely follows the optimal GMRES convergence in terms of the number of Matrix-Vector products. However, without the increasing cost per iteration of GMRES. IDR(s)STAB(l) is suitable for both indefinite systems and systems with complex eigenvalues. More... | |
| class | Eigen::IncompleteLUT< Scalar_, StorageIndex_ > |
| Incomplete LU factorization with dual-threshold strategy. More... | |
| class | Eigen::IterativeSolverBase< Derived > |
| Base class for linear iterative solvers. More... | |
| class | Eigen::IterScaling< MatrixType_ > |
| iterative scaling algorithm to equilibrate rows and column norms in matrices More... | |
| class | Eigen::LeastSquareDiagonalPreconditioner< Scalar_ > |
| Jacobi preconditioner for LeastSquaresConjugateGradient. More... | |
| class | Eigen::LeastSquaresConjugateGradient< MatrixType_, Preconditioner_ > |
| A conjugate gradient solver for sparse (or dense) least-square problems. More... | |
| class | Eigen::LSMR< MatrixType_, Preconditioner_ > |
| An LSMR solver for sparse (or dense) least-squares problems. More... | |
| class | Eigen::MINRES< MatrixType_, UpLo_, Preconditioner_ > |
| A minimal residual solver for sparse symmetric problems. More... | |
| class | Eigen::SolveWithGuess< Decomposition, RhsType, GuessType > |
| Pseudo expression representing a solving operation. More... | |