Public Types | Public Member Functions | Protected Member Functions | Private Types | List of all members
Eigen::CholmodDecomposition< _MatrixType, _UpLo > Class Template Reference

A general Cholesky factorization and solver based on Cholmod. More...

#include <CholmodSupport.h>

Inheritance diagram for Eigen::CholmodDecomposition< _MatrixType, _UpLo >:
Inheritance graph
[legend]

Public Types

typedef _MatrixType MatrixType
 
- Public Types inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodDecomposition< _MatrixType, _UpLo > >
enum  
 
enum  
 
typedef MatrixType CholMatrixType
 
typedef _MatrixType MatrixType
 
typedef MatrixType::RealScalar RealScalar
 
typedef MatrixType::Scalar Scalar
 
typedef MatrixType::StorageIndex StorageIndex
 

Public Member Functions

 CholmodDecomposition ()
 
 CholmodDecomposition (const MatrixType &matrix)
 
void setMode (CholmodMode mode)
 
 ~CholmodDecomposition ()
 
- Public Member Functions inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodDecomposition< _MatrixType, _UpLo > >
void _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
 
void _solve_impl (const SparseMatrixBase< RhsDerived > &b, SparseMatrixBase< DestDerived > &dest) const
 
void analyzePattern (const MatrixType &matrix)
 
cholmod_common & cholmod ()
 
 CholmodBase ()
 
 CholmodBase (const MatrixType &matrix)
 
StorageIndex cols () const
 
CholmodDecomposition< _MatrixType, _UpLo > & compute (const MatrixType &matrix)
 
Scalar determinant () const
 
void dumpMemory (Stream &)
 
void factorize (const MatrixType &matrix)
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
Scalar logDeterminant () const
 
StorageIndex rows () const
 
CholmodDecomposition< _MatrixType, _UpLo > & setShift (const RealScalar &offset)
 
 ~CholmodBase ()
 
- Public Member Functions inherited from Eigen::SparseSolverBase< CholmodDecomposition< _MatrixType, _UpLo > >
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
CholmodDecomposition< _MatrixType, _UpLo > & derived ()
 
const CholmodDecomposition< _MatrixType, _UpLo > & derived () const
 
const Solve< CholmodDecomposition< _MatrixType, _UpLo >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const Solve< CholmodDecomposition< _MatrixType, _UpLo >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
 SparseSolverBase ()
 
 ~SparseSolverBase ()
 

Protected Member Functions

void init ()
 

Private Types

typedef CholmodBase< _MatrixType, _UpLo, CholmodDecompositionBase
 

Additional Inherited Members

- Protected Types inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodDecomposition< _MatrixType, _UpLo > >
typedef SparseSolverBase< CholmodDecomposition< _MatrixType, _UpLo > > Base
 
- Protected Attributes inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodDecomposition< _MatrixType, _UpLo > >
int m_analysisIsOk
 
cholmod_common m_cholmod
 
cholmod_factor * m_cholmodFactor
 
int m_factorizationIsOk
 
ComputationInfo m_info
 
double m_shiftOffset [2]
 
- Protected Attributes inherited from Eigen::SparseSolverBase< CholmodDecomposition< _MatrixType, _UpLo > >
bool m_isInitialized
 

Detailed Description

template<typename _MatrixType, int _UpLo = Lower>
class Eigen::CholmodDecomposition< _MatrixType, _UpLo >

A general Cholesky factorization and solver based on Cholmod.

This class allows to solve for A.X = B sparse linear problems via a LL^T or LDL^T Cholesky factorization using the Cholmod library. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

This variant permits to change the underlying Cholesky method at runtime. On the other hand, it does not provide access to the result of the factorization. The default is to let Cholmod automatically choose between a simplicial and supernodal factorization.

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.

This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.

Warning
Only double precision real and complex scalar types are supported by Cholmod.
See also
Sparse solver concept

Definition at line 628 of file CholmodSupport.h.

Member Typedef Documentation

◆ Base

template<typename _MatrixType, int _UpLo = Lower>
typedef CholmodBase<_MatrixType, _UpLo, CholmodDecomposition> Eigen::CholmodDecomposition< _MatrixType, _UpLo >::Base
private

Definition at line 630 of file CholmodSupport.h.

◆ MatrixType

template<typename _MatrixType, int _UpLo = Lower>
typedef _MatrixType Eigen::CholmodDecomposition< _MatrixType, _UpLo >::MatrixType

Definition at line 635 of file CholmodSupport.h.

Constructor & Destructor Documentation

◆ CholmodDecomposition() [1/2]

template<typename _MatrixType, int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::CholmodDecomposition ( )
inline

Definition at line 637 of file CholmodSupport.h.

◆ CholmodDecomposition() [2/2]

template<typename _MatrixType, int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::CholmodDecomposition ( const MatrixType matrix)
inline

Definition at line 639 of file CholmodSupport.h.

◆ ~CholmodDecomposition()

template<typename _MatrixType, int _UpLo = Lower>
Eigen::CholmodDecomposition< _MatrixType, _UpLo >::~CholmodDecomposition ( )
inline

Definition at line 645 of file CholmodSupport.h.

Member Function Documentation

◆ init()

template<typename _MatrixType, int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::init ( )
inlineprotected

Definition at line 673 of file CholmodSupport.h.

◆ setMode()

template<typename _MatrixType, int _UpLo = Lower>
void Eigen::CholmodDecomposition< _MatrixType, _UpLo >::setMode ( CholmodMode  mode)
inline

Definition at line 647 of file CholmodSupport.h.


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


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:41:26