![]() |
|
A supernodal Cholesky (LLT) factorization and solver based on Cholmod. More...
#include <CholmodSupport.h>
Inheritance diagram for Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >:Public Types | |
| typedef MatrixType_ | MatrixType |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType::StorageIndex | StorageIndex |
Public Types inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > > | |
| enum | |
| enum | |
| typedef MatrixType_ | MatrixType |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType | CholMatrixType |
| typedef MatrixType::StorageIndex | StorageIndex |
Public Member Functions | |
| CholmodSupernodalLLT () | |
| CholmodSupernodalLLT (const MatrixType &matrix) | |
| ~CholmodSupernodalLLT () | |
| MatrixType | matrixL () const |
| MatrixType | matrixU () const |
Public Member Functions inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > > | |
| CholmodBase () | |
| CholmodBase (const MatrixType &matrix) | |
| ~CholmodBase () | |
| StorageIndex | cols () const |
| StorageIndex | rows () const |
| ComputationInfo | info () const |
| Reports whether previous computation was successful. More... | |
| CholmodSupernodalLLT< 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 |
| CholmodSupernodalLLT< MatrixType_, Lower > & | setShift (const RealScalar &offset) |
| Scalar | determinant () const |
| Scalar | logDeterminant () const |
| void | dumpMemory (Stream &) |
Public Member Functions inherited from Eigen::SparseSolverBase< Derived > | |
| SparseSolverBase () | |
| SparseSolverBase (SparseSolverBase &&other) | |
| ~SparseSolverBase () | |
| 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 () |
Protected Member Functions inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > > | |
| CholmodSupernodalLLT< MatrixType_, Lower > & | derived () |
| const CholmodSupernodalLLT< MatrixType_, Lower > & | derived () const |
Private Types | |
| typedef CholmodBase< MatrixType_, UpLo_, CholmodSupernodalLLT > | Base |
Private Attributes | |
| cholmod_common | m_cholmod |
Additional Inherited Members | |
Protected Types inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > > | |
| typedef SparseSolverBase< CholmodSupernodalLLT< MatrixType_, Lower > > | Base |
Protected Attributes inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > > | |
| cholmod_common | m_cholmod |
| cholmod_factor * | m_cholmodFactor |
| double | m_shiftOffset [2] |
| ComputationInfo | m_info |
| int | m_factorizationIsOk |
| int | m_analysisIsOk |
| bool | m_isInitialized |
Protected Attributes inherited from Eigen::SparseSolverBase< Derived > | |
| bool | m_isInitialized |
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.
| 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.
|
private |
| typedef MatrixType_ Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::MatrixType |
| typedef MatrixType::RealScalar Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::RealScalar |
| typedef MatrixType::Scalar Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::Scalar |
| typedef MatrixType::StorageIndex Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::StorageIndex |
|
inline |
References Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::init().
|
inline |
References Eigen::CholmodBase< MatrixType_, Lower, CholmodSupernodalLLT< MatrixType_, Lower > >::compute(), and Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::init().
|
inline |
|
inlineprotected |
|
inline |
References L, Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::m_cholmod, and Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor.
Referenced by Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::matrixU().
|
inline |
References Eigen::CholmodSupernodalLLT< MatrixType_, UpLo_ >::matrixL().
|
mutableprivate |