Public Types | Public Member Functions | Protected Attributes | Private Types | List of all members
Eigen::DiagonalPreconditioner< _Scalar > Class Template Reference

A preconditioner based on the digonal entries. More...

#include <BasicPreconditioners.h>

Public Types

typedef Matrix< Scalar, Dynamic, DynamicMatrixType
 

Public Member Functions

template<typename Rhs , typename Dest >
void _solve (const Rhs &b, Dest &x) const
 
template<typename MatType >
DiagonalPreconditioneranalyzePattern (const MatType &)
 
Index cols () const
 
template<typename MatType >
DiagonalPreconditionercompute (const MatType &mat)
 
 DiagonalPreconditioner ()
 
template<typename MatType >
 DiagonalPreconditioner (const MatType &mat)
 
template<typename MatType >
DiagonalPreconditionerfactorize (const MatType &mat)
 
Index rows () const
 
template<typename Rhs >
const internal::solve_retval< DiagonalPreconditioner, Rhs > solve (const MatrixBase< Rhs > &b) const
 

Protected Attributes

Vector m_invdiag
 
bool m_isInitialized
 

Private Types

typedef Vector::Index Index
 
typedef _Scalar Scalar
 
typedef Matrix< Scalar, Dynamic, 1 > Vector
 

Detailed Description

template<typename _Scalar>
class Eigen::DiagonalPreconditioner< _Scalar >

A preconditioner based on the digonal entries.

This class allows to approximately solve for A.x = b problems assuming A is a diagonal matrix. In other words, this preconditioner neglects all off diagonal entries and, in Eigen's language, solves for:

A.diagonal().asDiagonal() . x = b
Template Parameters
_Scalarthe type of the scalar.

This preconditioner is suitable for both selfadjoint and general problems. The diagonal entries are pre-inverted and stored into a dense vector.

Note
A variant that has yet to be implemented would attempt to preserve the norm of each column.

Definition at line 33 of file BasicPreconditioners.h.

Member Typedef Documentation

◆ Index

template<typename _Scalar >
typedef Vector::Index Eigen::DiagonalPreconditioner< _Scalar >::Index
private

Definition at line 37 of file BasicPreconditioners.h.

◆ MatrixType

template<typename _Scalar >
typedef Matrix<Scalar,Dynamic,Dynamic> Eigen::DiagonalPreconditioner< _Scalar >::MatrixType

Definition at line 41 of file BasicPreconditioners.h.

◆ Scalar

template<typename _Scalar >
typedef _Scalar Eigen::DiagonalPreconditioner< _Scalar >::Scalar
private

Definition at line 35 of file BasicPreconditioners.h.

◆ Vector

template<typename _Scalar >
typedef Matrix<Scalar,Dynamic,1> Eigen::DiagonalPreconditioner< _Scalar >::Vector
private

Definition at line 36 of file BasicPreconditioners.h.

Constructor & Destructor Documentation

◆ DiagonalPreconditioner() [1/2]

template<typename _Scalar >
Eigen::DiagonalPreconditioner< _Scalar >::DiagonalPreconditioner ( )
inline

Definition at line 43 of file BasicPreconditioners.h.

◆ DiagonalPreconditioner() [2/2]

template<typename _Scalar >
template<typename MatType >
Eigen::DiagonalPreconditioner< _Scalar >::DiagonalPreconditioner ( const MatType &  mat)
inline

Definition at line 46 of file BasicPreconditioners.h.

Member Function Documentation

◆ _solve()

template<typename _Scalar >
template<typename Rhs , typename Dest >
void Eigen::DiagonalPreconditioner< _Scalar >::_solve ( const Rhs &  b,
Dest &  x 
) const
inline

Definition at line 84 of file BasicPreconditioners.h.

◆ analyzePattern()

template<typename _Scalar >
template<typename MatType >
DiagonalPreconditioner& Eigen::DiagonalPreconditioner< _Scalar >::analyzePattern ( const MatType &  )
inline

Definition at line 55 of file BasicPreconditioners.h.

◆ cols()

template<typename _Scalar >
Index Eigen::DiagonalPreconditioner< _Scalar >::cols ( void  ) const
inline

Definition at line 52 of file BasicPreconditioners.h.

◆ compute()

template<typename _Scalar >
template<typename MatType >
DiagonalPreconditioner& Eigen::DiagonalPreconditioner< _Scalar >::compute ( const MatType &  mat)
inline

Definition at line 78 of file BasicPreconditioners.h.

◆ factorize()

template<typename _Scalar >
template<typename MatType >
DiagonalPreconditioner& Eigen::DiagonalPreconditioner< _Scalar >::factorize ( const MatType &  mat)
inline

Definition at line 61 of file BasicPreconditioners.h.

◆ rows()

template<typename _Scalar >
Index Eigen::DiagonalPreconditioner< _Scalar >::rows ( void  ) const
inline

Definition at line 51 of file BasicPreconditioners.h.

◆ solve()

template<typename _Scalar >
template<typename Rhs >
const internal::solve_retval<DiagonalPreconditioner, Rhs> Eigen::DiagonalPreconditioner< _Scalar >::solve ( const MatrixBase< Rhs > &  b) const
inline

Definition at line 90 of file BasicPreconditioners.h.

Member Data Documentation

◆ m_invdiag

template<typename _Scalar >
Vector Eigen::DiagonalPreconditioner< _Scalar >::m_invdiag
protected

Definition at line 99 of file BasicPreconditioners.h.

◆ m_isInitialized

template<typename _Scalar >
bool Eigen::DiagonalPreconditioner< _Scalar >::m_isInitialized
protected

Definition at line 100 of file BasicPreconditioners.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:09