Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
Eigen::IterativeSolverBase< Derived > Class Template Reference

Base class for linear iterative solvers. More...

#include <IterativeSolverBase.h>

Inheritance diagram for Eigen::IterativeSolverBase< Derived >:
Inheritance graph
[legend]

List of all members.

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
Preconditionerpreconditioner ()
const Preconditionerpreconditioner () 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 MatrixTypemp_matrix

Detailed Description

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

Base class for linear iterative solvers.

See also:
class SimplicialCholesky, DiagonalPreconditioner, IdentityPreconditioner

Definition at line 21 of file IterativeSolverBase.h.


Member Typedef Documentation

template<typename Derived>
typedef MatrixType::Index Eigen::IterativeSolverBase< Derived >::Index
template<typename Derived>
typedef internal::traits<Derived>::MatrixType Eigen::IterativeSolverBase< Derived >::MatrixType
template<typename Derived>
typedef internal::traits<Derived>::Preconditioner Eigen::IterativeSolverBase< Derived >::Preconditioner
template<typename Derived>
typedef MatrixType::RealScalar Eigen::IterativeSolverBase< Derived >::RealScalar
template<typename Derived>
typedef MatrixType::Scalar Eigen::IterativeSolverBase< Derived >::Scalar

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 36 of file IterativeSolverBase.h.

template<typename Derived>
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().

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.

Definition at line 52 of file IterativeSolverBase.h.

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

Definition at line 58 of file IterativeSolverBase.h.


Member Function Documentation

template<typename Derived>
template<typename Rhs , typename DestScalar , int DestOptions, typename DestIndex >
void Eigen::IterativeSolverBase< Derived >::_solve_sparse ( const Rhs &  b,
SparseMatrix< DestScalar, DestOptions, DestIndex > &  dest 
) const [inline]

Definition at line 198 of file IterativeSolverBase.h.

template<typename Derived>
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.

template<typename Derived>
Index Eigen::IterativeSolverBase< Derived >::cols ( void  ) const [inline]

Definition at line 117 of file IterativeSolverBase.h.

template<typename Derived>
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.

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.

Definition at line 103 of file IterativeSolverBase.h.

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

Definition at line 32 of file IterativeSolverBase.h.

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

Definition at line 33 of file IterativeSolverBase.h.

template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::error ( ) const [inline]
Returns:
the tolerance error reached during the last solve

Definition at line 156 of file IterativeSolverBase.h.

template<typename Derived>
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.

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.

Definition at line 83 of file IterativeSolverBase.h.

template<typename Derived>
ComputationInfo Eigen::IterativeSolverBase< Derived >::info ( ) const [inline]
Returns:
Success if the iterations converged, and NoConvergence otherwise.

Definition at line 190 of file IterativeSolverBase.h.

template<typename Derived>
void Eigen::IterativeSolverBase< Derived >::init ( ) [inline, protected]

Definition at line 215 of file IterativeSolverBase.h.

template<typename Derived>
int Eigen::IterativeSolverBase< Derived >::iterations ( ) const [inline]
Returns:
the number of iterations performed during the last solve

Definition at line 149 of file IterativeSolverBase.h.

template<typename Derived>
int Eigen::IterativeSolverBase< Derived >::maxIterations ( ) const [inline]
Returns:
the max number of iterations

Definition at line 136 of file IterativeSolverBase.h.

template<typename Derived>
Preconditioner& Eigen::IterativeSolverBase< Derived >::preconditioner ( ) [inline]
Returns:
a read-write reference to the preconditioner for custom configuration.

Definition at line 130 of file IterativeSolverBase.h.

template<typename Derived>
const Preconditioner& Eigen::IterativeSolverBase< Derived >::preconditioner ( ) const [inline]
Returns:
a read-only reference to the preconditioner.

Definition at line 133 of file IterativeSolverBase.h.

template<typename Derived>
Index Eigen::IterativeSolverBase< Derived >::rows ( void  ) const [inline]

Definition at line 115 of file IterativeSolverBase.h.

template<typename Derived>
Derived& Eigen::IterativeSolverBase< Derived >::setMaxIterations ( int  maxIters) [inline]

Sets the max number of iterations

Definition at line 142 of file IterativeSolverBase.h.

template<typename Derived>
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.

template<typename Derived>
template<typename Rhs >
const internal::solve_retval<Derived, Rhs> Eigen::IterativeSolverBase< Derived >::solve ( const MatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 167 of file IterativeSolverBase.h.

template<typename Derived>
template<typename Rhs >
const internal::sparse_solve_retval<IterativeSolverBase, Rhs> Eigen::IterativeSolverBase< Derived >::solve ( const SparseMatrixBase< Rhs > &  b) const [inline]
Returns:
the solution x of $ A x = b $ using the current decomposition of A.
See also:
compute()

Definition at line 181 of file IterativeSolverBase.h.

template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::tolerance ( ) const [inline]
Returns:
the tolerance threshold used by the stopping criteria

Definition at line 120 of file IterativeSolverBase.h.


Member Data Documentation

template<typename Derived>
bool Eigen::IterativeSolverBase< Derived >::m_analysisIsOk [mutable, protected]

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::m_error [mutable, protected]

Definition at line 229 of file IterativeSolverBase.h.

template<typename Derived>
bool Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk [mutable, protected]

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
ComputationInfo Eigen::IterativeSolverBase< Derived >::m_info [mutable, protected]

Definition at line 231 of file IterativeSolverBase.h.

template<typename Derived>
bool Eigen::IterativeSolverBase< Derived >::m_isInitialized [mutable, protected]

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
int Eigen::IterativeSolverBase< Derived >::m_iterations [mutable, protected]

Definition at line 230 of file IterativeSolverBase.h.

template<typename Derived>
int Eigen::IterativeSolverBase< Derived >::m_maxIterations [protected]

Definition at line 226 of file IterativeSolverBase.h.

template<typename Derived>
Preconditioner Eigen::IterativeSolverBase< Derived >::m_preconditioner [protected]

Definition at line 224 of file IterativeSolverBase.h.

template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::m_tolerance [protected]

Definition at line 227 of file IterativeSolverBase.h.

template<typename Derived>
const MatrixType* Eigen::IterativeSolverBase< Derived >::mp_matrix [protected]

Definition at line 223 of file IterativeSolverBase.h.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:46