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

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

#include <BasicPreconditioners.h>

Inheritance diagram for Eigen::DiagonalPreconditioner< _Scalar >:
Eigen::LeastSquareDiagonalPreconditioner< _Scalar >

Public Types

enum  { ColsAtCompileTime = Dynamic, MaxColsAtCompileTime = Dynamic }
 
typedef Vector::StorageIndex StorageIndex
 

Public Member Functions

template<typename MatType >
 DiagonalPreconditioner (const MatType &mat)
 
Index rows () const
 
Index cols () const
 
template<typename MatType >
DiagonalPreconditioneranalyzePattern (const MatType &)
 
template<typename MatType >
DiagonalPreconditionerfactorize (const MatType &mat)
 
template<typename MatType >
DiagonalPreconditionercompute (const MatType &mat)
 
template<typename Rhs , typename Dest >
void _solve_impl (const Rhs &b, Dest &x) const
 
template<typename Rhs >
const Solve< DiagonalPreconditioner, Rhs > solve (const MatrixBase< Rhs > &b) const
 
ComputationInfo info ()
 

Protected Attributes

Vector m_invdiag
 
bool m_isInitialized
 

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.
See also
class LeastSquareDiagonalPreconditioner, class ConjugateGradient

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