![]() |
|
A simplicial direct Cholesky (LDLT) factorization and solver based on Cholmod. More...
#include <CholmodSupport.h>
Inheritance diagram for Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >:Public Types | |
| typedef MatrixType_ | MatrixType |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType::StorageIndex | StorageIndex |
| typedef Matrix< Scalar, Dynamic, 1 > | VectorType |
| typedef TriangularView< const MatrixType, Eigen::UnitLower > | MatrixL |
| typedef TriangularView< const typename MatrixType::AdjointReturnType, Eigen::UnitUpper > | MatrixU |
Public Types inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSimplicialLDLT< 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 | |
| CholmodSimplicialLDLT () | |
| CholmodSimplicialLDLT (const MatrixType &matrix) | |
| ~CholmodSimplicialLDLT () | |
| VectorType | vectorD () const |
| MatrixL | matrixL () const |
| MatrixU | matrixU () const |
Public Member Functions inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSimplicialLDLT< MatrixType_, Lower > > | |
| CholmodBase () | |
| CholmodBase (const MatrixType &matrix) | |
| ~CholmodBase () | |
| StorageIndex | cols () const |
| StorageIndex | rows () const |
| ComputationInfo | info () const |
| Reports whether previous computation was successful. More... | |
| CholmodSimplicialLDLT< 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 |
| CholmodSimplicialLDLT< 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, CholmodSimplicialLDLT< MatrixType_, Lower > > | |
| CholmodSimplicialLDLT< MatrixType_, Lower > & | derived () |
| const CholmodSimplicialLDLT< MatrixType_, Lower > & | derived () const |
Private Types | |
| typedef CholmodBase< MatrixType_, UpLo_, CholmodSimplicialLDLT > | Base |
Private Attributes | |
| cholmod_common | m_cholmod |
Additional Inherited Members | |
Protected Types inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSimplicialLDLT< MatrixType_, Lower > > | |
| typedef SparseSolverBase< CholmodSimplicialLDLT< MatrixType_, Lower > > | Base |
Protected Attributes inherited from Eigen::CholmodBase< MatrixType_, Lower, CholmodSimplicialLDLT< 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 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. |
\implsparsesolverconcept
This class supports all kind of SparseMatrix<>: row or column major; upper, lower, or both; compressed or non compressed.
|
private |
| typedef TriangularView<const MatrixType, Eigen::UnitLower> Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::MatrixL |
| typedef MatrixType_ Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::MatrixType |
| typedef TriangularView<const typename MatrixType::AdjointReturnType, Eigen::UnitUpper> Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::MatrixU |
| typedef MatrixType::RealScalar Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::RealScalar |
| typedef MatrixType::Scalar Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::Scalar |
| typedef MatrixType::StorageIndex Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::StorageIndex |
| typedef Matrix<Scalar, Dynamic, 1> Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::VectorType |
|
inline |
References Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::init().
|
inline |
References Eigen::CholmodBase< MatrixType_, Lower, CholmodSimplicialLDLT< MatrixType_, Lower > >::compute(), and Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::init().
|
inline |
|
inlineprotected |
|
inline |
References Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor.
Referenced by Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::matrixU().
|
inline |
References Eigen::TriangularView< MatrixType_, Mode_ >::adjoint(), and Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::matrixL().
|
inline |
References D, k, and Eigen::CholmodBase< MatrixType_, UpLo_, Derived >::m_cholmodFactor.
|
mutableprivate |
Referenced by Eigen::CholmodSimplicialLDLT< MatrixType_, UpLo_ >::init().