Eigen  3.3.3
Eigen::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
+ Inheritance diagram for Eigen::IterativeSolverBase< Derived >:

List of all members.

Public Member Functions

template<typename MatrixDerived >
Derived & analyzePattern (const EigenBase< MatrixDerived > &A)
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
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

Constructor & Destructor Documentation

template<typename Derived>
Eigen::IterativeSolverBase< Derived >::IterativeSolverBase ( ) [inline]

Default constructor.

template<typename Derived>
template<typename MatrixDerived >
Eigen::IterativeSolverBase< Derived >::IterativeSolverBase ( const EigenBase< MatrixDerived > &  A) [inline, explicit]

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

template<typename Derived>
template<typename MatrixDerived >
Derived& Eigen::IterativeSolverBase< Derived >::analyzePattern ( const EigenBase< MatrixDerived > &  A) [inline]

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.

template<typename Derived>
template<typename MatrixDerived >
Derived& Eigen::IterativeSolverBase< Derived >::compute ( const EigenBase< MatrixDerived > &  A) [inline]

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.
template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::error ( ) const [inline]
Returns:
the tolerance error reached during the last solve. It is a close approximation of the true relative residual error |Ax-b|/|b|.
template<typename Derived>
template<typename MatrixDerived >
Derived& Eigen::IterativeSolverBase< Derived >::factorize ( const EigenBase< MatrixDerived > &  A) [inline]

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

Sets the max number of iterations. Default is twice the number of columns of the matrix.

template<typename Derived>
Derived& Eigen::IterativeSolverBase< Derived >::setTolerance ( const RealScalar &  tolerance) [inline]

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()

template<typename Derived>
template<typename Rhs , typename Guess >
const SolveWithGuess<Derived, Rhs, Guess> Eigen::IterativeSolverBase< Derived >::solveWithGuess ( const MatrixBase< Rhs > &  b,
const Guess &  x0 
) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A and x0 as an initial solution.
See also:
solve(), compute()
template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::tolerance ( ) const [inline]
Returns:
the tolerance threshold used by the stopping criteria.
See also:
setTolerance()

The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends