Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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]

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
 

Additional Inherited Members

- Private Member Functions inherited from Eigen::internal::noncopyable
 noncopyable ()
 
 ~noncopyable ()
 

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

Definition at line 27 of file IterativeSolverBase.h.

template<typename Derived>
typedef internal::traits<Derived>::MatrixType Eigen::IterativeSolverBase< Derived >::MatrixType

Definition at line 24 of file IterativeSolverBase.h.

template<typename Derived>
typedef internal::traits<Derived>::Preconditioner Eigen::IterativeSolverBase< Derived >::Preconditioner

Definition at line 25 of file IterativeSolverBase.h.

template<typename Derived>
typedef MatrixType::RealScalar Eigen::IterativeSolverBase< Derived >::RealScalar

Definition at line 28 of file IterativeSolverBase.h.

template<typename Derived>
typedef MatrixType::Scalar Eigen::IterativeSolverBase< Derived >::Scalar

Definition at line 26 of file IterativeSolverBase.h.

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

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
mutableprotected

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
RealScalar Eigen::IterativeSolverBase< Derived >::m_error
mutableprotected

Definition at line 229 of file IterativeSolverBase.h.

template<typename Derived>
bool Eigen::IterativeSolverBase< Derived >::m_factorizationIsOk
mutableprotected

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
ComputationInfo Eigen::IterativeSolverBase< Derived >::m_info
mutableprotected

Definition at line 231 of file IterativeSolverBase.h.

template<typename Derived>
bool Eigen::IterativeSolverBase< Derived >::m_isInitialized
mutableprotected

Definition at line 232 of file IterativeSolverBase.h.

template<typename Derived>
int Eigen::IterativeSolverBase< Derived >::m_iterations
mutableprotected

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 Mon Jun 10 2019 12:35:35