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

A supernodal Cholesky (LLT) factorization and solver based on Cholmod. More...

#include <CholmodSupport.h>

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

Public Types

typedef _MatrixType MatrixType
 
- Public Types inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _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

 CholmodSupernodalLLT ()
 
 CholmodSupernodalLLT (const MatrixType &matrix)
 
 ~CholmodSupernodalLLT ()
 
- Public Member Functions inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _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
 
CholmodSupernodalLLT< _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
 
CholmodSupernodalLLT< _MatrixType, _UpLo > & setShift (const RealScalar &offset)
 
 ~CholmodBase ()
 
- Public Member Functions inherited from Eigen::SparseSolverBase< CholmodSupernodalLLT< _MatrixType, _UpLo > >
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 
CholmodSupernodalLLT< _MatrixType, _UpLo > & derived ()
 
const CholmodSupernodalLLT< _MatrixType, _UpLo > & derived () const
 
const Solve< CholmodSupernodalLLT< _MatrixType, _UpLo >, Rhs > solve (const MatrixBase< Rhs > &b) const
 
const Solve< CholmodSupernodalLLT< _MatrixType, _UpLo >, Rhs > solve (const SparseMatrixBase< Rhs > &b) const
 
 SparseSolverBase ()
 
 ~SparseSolverBase ()
 

Protected Member Functions

void init ()
 

Private Types

typedef CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLTBase
 

Additional Inherited Members

- Protected Types inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _MatrixType, _UpLo > >
typedef SparseSolverBase< CholmodSupernodalLLT< _MatrixType, _UpLo > > Base
 
- Protected Attributes inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _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< CholmodSupernodalLLT< _MatrixType, _UpLo > >
bool m_isInitialized
 

Detailed Description

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

A supernodal Cholesky (LLT) factorization and solver based on Cholmod.

This class allows to solve for A.X = B sparse linear problems via a supernodal LL^T Cholesky factorization using the Cholmod library. This supernodal variant performs best on dense enough problems, e.g., 3D FEM, or very high order 2D FEM. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices X and B can be either dense or sparse.

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
TutorialSparseSolverConcept

Definition at line 534 of file CholmodSupport.h.

Member Typedef Documentation

◆ Base

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

Definition at line 536 of file CholmodSupport.h.

◆ MatrixType

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

Definition at line 541 of file CholmodSupport.h.

Constructor & Destructor Documentation

◆ CholmodSupernodalLLT() [1/2]

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

Definition at line 543 of file CholmodSupport.h.

◆ CholmodSupernodalLLT() [2/2]

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

Definition at line 545 of file CholmodSupport.h.

◆ ~CholmodSupernodalLLT()

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

Definition at line 551 of file CholmodSupport.h.

Member Function Documentation

◆ init()

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

Definition at line 553 of file CholmodSupport.h.


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


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:09