Public Types | Public Member Functions | List of all members
Eigen::SimplicialLDLT Class Reference

A direct sparse LDLT Cholesky factorizations without square root. More...

#include <SimplicialCholesky.h>

Public Types

enum  { UpLo = _UpLo }
 
typedef SimplicialCholeskyBase< SimplicialLDLTBase
 
typedef SparseMatrix< Scalar, ColMajor, StorageIndexCholMatrixType
 
typedef Traits::MatrixL MatrixL
 
typedef _MatrixType MatrixType
 
typedef Traits::MatrixU MatrixU
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::StorageIndex StorageIndex
 
typedef internal::traits< SimplicialLDLTTraits
 
typedef Matrix< Scalar, Dynamic, 1 > VectorType
 

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
 

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<>

\implsparsesolverconcept

See also
class SimplicialLLT, class AMDOrdering, class NaturalOrdering

Definition at line 275 of file SimplicialCholesky.h.

Member Typedef Documentation

◆ Base

Definition at line 434 of file SimplicialCholesky.h.

◆ CholMatrixType

Definition at line 438 of file SimplicialCholesky.h.

◆ MatrixL

typedef Traits::MatrixL Eigen::SimplicialLDLT::MatrixL

Definition at line 441 of file SimplicialCholesky.h.

◆ MatrixType

typedef _MatrixType Eigen::SimplicialLDLT::MatrixType

Definition at line 432 of file SimplicialCholesky.h.

◆ MatrixU

typedef Traits::MatrixU Eigen::SimplicialLDLT::MatrixU

Definition at line 442 of file SimplicialCholesky.h.

◆ RealScalar

typedef MatrixType::RealScalar Eigen::SimplicialLDLT::RealScalar

Definition at line 436 of file SimplicialCholesky.h.

◆ Scalar

typedef MatrixType::Scalar Eigen::SimplicialLDLT::Scalar

Definition at line 435 of file SimplicialCholesky.h.

◆ StorageIndex

typedef MatrixType::StorageIndex Eigen::SimplicialLDLT::StorageIndex

Definition at line 437 of file SimplicialCholesky.h.

◆ Traits

Definition at line 440 of file SimplicialCholesky.h.

◆ VectorType

Definition at line 439 of file SimplicialCholesky.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
UpLo 

Definition at line 433 of file SimplicialCholesky.h.

Constructor & Destructor Documentation

◆ SimplicialLDLT() [1/2]

Eigen::SimplicialLDLT::SimplicialLDLT ( )
inline

Default constructor

Definition at line 445 of file SimplicialCholesky.h.

◆ SimplicialLDLT() [2/2]

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

Constructs and performs the LLT factorization of matrix

Definition at line 448 of file SimplicialCholesky.h.

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()

Definition at line 481 of file SimplicialCholesky.h.

◆ compute()

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

Computes the sparse Cholesky decomposition of matrix

Definition at line 469 of file SimplicialCholesky.h.

◆ determinant()

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

Definition at line 498 of file SimplicialCholesky.h.

◆ 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()

Definition at line 492 of file SimplicialCholesky.h.

◆ matrixL()

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

Definition at line 457 of file SimplicialCholesky.h.

◆ matrixU()

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

Definition at line 463 of file SimplicialCholesky.h.

◆ vectorD()

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

Definition at line 452 of file SimplicialCholesky.h.


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


gtsam
Author(s):
autogenerated on Wed May 15 2024 15:29:10