Eigen  3.2.7
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IterativeSolverBase< Derived > Class Template Reference

Detailed Description

template<typename Derived>
class Eigen::IterativeSolverBase< Derived >

Base class for linear iterative solvers.

See Also
class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner

Inherits noncopyable.

Public Member Functions

template<typename InputDerived >
Derived & analyzePattern (const EigenBase< InputDerived > &A)
 
template<typename InputDerived >
Derived & compute (const EigenBase< InputDerived > &A)
 
RealScalar error () const
 
template<typename InputDerived >
Derived & factorize (const EigenBase< InputDerived > &A)
 
ComputationInfo info () const
 
int iterations () const
 
 IterativeSolverBase ()
 
template<typename InputDerived >
 IterativeSolverBase (const EigenBase< InputDerived > &A)
 
int maxIterations () const
 
Preconditioner & preconditioner ()
 
const Preconditioner & preconditioner () 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
 

Constructor & Destructor Documentation

IterativeSolverBase ( )
inline

Default constructor.

IterativeSolverBase ( const EigenBase< InputDerived > &  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().

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.

Member Function Documentation

Derived& analyzePattern ( const EigenBase< InputDerived > &  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.

Derived& compute ( const EigenBase< InputDerived > &  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.

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.

Referenced by IterativeSolverBase< ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > >::IterativeSolverBase().

RealScalar error ( ) const
inline
Returns
the tolerance error reached during the last solve
Derived& factorize ( const EigenBase< InputDerived > &  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.

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.
ComputationInfo info ( ) const
inline
Returns
Success if the iterations converged, and NoConvergence otherwise.
int iterations ( ) const
inline
Returns
the number of iterations performed during the last solve
int maxIterations ( ) const
inline
Returns
the max number of iterations
Preconditioner& preconditioner ( )
inline
Returns
a read-write reference to the preconditioner for custom configuration.
const Preconditioner& preconditioner ( ) const
inline
Returns
a read-only reference to the preconditioner.
Derived& setMaxIterations ( int  maxIters)
inline

Sets the max number of iterations

Derived& setTolerance ( const RealScalar &  tolerance)
inline

Sets the tolerance threshold used by the stopping criteria

const internal::solve_retval<Derived, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()
const internal::sparse_solve_retval<IterativeSolverBase, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()
RealScalar tolerance ( ) const
inline
Returns
the tolerance threshold used by the stopping criteria

Referenced by IterativeSolverBase< ConjugateGradient< _MatrixType, _UpLo, _Preconditioner > >::setTolerance().


The documentation for this class was generated from the following file: