Eigen  5.0.1
 
Loading...
Searching...
No Matches
Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ > Class Template Reference

#include <Eigen/src/SparseCholesky/SimplicialCholesky.h>

Detailed Description

template<typename MatrixType_, int UpLo_, typename Ordering_>
class Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >

A direct sparse LLT Cholesky factorizations.

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.

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 follows the sparse solver concept .

See also
class SimplicialLDLT, class AMDOrdering, class NaturalOrdering
+ Inheritance diagram for Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >:

Public Member Functions

RealScalar absDeterminant () const
 
void analyzePattern (const MatrixType &a)
 
SimplicialLLT & compute (const MatrixType &matrix)
 
Scalar determinant () const
 
void factorize (const MatrixType &a)
 
RealScalar logAbsDeterminant () const
 
const MatrixL matrixL () const
 
const MatrixU matrixU () const
 
Scalar signDeterminant () const
 
 SimplicialLLT ()
 
 SimplicialLLT (const MatrixType &matrix)
 
- Public Member Functions inherited from Eigen::SimplicialCholeskyBase< SimplicialLLT< MatrixType_, UpLo_, Ordering_ > >
ComputationInfo info () const
 Reports whether previous computation was successful.
 
const PermutationMatrix< Dynamic, Dynamic, StorageIndex > & permutationP () const
 
const PermutationMatrix< Dynamic, Dynamic, StorageIndex > & permutationPinv () const
 
SimplicialLLT< MatrixType_, UpLo_, Ordering_ > & setShift (const DiagonalScalar &offset, const DiagonalScalar &scale=1)
 
 SimplicialCholeskyBase ()
 
- Public Member Functions inherited from Eigen::SparseSolverBase< SimplicialLLT< MatrixType_, UpLo_, Ordering_ > >
Solve< SimplicialLLT< MatrixType_, UpLo_, Ordering_ >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
Solve< SimplicialLLT< MatrixType_, UpLo_, Ordering_ >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
 SparseSolverBase ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from Eigen::SimplicialCholeskyBase< SimplicialLLT< MatrixType_, UpLo_, Ordering_ > >
void compute (const MatrixType &matrix)
 

Constructor & Destructor Documentation

◆ SimplicialLLT() [1/2]

template<typename MatrixType_, int UpLo_, typename Ordering_>
Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::SimplicialLLT ( )
inline

Default constructor

◆ SimplicialLLT() [2/2]

template<typename MatrixType_, int UpLo_, typename Ordering_>
Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::SimplicialLLT ( const MatrixType & matrix)
inlineexplicit

Constructs and performs the LLT factorization of matrix

Member Function Documentation

◆ absDeterminant()

template<typename MatrixType_, int UpLo_, typename Ordering_>
RealScalar Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::absDeterminant ( ) const
inline
Returns
the absolute value of the determinant of the underlying matrix from the current factorization

◆ analyzePattern()

template<typename MatrixType_, int UpLo_, typename Ordering_>
void Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::analyzePattern ( const MatrixType & a)
inline

Performs a symbolic decomposition on the sparsity of matrix.

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

See also
factorize()

◆ compute()

template<typename MatrixType_, int UpLo_, typename Ordering_>
SimplicialLLT & Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::compute ( const MatrixType & matrix)
inline

Computes the sparse Cholesky decomposition of matrix

◆ determinant()

template<typename MatrixType_, int UpLo_, typename Ordering_>
Scalar Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::determinant ( ) const
inline
Returns
the determinant of the underlying matrix from the current factorization

◆ factorize()

template<typename MatrixType_, int UpLo_, typename Ordering_>
void Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::factorize ( const MatrixType & a)
inline

Performs a numeric decomposition of matrix

The given matrix must have the same sparsity as the matrix on which the symbolic decomposition has been performed.

See also
analyzePattern()

◆ logAbsDeterminant()

template<typename MatrixType_, int UpLo_, typename Ordering_>
RealScalar Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::logAbsDeterminant ( ) const
inline
Returns
the natural log of the absolute value of the determinant of the underlying matrix from the current factorization.

Unlike determinant(), this stays finite for the large factorizations where a determinant overflows or underflows.

◆ matrixL()

template<typename MatrixType_, int UpLo_, typename Ordering_>
const MatrixL Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::matrixL ( ) const
inline
Returns
an expression of the factor L

◆ matrixU()

template<typename MatrixType_, int UpLo_, typename Ordering_>
const MatrixU Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::matrixU ( ) const
inline
Returns
an expression of the factor U (= L^*)

◆ signDeterminant()

template<typename MatrixType_, int UpLo_, typename Ordering_>
Scalar Eigen::SimplicialLLT< MatrixType_, UpLo_, Ordering_ >::signDeterminant ( ) const
inline
Returns
the sign of the determinant of the underlying matrix, which is 1 since that matrix is positive definite.

This method is provided for compatibility with the other decompositions, thus enabling generic code.


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