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

◆ Index

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

Definition at line 27 of file IterativeSolverBase.h.

◆ MatrixType

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

Definition at line 24 of file IterativeSolverBase.h.

◆ Preconditioner

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

Definition at line 25 of file IterativeSolverBase.h.

◆ RealScalar

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

Definition at line 28 of file IterativeSolverBase.h.

◆ Scalar

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

Definition at line 26 of file IterativeSolverBase.h.

Constructor & Destructor Documentation

◆ IterativeSolverBase() [1/2]

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

Default constructor.

Definition at line 36 of file IterativeSolverBase.h.

◆ IterativeSolverBase() [2/2]

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.

◆ ~IterativeSolverBase()

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

Definition at line 58 of file IterativeSolverBase.h.

Member Function Documentation

◆ _solve_sparse()

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.

◆ analyzePattern()

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.

◆ cols()

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

Definition at line 117 of file IterativeSolverBase.h.

◆ compute()

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.

◆ derived() [1/2]

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

Definition at line 32 of file IterativeSolverBase.h.

◆ derived() [2/2]

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

Definition at line 33 of file IterativeSolverBase.h.

◆ error()

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.

◆ factorize()

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.

◆ info()

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.

◆ init()

template<typename Derived>
void Eigen::IterativeSolverBase< Derived >::init ( )
inlineprotected

Definition at line 215 of file IterativeSolverBase.h.

◆ iterations()

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.

◆ maxIterations()

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

Definition at line 136 of file IterativeSolverBase.h.

◆ preconditioner() [1/2]

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.

◆ preconditioner() [2/2]

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.

◆ rows()

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

Definition at line 115 of file IterativeSolverBase.h.

◆ setMaxIterations()

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.

◆ setTolerance()

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.

◆ solve() [1/2]

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.

◆ solve() [2/2]

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.

◆ tolerance()

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

◆ m_analysisIsOk

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

Definition at line 232 of file IterativeSolverBase.h.

◆ m_error

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

Definition at line 229 of file IterativeSolverBase.h.

◆ m_factorizationIsOk

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

Definition at line 232 of file IterativeSolverBase.h.

◆ m_info

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

Definition at line 231 of file IterativeSolverBase.h.

◆ m_isInitialized

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

Definition at line 232 of file IterativeSolverBase.h.

◆ m_iterations

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

Definition at line 230 of file IterativeSolverBase.h.

◆ m_maxIterations

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

Definition at line 226 of file IterativeSolverBase.h.

◆ m_preconditioner

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

Definition at line 224 of file IterativeSolverBase.h.

◆ m_tolerance

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

Definition at line 227 of file IterativeSolverBase.h.

◆ mp_matrix

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:


tuw_aruco
Author(s): Lukas Pfeifhofer
autogenerated on Mon Feb 28 2022 23:58:11