WPILibC++ 2023.4.3
Eigen::LeastSquareDiagonalPreconditioner< _Scalar > Class Template Reference

Jacobi preconditioner for LeastSquaresConjugateGradient. More...

#include </home/runner/work/allwpilib/allwpilib/wpimath/src/main/native/thirdparty/eigen/include/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h>

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

Public Member Functions

 LeastSquareDiagonalPreconditioner ()
 
template<typename MatType >
 LeastSquareDiagonalPreconditioner (const MatType &mat)
 
template<typename MatType >
LeastSquareDiagonalPreconditioneranalyzePattern (const MatType &)
 
template<typename MatType >
LeastSquareDiagonalPreconditionerfactorize (const MatType &mat)
 
template<typename MatType >
LeastSquareDiagonalPreconditionercompute (const MatType &mat)
 
ComputationInfo info ()
 
- Public Member Functions inherited from Eigen::DiagonalPreconditioner< _Scalar >
 DiagonalPreconditioner ()
 
template<typename MatType >
 DiagonalPreconditioner (const MatType &mat)
 
EIGEN_CONSTEXPR Index rows () const EIGEN_NOEXCEPT
 
EIGEN_CONSTEXPR Index cols () const EIGEN_NOEXCEPT
 
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 ()
 

Additional Inherited Members

- Public Types inherited from Eigen::DiagonalPreconditioner< _Scalar >
enum  { ColsAtCompileTime = Dynamic , MaxColsAtCompileTime = Dynamic }
 
typedef Vector::StorageIndex StorageIndex
 
- Protected Attributes inherited from Eigen::DiagonalPreconditioner< _Scalar >
Vector m_invdiag
 
bool m_isInitialized
 

Detailed Description

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

Jacobi preconditioner for LeastSquaresConjugateGradient.

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

(A.adjoint() * A).diagonal().asDiagonal() * x = b
b
Definition: data.h:44
Template Parameters
_Scalarthe type of the scalar.

\implsparsesolverconcept

The diagonal entries are pre-inverted and stored into a dense vector.

See also
class LeastSquaresConjugateGradient, class DiagonalPreconditioner

Constructor & Destructor Documentation

◆ LeastSquareDiagonalPreconditioner() [1/2]

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

◆ LeastSquareDiagonalPreconditioner() [2/2]

template<typename _Scalar >
template<typename MatType >
Eigen::LeastSquareDiagonalPreconditioner< _Scalar >::LeastSquareDiagonalPreconditioner ( const MatType &  mat)
inlineexplicit

Member Function Documentation

◆ analyzePattern()

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

◆ compute()

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

◆ factorize()

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

◆ info()

template<typename _Scalar >
ComputationInfo Eigen::LeastSquareDiagonalPreconditioner< _Scalar >::info ( )
inline

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