Public Member Functions | Protected Types | Protected Attributes | List of all members
SparseLLT< MatrixType, Backend > Class Template Reference

LLT Cholesky decomposition of a sparse matrix and associated features. More...

Public Member Functions

void compute (const MatrixType &matrix)
 
int flags () const
 
const CholMatrixTypematrixL (void) const
 
RealScalar precision () const
 
void setFlags (int f)
 
void setPrecision (RealScalar v)
 
template<typename Derived >
bool solveInPlace (MatrixBase< Derived > &b) const
 
 SparseLLT (int flags=0)
 
 SparseLLT (const MatrixType &matrix, int flags=0)
 
bool succeeded (void) const
 

Protected Types

enum  {
  SupernodalFactorIsDirty,
  MatrixLIsDirty
}
 
typedef SparseMatrix< Scalar,
LowerTriangular > 
CholMatrixType
 
typedef NumTraits< typename
MatrixType::Scalar >::Real 
RealScalar
 
typedef MatrixType::Scalar Scalar
 

Protected Attributes

int m_flags
 
CholMatrixType m_matrix
 
RealScalar m_precision
 
int m_status
 
bool m_succeeded
 

Detailed Description

template<typename MatrixType, int Backend = DefaultBackend>
class Eigen::SparseLLT< MatrixType, Backend >

LLT Cholesky decomposition of a sparse matrix and associated features.

Parameters
MatrixTypethe type of the matrix of which we are computing the LLT Cholesky decomposition
See also
class LLT, class LDLT

Constructor & Destructor Documentation

SparseLLT ( int  flags = 0)
inline

Creates a dummy LLT factorization object with flags flags.

SparseLLT ( const MatrixType &  matrix,
int  flags = 0 
)
inline

Creates a LLT object and compute the respective factorization of matrix using flags flags.

Member Function Documentation

void compute ( const MatrixType &  a)

Computes/re-computes the LLT factorization

Computes / recomputes the LLT decomposition of matrix a using the default algorithm.

int flags ( ) const
inline
Returns
the current flags
const CholMatrixType& matrixL ( void  ) const
inline
Returns
the lower triangular matrix L
RealScalar precision ( ) const
inline
Returns
the current precision.
See also
setPrecision()
void setFlags ( int  f)
inline

Sets the flags. Possible values are:

  • CompleteFactorization
  • IncompleteFactorization
  • MemoryEfficient (hint to use the memory most efficient method offered by the backend)
  • SupernodalMultifrontal (implies a complete factorization if supported by the backend, overloads the MemoryEfficient flags)
  • SupernodalLeftLooking (implies a complete factorization if supported by the backend, overloads the MemoryEfficient flags)
See also
flags()
void setPrecision ( RealScalar  v)
inline

Sets the relative threshold value used to prune zero coefficients during the decomposition.

Setting a value greater than zero speeds up computation, and yields to an imcomplete factorization with fewer non zero coefficients. Such approximate factors are especially useful to initialize an iterative solver.

Warning
if precision is greater that zero, the LLT factorization is not guaranteed to succeed even if the matrix is positive definite.

Note that the exact meaning of this parameter might depends on the actual backend. Moreover, not all backends support this feature.

See also
precision()
bool solveInPlace ( MatrixBase< Derived > &  b) const

Computes b = L^-T L^-1 b

bool succeeded ( void  ) const
inline
Returns
true if the factorization succeeded

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