SparseLDLT< _MatrixType, Backend > Class Template Reference
[Sparse module]

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

List of all members.

Public Types

typedef SparseMatrix< Scalar > CholMatrixType
typedef MatrixType::Index Index
typedef _MatrixType MatrixType

Public Member Functions

bool _numeric (const MatrixType &matrix)
void _symbolic (const MatrixType &matrix)
Index cols () const
void compute (const MatrixType &matrix)
const VectorTypediag () const
int flags () const
const CholMatrixTypematrixL (void) const
RealScalar precision () const
Index rows () const
void setPrecision (RealScalar v)
void settags (int f)
template<typename Rhs >
const internal::solve_retval
< SparseLDLT< MatrixType >
, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Derived >
bool solveInPlace (MatrixBase< Derived > &b) const
 SparseLDLT (const MatrixType &matrix, int flags=0)
 SparseLDLT (int flags=0)
bool succeeded (void) const
VectorType vectorD (void) const

Protected Types

enum  {
  SupernodalFactorIsDirty,
  MatrixLIsDirty
}
typedef NumTraits< typename
_MatrixType::Scalar >::Real 
RealScalar
typedef _MatrixType::Scalar Scalar
typedef Matrix< Scalar,
_MatrixType::ColsAtCompileTime, 1 > 
VectorType

Protected Attributes

VectorType m_diag
int m_flags
CholMatrixType m_matrix
VectorXi m_nonZerosPerCol
PermutationMatrix< Dynamicm_P
VectorXi m_parent
PermutationMatrix< Dynamicm_Pinv
RealScalar m_precision
int m_status
bool m_succeeded

Detailed Description

template<typename _MatrixType, typename Backend = DefaultBackend>
class Eigen::SparseLDLT< _MatrixType, Backend >

LDLT Cholesky decomposition of a sparse matrix and associated features.

Parameters:
MatrixType the type of the matrix of which we are computing the LDLT Cholesky decomposition
Warning:
the upper triangular part has to be specified. The rest of the matrix is not used. The input matrix must be column major.
See also:
class LDLT, class LDLT

Constructor & Destructor Documentation

SparseLDLT ( int  flags = 0  )  [inline]

Creates a dummy LDLT factorization object with flags flags.

SparseLDLT ( const MatrixType &  matrix,
int  flags = 0 
) [inline]

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


Member Function Documentation

bool _numeric ( const MatrixType &  matrix  )  [inline]

Perform the actual factorization using the previously computed symbolic factorization

void _symbolic ( const MatrixType &  matrix  )  [inline]

Perform a symbolic factorization

void compute ( const MatrixType &  matrix  )  [inline]

Computes/re-computes the LDLT factorization

Computes / recomputes the LDLT 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 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 LDLT 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()
void settags ( 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()
bool solveInPlace ( MatrixBase< Derived > &  b  )  const [inline]

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

bool succeeded ( void   )  const [inline]
Returns:
true if the factorization succeeded
VectorType vectorD ( void   )  const [inline]
Returns:
the coefficients of the diagonal matrix D

The documentation for this class was generated from the following file:
Generated on Sun Jul 3 00:55:58 2011 for Eigen-unsupportedmodules by  doxygen 1.6.3