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 (const 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::MINRES< _MatrixType, _UpLo, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >, and Eigen::DGMRES< _MatrixType, _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::MINRES< _MatrixType, _UpLo, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >, and Eigen::DGMRES< _MatrixType, _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::MINRES< _MatrixType, _UpLo, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >, and Eigen::DGMRES< _MatrixType, _Preconditioner >.
Definition at line 25 of file IterativeSolverBase.h.
typedef MatrixType::RealScalar Eigen::IterativeSolverBase< Derived >::RealScalar |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::MINRES< _MatrixType, _UpLo, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >, and Eigen::DGMRES< _MatrixType, _Preconditioner >.
Definition at line 28 of file IterativeSolverBase.h.
typedef MatrixType::Scalar Eigen::IterativeSolverBase< Derived >::Scalar |
Reimplemented in Eigen::GMRES< _MatrixType, _Preconditioner >, Eigen::MINRES< _MatrixType, _UpLo, _Preconditioner >, Eigen::BiCGSTAB< _MatrixType, _Preconditioner >, Eigen::ConjugateGradient< _MatrixType, _UpLo, _Preconditioner >, and Eigen::DGMRES< _MatrixType, _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 | ( | const 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] |
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] |
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.