Base class for linear iterative solvers. More...
#include <IterativeSolverBase.h>

Public Types | |
| typedef MatrixType::Index | Index |
| typedef internal::traits < Derived >::MatrixType | MatrixType |
| typedef internal::traits < Derived >::Preconditioner | Preconditioner |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType::Scalar | Scalar |
Public Member Functions | |
| template<typename Rhs , typename DestScalar , int DestOptions, typename DestIndex > | |
| void | _solve_sparse (const Rhs &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const |
| Derived & | analyzePattern (const MatrixType &A) |
| Index | cols () const |
| Derived & | compute (const MatrixType &A) |
| Derived & | derived () |
| const Derived & | derived () const |
| RealScalar | error () const |
| Derived & | factorize (const MatrixType &A) |
| ComputationInfo | info () const |
| int | iterations () const |
| IterativeSolverBase () | |
| IterativeSolverBase (const MatrixType &A) | |
| int | maxIterations () const |
| Preconditioner & | preconditioner () |
| const Preconditioner & | preconditioner () const |
| Index | rows () const |
| Derived & | setMaxIterations (int maxIters) |
| Derived & | setTolerance (RealScalar tolerance) |
| template<typename Rhs > | |
| const internal::solve_retval < Derived, Rhs > | solve (const MatrixBase< Rhs > &b) const |
| template<typename Rhs > | |
| const internal::sparse_solve_retval < IterativeSolverBase, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
| RealScalar | tolerance () const |
| ~IterativeSolverBase () | |
Protected Member Functions | |
| void | init () |
Protected Attributes | |
| bool | m_analysisIsOk |
| RealScalar | m_error |
| bool | m_factorizationIsOk |
| ComputationInfo | m_info |
| bool | m_isInitialized |
| int | m_iterations |
| int | m_maxIterations |
| Preconditioner | m_preconditioner |
| RealScalar | m_tolerance |
| const MatrixType * | mp_matrix |
Base class for linear iterative solvers.
Definition at line 21 of file IterativeSolverBase.h.
| typedef MatrixType::Index Eigen::IterativeSolverBase< Derived >::Index |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, and Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >.
Definition at line 27 of file IterativeSolverBase.h.
| typedef internal::traits<Derived>::MatrixType Eigen::IterativeSolverBase< Derived >::MatrixType |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, and Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >.
Definition at line 24 of file IterativeSolverBase.h.
| typedef internal::traits<Derived>::Preconditioner Eigen::IterativeSolverBase< Derived >::Preconditioner |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, and Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >.
Definition at line 25 of file IterativeSolverBase.h.
| typedef MatrixType::RealScalar Eigen::IterativeSolverBase< Derived >::RealScalar |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, and Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >.
Definition at line 28 of file IterativeSolverBase.h.
| typedef MatrixType::Scalar Eigen::IterativeSolverBase< Derived >::Scalar |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, and Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >.
Definition at line 26 of file IterativeSolverBase.h.
| Eigen::IterativeSolverBase< Derived >::IterativeSolverBase | ( | ) | [inline] |
Default constructor.
Definition at line 36 of file IterativeSolverBase.h.
| Eigen::IterativeSolverBase< Derived >::IterativeSolverBase | ( | const MatrixType & | A | ) | [inline] |
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().
Definition at line 52 of file IterativeSolverBase.h.
| Eigen::IterativeSolverBase< Derived >::~IterativeSolverBase | ( | ) | [inline] |
Definition at line 58 of file IterativeSolverBase.h.
| void Eigen::IterativeSolverBase< Derived >::_solve_sparse | ( | const Rhs & | b, |
| SparseMatrix< DestScalar, DestOptions, DestIndex > & | dest | ||
| ) | const [inline] |
Definition at line 198 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::analyzePattern | ( | const MatrixType & | A | ) | [inline] |
Initializes the iterative solver for the sparcity pattern of the matrix A for further solving Ax=b problems.
Currently, this function mostly call analyzePattern on the preconditioner. In the future we might, for instance, implement column reodering for faster matrix vector products.
Definition at line 65 of file IterativeSolverBase.h.
| Index Eigen::IterativeSolverBase< Derived >::cols | ( | void | ) | const [inline] |
Definition at line 117 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::compute | ( | const MatrixType & | A | ) | [inline] |
Initializes the iterative solver with the matrix A for further solving Ax=b problems.
Currently, this function mostly initialized/compute the preconditioner. In the future we might, for instance, implement column reodering for faster matrix vector products.
Definition at line 103 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::derived | ( | ) | [inline] |
Definition at line 32 of file IterativeSolverBase.h.
| const Derived& Eigen::IterativeSolverBase< Derived >::derived | ( | ) | const [inline] |
Definition at line 33 of file IterativeSolverBase.h.
| RealScalar Eigen::IterativeSolverBase< Derived >::error | ( | ) | const [inline] |
Definition at line 156 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::factorize | ( | const MatrixType & | A | ) | [inline] |
Initializes the iterative solver with the numerical values of the matrix A for further solving Ax=b problems.
Currently, this function mostly call factorize on the preconditioner.
Definition at line 83 of file IterativeSolverBase.h.
| ComputationInfo Eigen::IterativeSolverBase< Derived >::info | ( | ) | const [inline] |
Definition at line 190 of file IterativeSolverBase.h.
| void Eigen::IterativeSolverBase< Derived >::init | ( | ) | [inline, protected] |
Definition at line 215 of file IterativeSolverBase.h.
| int Eigen::IterativeSolverBase< Derived >::iterations | ( | ) | const [inline] |
Definition at line 149 of file IterativeSolverBase.h.
| int Eigen::IterativeSolverBase< Derived >::maxIterations | ( | ) | const [inline] |
Definition at line 136 of file IterativeSolverBase.h.
| Preconditioner& Eigen::IterativeSolverBase< Derived >::preconditioner | ( | ) | [inline] |
Definition at line 130 of file IterativeSolverBase.h.
| const Preconditioner& Eigen::IterativeSolverBase< Derived >::preconditioner | ( | ) | const [inline] |
Definition at line 133 of file IterativeSolverBase.h.
| Index Eigen::IterativeSolverBase< Derived >::rows | ( | void | ) | const [inline] |
Definition at line 115 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::setMaxIterations | ( | int | maxIters | ) | [inline] |
Sets the max number of iterations
Definition at line 142 of file IterativeSolverBase.h.
| Derived& Eigen::IterativeSolverBase< Derived >::setTolerance | ( | RealScalar | tolerance | ) | [inline] |
Sets the tolerance threshold used by the stopping criteria
Definition at line 123 of file IterativeSolverBase.h.
| const internal::solve_retval<Derived, Rhs> Eigen::IterativeSolverBase< Derived >::solve | ( | const MatrixBase< Rhs > & | b | ) | const [inline] |
using the current decomposition of A.Definition at line 167 of file IterativeSolverBase.h.
| const internal::sparse_solve_retval<IterativeSolverBase, Rhs> Eigen::IterativeSolverBase< Derived >::solve | ( | const SparseMatrixBase< Rhs > & | b | ) | const [inline] |
using the current decomposition of A.Definition at line 181 of file IterativeSolverBase.h.
| RealScalar Eigen::IterativeSolverBase< Derived >::tolerance | ( | ) | const [inline] |
Definition at line 120 of file IterativeSolverBase.h.
bool Eigen::IterativeSolverBase< Derived >::m_analysisIsOk [mutable, protected] |
Definition at line 232 of file IterativeSolverBase.h.
RealScalar Eigen::IterativeSolverBase< Derived >::m_error [mutable, protected] |
Definition at line 229 of file IterativeSolverBase.h.
bool Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk [mutable, protected] |
Definition at line 232 of file IterativeSolverBase.h.
ComputationInfo Eigen::IterativeSolverBase< Derived >::m_info [mutable, protected] |
Definition at line 231 of file IterativeSolverBase.h.
bool Eigen::IterativeSolverBase< Derived >::m_isInitialized [mutable, protected] |
Definition at line 232 of file IterativeSolverBase.h.
int Eigen::IterativeSolverBase< Derived >::m_iterations [mutable, protected] |
Definition at line 230 of file IterativeSolverBase.h.
int Eigen::IterativeSolverBase< Derived >::m_maxIterations [protected] |
Definition at line 226 of file IterativeSolverBase.h.
Preconditioner Eigen::IterativeSolverBase< Derived >::m_preconditioner [protected] |
Definition at line 224 of file IterativeSolverBase.h.
RealScalar Eigen::IterativeSolverBase< Derived >::m_tolerance [protected] |
Definition at line 227 of file IterativeSolverBase.h.
const MatrixType* Eigen::IterativeSolverBase< Derived >::mp_matrix [protected] |
Definition at line 223 of file IterativeSolverBase.h.