10 #ifndef EIGEN_BASIC_PRECONDITIONERS_H    11 #define EIGEN_BASIC_PRECONDITIONERS_H    35 template <
typename _Scalar>
    49     template<
typename MatType>
    58     template<
typename MatType>
    64     template<
typename MatType>
    68       for(
int j=0; j<mat.outerSize(); ++j)
    70         typename MatType::InnerIterator it(mat,j);
    71         while(it && it.index()!=j) ++it;
    72         if(it && it.index()==j && it.value()!=
Scalar(0))
    81     template<
typename MatType>
    88     template<
typename Rhs, 
typename Dest>
    99                 && 
"DiagonalPreconditioner::solve(): invalid number of rows of the right hand side matrix b");
   127 template <
typename _Scalar>
   133     using Base::m_invdiag;
   138     template<
typename MatType>
   144     template<
typename MatType>
   150     template<
typename MatType>
   155       for(
Index j=0; j<mat.outerSize(); ++j)
   157         RealScalar sum = mat.innerVector(j).squaredNorm();
   163       Base::m_isInitialized = 
true;
   167     template<
typename MatType>
   191     template<
typename MatrixType>
   194     template<
typename MatrixType>
   197     template<
typename MatrixType>
   200     template<
typename MatrixType>
   203     template<
typename Rhs>
   204     inline const Rhs& 
solve(
const Rhs& b)
 const { 
return b; }
   211 #endif // EIGEN_BASIC_PRECONDITIONERS_H A preconditioner based on the digonal entries. 
LeastSquareDiagonalPreconditioner()
LeastSquareDiagonalPreconditioner(const MatType &mat)
LeastSquareDiagonalPreconditioner & compute(const MatType &mat)
NumTraits< Scalar >::Real RealScalar
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
IdentityPreconditioner & analyzePattern(const MatrixType &)
LeastSquareDiagonalPreconditioner & factorize(const MatType &mat)
DiagonalPreconditioner< _Scalar > Base
Jacobi preconditioner for LeastSquaresConjugateGradient. 
DiagonalPreconditioner & factorize(const MatType &mat)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void resize(Index rows, Index cols)
DiagonalPreconditioner & compute(const MatType &mat)
const Solve< DiagonalPreconditioner, Rhs > solve(const MatrixBase< Rhs > &b) const
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API. 
LeastSquareDiagonalPreconditioner & analyzePattern(const MatType &)
DiagonalPreconditioner & analyzePattern(const MatType &)
void _solve_impl(const Rhs &b, Dest &x) const
const Rhs & solve(const Rhs &b) const
IdentityPreconditioner & compute(const MatrixType &)
Matrix< Scalar, Dynamic, 1 > Vector
DiagonalPreconditioner(const MatType &mat)
A naive preconditioner which approximates any matrix as the identity matrix. 
Vector::StorageIndex StorageIndex
Pseudo expression representing a solving operation. 
IdentityPreconditioner & factorize(const MatrixType &)
Base class for all dense matrices, vectors, and expressions. 
IdentityPreconditioner(const MatrixType &)