template<typename Derived>
class Eigen::IterativeSolverBase< Derived >
Base class for linear iterative solvers.
- See also
- class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
◆ IterativeSolverBase() [1/2]
template<typename Derived >
◆ IterativeSolverBase() [2/2]
template<typename Derived >
template<typename MatrixDerived >
Initialize the solver with matrix A for further Ax=b
solving.
This constructor is a shortcut for the default constructor followed by a call to compute().
- Warning
- this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
◆ analyzePattern()
template<typename Derived >
template<typename MatrixDerived >
Initializes the iterative solver for the sparsity pattern of the matrix A for further solving Ax=b
problems.
Currently, this function mostly calls analyzePattern on the preconditioner. In the future we might, for instance, implement column reordering for faster matrix vector products.
◆ compute()
template<typename Derived >
template<typename MatrixDerived >
Initializes the iterative solver with the matrix A for further solving Ax=b
problems.
Currently, this function mostly initializes/computes the preconditioner. In the future we might, for instance, implement column reordering for faster matrix vector products.
- Warning
- this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
◆ error()
template<typename Derived >
- Returns
- the tolerance error reached during the last solve. It is a close approximation of the true relative residual error |Ax-b|/|b|.
◆ factorize()
template<typename Derived >
template<typename MatrixDerived >
Initializes the iterative solver with the numerical values of the matrix A for further solving Ax=b
problems.
Currently, this function mostly calls factorize on the preconditioner.
- Warning
- this class stores a reference to the matrix A as well as some precomputed values that depend on it. Therefore, if A is changed this class becomes invalid. Call compute() to update it with the new matrix A, or modify a copy of A.
◆ info()
template<typename Derived >
- Returns
- Success if the iterations converged, and NoConvergence otherwise.
◆ iterations()
template<typename Derived >
- Returns
- the number of iterations performed during the last solve
◆ maxIterations()
template<typename Derived >
- Returns
- the max number of iterations. It is either the value setted by setMaxIterations or, by default, twice the number of columns of the matrix.
◆ preconditioner() [1/2]
template<typename Derived >
- Returns
- a read-write reference to the preconditioner for custom configuration.
◆ preconditioner() [2/2]
template<typename Derived >
- Returns
- a read-only reference to the preconditioner.
◆ setMaxIterations()
template<typename Derived >
Sets the max number of iterations. Default is twice the number of columns of the matrix.
◆ setTolerance()
template<typename Derived >
Sets the tolerance threshold used by the stopping criteria.
This value is used as an upper bound to the relative residual error: |Ax-b|/|b|. The default value is the machine precision given by NumTraits<Scalar>::epsilon()
◆ solveWithGuess()
template<typename Derived >
template<typename Rhs , typename Guess >
- Returns
- the solution x of \( A x = b \) using the current decomposition of A and x0 as an initial solution.
- See also
- solve(), compute()
◆ tolerance()
template<typename Derived >
- Returns
- the tolerance threshold used by the stopping criteria.
- See also
- setTolerance()
The documentation for this class was generated from the following file: