Medial Code Documentation
|
A general Cholesky factorization and solver based on Cholmod. More...
#include <CholmodSupport.h>
Public Types | |
typedef _MatrixType | MatrixType |
![]() | |
enum | { UpLo = _UpLo } |
enum | { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
typedef _MatrixType | MatrixType |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType | CholMatrixType |
typedef MatrixType::StorageIndex | StorageIndex |
Public Member Functions | |
CholmodDecomposition (const MatrixType &matrix) | |
void | setMode (CholmodMode mode) |
![]() | |
CholmodBase (const MatrixType &matrix) | |
StorageIndex | cols () const |
StorageIndex | rows () const |
ComputationInfo | info () const |
Reports whether previous computation was successful. | |
Derived & | 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. | |
void | factorize (const MatrixType &matrix) |
Performs a numeric decomposition of matrix. | |
cholmod_common & | cholmod () |
Returns a reference to the Cholmod's configuration structure to get a full control over the performed operations. | |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const |
template<typename RhsScalar , int RhsOptions, typename RhsIndex , typename DestScalar , int DestOptions, typename DestIndex > | |
void | _solve_impl (const SparseMatrix< RhsScalar, RhsOptions, RhsIndex > &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const |
Derived & | setShift (const RealScalar &offset) |
Sets the shift parameter that will be used to adjust the diagonal coefficients during the numerical factorization. | |
template<typename Stream > | |
void | dumpMemory (Stream &) |
![]() | |
SparseSolverBase () | |
Default constructor. | |
Derived & | derived () |
const Derived & | derived () const |
template<typename Rhs > | |
const Solve< Derived, Rhs > | solve (const MatrixBase< Rhs > &b) const |
template<typename Rhs > | |
const Solve< Derived, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
Protected Member Functions | |
void | init () |
![]() | |
Derived & | derived () |
const Derived & | derived () const |
Additional Inherited Members | |
![]() | |
typedef SparseSolverBase< Derived > | Base |
![]() | |
cholmod_common | m_cholmod |
cholmod_factor * | m_cholmodFactor |
RealScalar | m_shiftOffset [2] |
ComputationInfo | m_info |
int | m_factorizationIsOk |
int | m_analysisIsOk |
bool | m_isInitialized |
![]() | |
bool | m_isInitialized |
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.
_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. |
\implsparsesolverconcept
This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.