template<typename _MatrixType, int _UpLo, typename _Ordering>
Eigen::SimplicialLLT class

A direct sparse LLT Cholesky factorizations.

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

This class provides a LL^T Cholesky factorizations 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.

This class follows the sparse solver concept.

Base classes

template<typename Derived>
class SimplicialCholeskyBase
A base class for direct sparse Cholesky factorizations.

Constructors, destructors, conversion operators

SimplicialLLT()
SimplicialLLT(const MatrixType& matrix) explicit

Public functions

void analyzePattern(const MatrixType& a)
auto compute(const MatrixType& matrix) -> SimplicialLLT&
auto determinant() const -> Scalar
void factorize(const MatrixType& a)
auto matrixL() const -> const MatrixL
auto matrixU() const -> const MatrixU

Function documentation

template<typename _MatrixType, int _UpLo, typename _Ordering>
Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::SimplicialLLT()

Default constructor

template<typename _MatrixType, int _UpLo, typename _Ordering>
Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::SimplicialLLT(const MatrixType& matrix) explicit

Constructs and performs the LLT factorization of matrix

template<typename _MatrixType, int _UpLo, typename _Ordering>
void Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::analyzePattern(const MatrixType& a)

Performs a symbolic decomposition on the sparcity of matrix.

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

template<typename _MatrixType, int _UpLo, typename _Ordering>
SimplicialLLT& Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::compute(const MatrixType& matrix)

Computes the sparse Cholesky decomposition of matrix

template<typename _MatrixType, int _UpLo, typename _Ordering>
Scalar Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::determinant() const

Returns the determinant of the underlying matrix from the current factorization

template<typename _MatrixType, int _UpLo, typename _Ordering>
void Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::factorize(const MatrixType& a)

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.

template<typename _MatrixType, int _UpLo, typename _Ordering>
const MatrixL Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::matrixL() const

Returns an expression of the factor L

template<typename _MatrixType, int _UpLo, typename _Ordering>
const MatrixU Eigen::SimplicialLLT<_MatrixType, _UpLo, _Ordering>::matrixU() const

Returns an expression of the factor U (= L^*)