Public Types | Public Member Functions | Protected Types | Protected Attributes
SparseLDLT< _MatrixType, Backend > Class Template Reference

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

#include <SparseLDLTLegacy.h>

List of all members.

Public Types

typedef SparseMatrix< ScalarCholMatrixType
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 (int flags=0)
 SparseLDLT (const MatrixType &matrix, int flags=0)
bool succeeded (void) const
VectorType vectorD (void) const

Protected Types

enum  { SupernodalFactorIsDirty = 0x10000, MatrixLIsDirty = 0x20000 }
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 SparseLDLT< _MatrixType, Backend >

LDLT Cholesky decomposition of a sparse matrix and associated features.

Parameters:
MatrixTypethe 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

Definition at line 79 of file SparseLDLTLegacy.h.


Member Typedef Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef SparseMatrix<Scalar> SparseLDLT< _MatrixType, Backend >::CholMatrixType

Definition at line 93 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef MatrixType::Index SparseLDLT< _MatrixType, Backend >::Index

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 95 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType SparseLDLT< _MatrixType, Backend >::MatrixType

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 94 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef NumTraits<typename _MatrixType::Scalar>::Real SparseLDLT< _MatrixType, Backend >::RealScalar [protected]

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 83 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef _MatrixType::Scalar SparseLDLT< _MatrixType, Backend >::Scalar [protected]

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 82 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
typedef Matrix<Scalar,_MatrixType::ColsAtCompileTime,1> SparseLDLT< _MatrixType, Backend >::VectorType [protected]

Definition at line 85 of file SparseLDLTLegacy.h.


Member Enumeration Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
anonymous enum [protected]
Enumerator:
SupernodalFactorIsDirty 
MatrixLIsDirty 

Definition at line 87 of file SparseLDLTLegacy.h.


Constructor & Destructor Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
SparseLDLT< _MatrixType, Backend >::SparseLDLT ( int  flags = 0) [inline]

Creates a dummy LDLT factorization object with flags flags.

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 99 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
SparseLDLT< _MatrixType, Backend >::SparseLDLT ( const MatrixType matrix,
int  flags = 0 
) [inline]

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

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 108 of file SparseLDLTLegacy.h.


Member Function Documentation

template<typename _MatrixType , typename Backend >
bool SparseLDLT< _MatrixType, Backend >::_numeric ( const MatrixType matrix)

Perform the actual factorization using the previously computed symbolic factorization

Definition at line 305 of file SparseLDLTLegacy.h.

template<typename _MatrixType , typename Backend >
void SparseLDLT< _MatrixType, Backend >::_symbolic ( const MatrixType matrix)

Perform a symbolic factorization

Definition at line 241 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
Index SparseLDLT< _MatrixType, Backend >::cols ( void  ) const [inline]

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 176 of file SparseLDLTLegacy.h.

template<typename _MatrixType , typename Backend >
void SparseLDLT< _MatrixType, Backend >::compute ( const MatrixType matrix)

Computes/re-computes the LDLT factorization

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

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 234 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
const VectorType& SparseLDLT< _MatrixType, Backend >::diag ( ) const [inline]

Definition at line 179 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLDLT< _MatrixType, Backend >::flags ( ) const [inline]
Returns:
the current flags

Definition at line 148 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
const CholMatrixType& SparseLDLT< _MatrixType, Backend >::matrixL ( void  ) const [inline]
Returns:
the lower triangular matrix L

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 160 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
RealScalar SparseLDLT< _MatrixType, Backend >::precision ( ) const [inline]
Returns:
the current precision.
See also:
setPrecision()

Definition at line 134 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
Index SparseLDLT< _MatrixType, Backend >::rows ( void  ) const [inline]

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 177 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
void SparseLDLT< _MatrixType, Backend >::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()

Definition at line 129 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
void SparseLDLT< _MatrixType, Backend >::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()

Definition at line 146 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
template<typename Rhs >
const internal::solve_retval<SparseLDLT<MatrixType>, Rhs> SparseLDLT< _MatrixType, Backend >::solve ( const MatrixBase< Rhs > &  b) const [inline]

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 170 of file SparseLDLTLegacy.h.

template<typename _MatrixType , typename Backend >
template<typename Derived >
bool SparseLDLT< _MatrixType, Backend >::solveInPlace ( MatrixBase< Derived > &  b) const

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

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 392 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool SparseLDLT< _MatrixType, Backend >::succeeded ( void  ) const [inline]
Returns:
true if the factorization succeeded

Reimplemented in SparseLDLT< _MatrixType, Cholmod >.

Definition at line 182 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
VectorType SparseLDLT< _MatrixType, Backend >::vectorD ( void  ) const [inline]
Returns:
the coefficients of the diagonal matrix D

Definition at line 163 of file SparseLDLTLegacy.h.


Member Data Documentation

template<typename _MatrixType, typename Backend = DefaultBackend>
VectorType SparseLDLT< _MatrixType, Backend >::m_diag [protected]

Definition at line 186 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLDLT< _MatrixType, Backend >::m_flags [protected]

Definition at line 193 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
CholMatrixType SparseLDLT< _MatrixType, Backend >::m_matrix [protected]

Definition at line 185 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
VectorXi SparseLDLT< _MatrixType, Backend >::m_nonZerosPerCol [protected]

Definition at line 188 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
PermutationMatrix<Dynamic> SparseLDLT< _MatrixType, Backend >::m_P [protected]

Definition at line 190 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
VectorXi SparseLDLT< _MatrixType, Backend >::m_parent [protected]

Definition at line 187 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
PermutationMatrix<Dynamic> SparseLDLT< _MatrixType, Backend >::m_Pinv [protected]

Definition at line 191 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
RealScalar SparseLDLT< _MatrixType, Backend >::m_precision [protected]

Definition at line 192 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
int SparseLDLT< _MatrixType, Backend >::m_status [mutable, protected]

Definition at line 194 of file SparseLDLTLegacy.h.

template<typename _MatrixType, typename Backend = DefaultBackend>
bool SparseLDLT< _MatrixType, Backend >::m_succeeded [protected]

Definition at line 195 of file SparseLDLTLegacy.h.


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


re_vision
Author(s): Dorian Galvez-Lopez
autogenerated on Sun Jan 5 2014 11:34:25