compbio
|
A simplicial direct Cholesky (LDLT) factorization and solver based on Cholmod. More...
#include <CholmodSupport.h>
Public Types | |
typedef _MatrixType | MatrixType |
![]() | |
enum | |
enum | |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType | CholMatrixType |
typedef MatrixType::StorageIndex | StorageIndex |
Public Member Functions | |
CholmodSimplicialLDLT (const MatrixType &matrix) | |
![]() | |
CholmodBase (const MatrixType &matrix) | |
StorageIndex | cols () const |
StorageIndex | rows () const |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
CholmodSimplicialLDLT< _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 |
CholmodSimplicialLDLT< _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 &) |
![]() | |
SparseSolverBase () | |
Default constructor. | |
CholmodSimplicialLDLT< _MatrixType, _UpLo > & | derived () |
const CholmodSimplicialLDLT< _MatrixType, _UpLo > & | derived () const |
const Solve< CholmodSimplicialLDLT< _MatrixType, _UpLo >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const Solve< CholmodSimplicialLDLT< _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 | |
![]() | |
typedef SparseSolverBase< CholmodSimplicialLDLT< _MatrixType, _UpLo > > | Base |
![]() | |
cholmod_common | m_cholmod |
cholmod_factor * | m_cholmodFactor |
double | m_shiftOffset [2] |
ComputationInfo | m_info |
int | m_factorizationIsOk |
int | m_analysisIsOk |
![]() | |
bool | m_isInitialized |
A simplicial direct Cholesky (LDLT) factorization and solver based on Cholmod.
This class allows to solve for A.X = B sparse linear problems via a simplicial LDL^T Cholesky factorization using the Cholmod library. This simplicial variant is equivalent to Eigen's built-in SimplicialLDLT class. Therefore, it has little practical interest. The sparse matrix A must be selfadjoint and positive definite. The vectors or matrices X and B can be either dense or sparse.
_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. |
This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.