Eigen  3.3.4
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering > Class Template Reference

Detailed Description

template<typename _MatrixType, int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
class Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >

A direct sparse LDLT Cholesky factorizations without square root.

This class provides a LDL^T Cholesky factorizations without square root of sparse matrices that are selfadjoint and positive definite. The factorization allows for solving A.X = B where X and B can be either dense or sparse.

In order to reduce the fill-in, a symmetric permutation P is applied prior to the factorization such that the factorized matrix is P A P^-1.

Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
_UpLothe triangular part that will be used for the computations. It can be Lower or Upper. Default is Lower.
_OrderingThe ordering method to use, either AMDOrdering<> or NaturalOrdering<>. Default is AMDOrdering<>

This class follows the sparse solver concept .

See Also
class SimplicialLLT, class AMDOrdering, class NaturalOrdering
+ Inheritance diagram for Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >:

Public Member Functions

void analyzePattern (const MatrixType &a)
 
SimplicialLDLTcompute (const MatrixType &matrix)
 
Scalar determinant () const
 
void factorize (const MatrixType &a)
 
const MatrixL matrixL () const
 
const MatrixU matrixU () const
 
 SimplicialLDLT ()
 
 SimplicialLDLT (const MatrixType &matrix)
 
const VectorType vectorD () const
 
- Public Member Functions inherited from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
const PermutationMatrix
< Dynamic, Dynamic,
StorageIndex > & 
permutationP () const
 
const PermutationMatrix
< Dynamic, Dynamic,
StorageIndex > & 
permutationPinv () const
 
SimplicialLDLT< _MatrixType,
_UpLo, _Ordering > & 
setShift (const RealScalar &offset, const RealScalar &scale=1)
 
 SimplicialCholeskyBase ()
 
- Public Member Functions inherited from Eigen::SparseSolverBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >
const Solve< SimplicialLDLT
< _MatrixType, _UpLo,
_Ordering >, Rhs > 
solve (const MatrixBase< Rhs > &b) const
 
const Solve< SimplicialLDLT
< _MatrixType, _UpLo,
_Ordering >, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
 
 SparseSolverBase ()
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::SimplicialCholeskyBase< SimplicialLDLT< _MatrixType, _UpLo, _Ordering > >
void compute (const MatrixType &matrix)
 

Constructor & Destructor Documentation

template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::SimplicialLDLT ( )
inline

Default constructor

template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::SimplicialLDLT ( const MatrixType &  matrix)
inlineexplicit

Constructs and performs the LLT factorization of matrix

Member Function Documentation

template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
void Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::analyzePattern ( const MatrixType &  a)
inline

Performs a symbolic decomposition on the sparcity of matrix.

This function is particularly useful when solving for several problems having the same structure.

See Also
factorize()
template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
SimplicialLDLT& Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::compute ( const MatrixType &  matrix)
inline

Computes the sparse Cholesky decomposition of matrix

template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
Scalar Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::determinant ( ) const
inline
Returns
the determinant of the underlying matrix from the current factorization
template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
void Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::factorize ( const MatrixType &  a)
inline

Performs a numeric decomposition of matrix

The given matrix must has the same sparcity than the matrix on which the symbolic decomposition has been performed.

See Also
analyzePattern()
template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
const MatrixL Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::matrixL ( ) const
inline
Returns
an expression of the factor L
template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
const MatrixU Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::matrixU ( ) const
inline
Returns
an expression of the factor U (= L^*)
template<typename _MatrixType , int _UpLo = Lower, typename _Ordering = AMDOrdering<typename _MatrixType::StorageIndex>>
const VectorType Eigen::SimplicialLDLT< _MatrixType, _UpLo, _Ordering >::vectorD ( ) const
inline
Returns
a vector expression of the diagonal D

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