Please, help us to better know about our user community by answering the following short survey: https://forms.gle/wpyrxWi18ox9Z5ae9
Eigen  3.3.8
Eigen::SimplicialLDLT Class Reference

Detailed Description

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

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
 

Constructor & Destructor Documentation

◆ SimplicialLDLT() [1/2]

Eigen::SimplicialLDLT::SimplicialLDLT ( )
inline

Default constructor

◆ SimplicialLDLT() [2/2]

Eigen::SimplicialLDLT::SimplicialLDLT ( const MatrixType &  matrix)
inlineexplicit

Constructs and performs the LLT factorization of matrix

Member Function Documentation

◆ analyzePattern()

void Eigen::SimplicialLDLT::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()

◆ compute()

SimplicialLDLT& Eigen::SimplicialLDLT::compute ( const MatrixType &  matrix)
inline

Computes the sparse Cholesky decomposition of matrix

◆ determinant()

Scalar Eigen::SimplicialLDLT::determinant ( ) const
inline
Returns
the determinant of the underlying matrix from the current factorization

◆ factorize()

void Eigen::SimplicialLDLT::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()

◆ matrixL()

const MatrixL Eigen::SimplicialLDLT::matrixL ( ) const
inline
Returns
an expression of the factor L

◆ matrixU()

const MatrixU Eigen::SimplicialLDLT::matrixU ( ) const
inline
Returns
an expression of the factor U (= L^*)

◆ vectorD()

const VectorType Eigen::SimplicialLDLT::vectorD ( ) const
inline
Returns
a vector expression of the diagonal D

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