Eigen::IterativeSolverBase
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 set 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: