compbio
Public Types | Public Member Functions | Protected Member Functions | 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 >:
Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _MatrixType, _UpLo > > Eigen::SparseSolverBase< CholmodSupernodalLLT< _MatrixType, _UpLo > > Eigen::internal::noncopyable

Public Types

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

Public Member Functions

 CholmodSupernodalLLT (const MatrixType &matrix)
 
- Public Member Functions inherited from Eigen::CholmodBase< _MatrixType, _UpLo, CholmodSupernodalLLT< _MatrixType, _UpLo > >
 CholmodBase (const MatrixType &matrix)
 
StorageIndex cols () const
 
StorageIndex rows () const
 
ComputationInfo info () const
 Reports whether previous computation was successful. More...
 
CholmodSupernodalLLT< _MatrixType, _UpLo > & compute (const MatrixType &matrix)
 Computes the sparse Cholesky decomposition of matrix.
 
void analyzePattern (const MatrixType &matrix)
 Performs a symbolic decomposition on the sparsity pattern of matrix. More...
 
void factorize (const MatrixType &matrix)
 Performs a numeric decomposition of matrix. More...
 
cholmod_common & cholmod ()
 Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations. More...
 
void _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const
 
void _solve_impl (const SparseMatrixBase< RhsDerived > &b, SparseMatrixBase< DestDerived > &dest) const
 
CholmodSupernodalLLT< _MatrixType, _UpLo > & setShift (const RealScalar &offset)
 Sets the shift parameter that will be used to adjust the diagonal coefficients during the numerical factorization. More...
 
Scalar determinant () const
 
Scalar logDeterminant () const
 
void dumpMemory (Stream &)
 
- Public Member Functions inherited from Eigen::SparseSolverBase< CholmodSupernodalLLT< _MatrixType, _UpLo > >
 SparseSolverBase ()
 Default constructor.
 
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
 
void _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const
 

Protected Member Functions

void init ()
 

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 > >
cholmod_common m_cholmod
 
cholmod_factor * m_cholmodFactor
 
double m_shiftOffset [2]
 
ComputationInfo m_info
 
int m_factorizationIsOk
 
int m_analysisIsOk
 
- 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
Sparse solver concept

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