Base class for linear iterative solvers.
More...
#include <IterativeSolverBase.h>
|
template<typename Rhs , typename DestDerived > |
void | _solve_impl (const Rhs &b, SparseMatrixBase< DestDerived > &aDest) const |
|
template<typename MatrixDerived > |
Derived & | analyzePattern (const EigenBase< MatrixDerived > &A) |
|
Index | cols () const |
|
template<typename MatrixDerived > |
Derived & | compute (const EigenBase< MatrixDerived > &A) |
|
RealScalar | error () const |
|
template<typename MatrixDerived > |
Derived & | factorize (const EigenBase< MatrixDerived > &A) |
|
ComputationInfo | info () const |
|
Index | iterations () const |
|
| IterativeSolverBase () |
|
template<typename MatrixDerived > |
| IterativeSolverBase (const EigenBase< MatrixDerived > &A) |
|
Index | maxIterations () const |
|
Preconditioner & | preconditioner () |
|
const Preconditioner & | preconditioner () const |
|
Index | rows () const |
|
Derived & | setMaxIterations (Index maxIters) |
|
Derived & | setTolerance (const RealScalar &tolerance) |
|
template<typename Rhs , typename Guess > |
const SolveWithGuess< Derived, Rhs, Guess > | solveWithGuess (const MatrixBase< Rhs > &b, const Guess &x0) const |
|
RealScalar | tolerance () const |
|
| ~IterativeSolverBase () |
|
template<typename Rhs , typename Dest > |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
|
Derived & | derived () |
|
const Derived & | derived () const |
|
template<typename Rhs > |
const Solve< Derived, Rhs > | solve (const MatrixBase< Rhs > &b) const |
|
template<typename Rhs > |
const Solve< Derived, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
|
| SparseSolverBase () |
|
| ~SparseSolverBase () |
|
template<typename Derived>
class Eigen::IterativeSolverBase< Derived >
Base class for linear iterative solvers.
- See also
- class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner
Definition at line 143 of file IterativeSolverBase.h.
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
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.
Definition at line 182 of file IterativeSolverBase.h.
template<typename Derived>
template<typename Derived>
template<typename Rhs , typename DestDerived >
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.
Definition at line 197 of file IterativeSolverBase.h.
template<typename Derived>
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.
Definition at line 238 of file IterativeSolverBase.h.
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|.
Definition at line 305 of file IterativeSolverBase.h.
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.
Definition at line 217 of file IterativeSolverBase.h.
template<typename Derived>
template<typename InputType >
template<typename Derived>
- Returns
- Success if the iterations converged, and NoConvergence otherwise.
Definition at line 326 of file IterativeSolverBase.h.
template<typename Derived>
template<typename Derived>
template<typename Derived>
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.
Definition at line 281 of file IterativeSolverBase.h.
template<typename Derived>
- Returns
- a read-write reference to the preconditioner for custom configuration.
Definition at line 272 of file IterativeSolverBase.h.
template<typename Derived>
template<typename Derived>
template<typename Derived>
Sets the max number of iterations. Default is twice the number of columns of the matrix.
Definition at line 289 of file IterativeSolverBase.h.
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()
Definition at line 265 of file IterativeSolverBase.h.
template<typename Derived>
template<typename Rhs , typename Guess >
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
template<typename Derived>
The documentation for this class was generated from the following file: