Path Tracer
|
A general Cholesky 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 | |
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. More... | |
CholmodDecomposition< _MatrixType, Lower > & | compute (const MatrixType &matrix) |
void | analyzePattern (const MatrixType &matrix) |
void | factorize (const MatrixType &matrix) |
cholmod_common & | cholmod () |
void | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &dest) const |
void | _solve_impl (const SparseMatrixBase< RhsDerived > &b, SparseMatrixBase< DestDerived > &dest) const |
CholmodDecomposition< _MatrixType, Lower > & | setShift (const RealScalar &offset) |
Scalar | determinant () const |
Scalar | logDeterminant () const |
void | dumpMemory (Stream &) |
![]() | |
SparseSolverBase () | |
CholmodDecomposition< _MatrixType, Lower > & | derived () |
const CholmodDecomposition< _MatrixType, Lower > & | derived () const |
const Solve< CholmodDecomposition< _MatrixType, Lower >, Rhs > | solve (const MatrixBase< Rhs > &b) const |
const Solve< CholmodDecomposition< _MatrixType, Lower >, Rhs > | solve (const SparseMatrixBase< Rhs > &b) const |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
Protected Member Functions | |
void | init () |
![]() | |
CholmodDecomposition< _MatrixType, Lower > & | derived () |
const CholmodDecomposition< _MatrixType, Lower > & | derived () const |
Additional Inherited Members | |
![]() | |
typedef SparseSolverBase< CholmodDecomposition< _MatrixType, Lower > > | 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 |
![]() | |
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.