Base class for linear iterative solvers.
More...
#include <IterativeSolverBase.h>
|
enum | { ColsAtCompileTime = MatrixType::ColsAtCompileTime,
MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime
} |
|
typedef internal::traits< Derived >::MatrixType | MatrixType |
|
typedef internal::traits< Derived >::Preconditioner | Preconditioner |
|
typedef MatrixType::Scalar | Scalar |
|
typedef MatrixType::StorageIndex | StorageIndex |
|
typedef MatrixType::RealScalar | RealScalar |
|
|
| IterativeSolverBase () |
| Default constructor. More...
|
|
template<typename MatrixDerived > |
| IterativeSolverBase (const EigenBase< MatrixDerived > &A) |
| Initialize the solver with matrix A for further Ax=b solving. More...
|
|
template<typename MatrixDerived > |
Derived & | analyzePattern (const EigenBase< MatrixDerived > &A) |
| Initializes the iterative solver for the sparsity pattern of the matrix A for further solving Ax=b problems. More...
|
|
template<typename MatrixDerived > |
Derived & | factorize (const EigenBase< MatrixDerived > &A) |
| Initializes the iterative solver with the numerical values of the matrix A for further solving Ax=b problems. More...
|
|
template<typename MatrixDerived > |
Derived & | compute (const EigenBase< MatrixDerived > &A) |
| Initializes the iterative solver with the matrix A for further solving Ax=b problems. More...
|
|
Index | rows () const |
|
Index | cols () const |
|
RealScalar | tolerance () const |
|
Derived & | setTolerance (const RealScalar &tolerance) |
| Sets the tolerance threshold used by the stopping criteria. More...
|
|
Preconditioner & | preconditioner () |
|
const Preconditioner & | preconditioner () const |
|
Index | maxIterations () const |
|
Derived & | setMaxIterations (Index maxIters) |
| Sets the max number of iterations. More...
|
|
Index | iterations () const |
|
RealScalar | error () const |
|
template<typename Rhs , typename Guess > |
const SolveWithGuess< Derived, Rhs, Guess > | solveWithGuess (const MatrixBase< Rhs > &b, const Guess &x0) const |
|
ComputationInfo | info () const |
|
template<typename Rhs , typename DestDerived > |
void | _solve_impl (const Rhs &b, SparseMatrixBase< DestDerived > &aDest) const |
|
| SparseSolverBase () |
| Default constructor.
|
|
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 |
|
template<typename Rhs , typename Dest > |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
|
|
void | init () |
|
const ActualMatrixType & | matrix () const |
|
template<typename InputType > |
void | grab (const InputType &A) |
|
|
MatrixWrapper | m_matrixWrapper |
|
Preconditioner | m_preconditioner |
|
Index | m_maxIterations |
|
RealScalar | m_tolerance |
|
RealScalar | m_error |
|
Index | m_iterations |
|
ComputationInfo | m_info |
|
bool | m_analysisIsOk |
|
bool | m_factorizationIsOk |
|
bool | m_isInitialized |
|
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: