![]() |
|
A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library. More...
#include <PaStiXSupport.h>
Inheritance diagram for Eigen::PastixLLT< MatrixType_, UpLo_ >:Public Types | |
| enum | { UpLo = UpLo_ } |
| typedef MatrixType_ | MatrixType |
| typedef PastixBase< PastixLLT< MatrixType, UpLo_ > > | Base |
| typedef Base::ColSpMatrix | ColSpMatrix |
Public Types inherited from Eigen::PastixBase< PastixLLT< MatrixType_, UpLo_ > > | |
| enum | |
| typedef internal::pastix_traits< PastixLLT< MatrixType_, UpLo_ > >::MatrixType | MatrixType_ |
| typedef MatrixType_ | MatrixType |
| typedef MatrixType::Scalar | Scalar |
| typedef MatrixType::RealScalar | RealScalar |
| typedef MatrixType::StorageIndex | StorageIndex |
| typedef Matrix< Scalar, Dynamic, 1 > | Vector |
| typedef SparseMatrix< Scalar, ColMajor > | ColSpMatrix |
Public Member Functions | |
| PastixLLT () | |
| PastixLLT (const MatrixType &matrix) | |
| void | compute (const MatrixType &matrix) |
| void | analyzePattern (const MatrixType &matrix) |
| void | factorize (const MatrixType &matrix) |
Public Member Functions inherited from Eigen::PastixBase< PastixLLT< MatrixType_, UpLo_ > > | |
| PastixBase () | |
| ~PastixBase () | |
| bool | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const |
| void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
| Array< StorageIndex, IPARM_SIZE, 1 > & | iparm () |
| int & | iparm (int idxparam) |
| Array< double, DPARM_SIZE, 1 > & | dparm () |
| double & | dparm (int idxparam) |
| Index | cols () const |
| Index | rows () const |
| ComputationInfo | info () const |
| Reports whether previous computation was successful. More... | |
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 () |
| void | grabMatrix (const MatrixType &matrix, ColSpMatrix &out) |
Protected Member Functions inherited from Eigen::PastixBase< PastixLLT< MatrixType_, UpLo_ > > | |
| void | init () |
| void | analyzePattern (ColSpMatrix &mat) |
| void | factorize (ColSpMatrix &mat) |
| void | clean () |
| void | compute (ColSpMatrix &mat) |
| PastixLLT< MatrixType_, UpLo_ > & | derived () |
| const PastixLLT< MatrixType_, UpLo_ > & | derived () const |
Protected Attributes | |
| Array< int, IPARM_SIZE, 1 > | m_iparm |
Protected Attributes inherited from Eigen::PastixBase< PastixLLT< MatrixType_, UpLo_ > > | |
| int | m_initisOk |
| int | m_analysisIsOk |
| int | m_factorizationIsOk |
| ComputationInfo | m_info |
| pastix_data_t * | m_pastixdata |
| int | m_comm |
| Array< int, IPARM_SIZE, 1 > | m_iparm |
| Array< double, DPARM_SIZE, 1 > | m_dparm |
| Matrix< StorageIndex, Dynamic, 1 > | m_perm |
| Matrix< StorageIndex, Dynamic, 1 > | m_invp |
| int | m_size |
| bool | m_isInitialized |
Protected Attributes inherited from Eigen::SparseSolverBase< Derived > | |
| bool | m_isInitialized |
Additional Inherited Members | |
Protected Types inherited from Eigen::PastixBase< PastixLLT< MatrixType_, UpLo_ > > | |
| typedef SparseSolverBase< PastixLLT< MatrixType_, UpLo_ > > | Base |
A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library.
This class is used to solve the linear systems A.X = B via a LL^T supernodal Cholesky factorization available in the PaStiX library. The matrix A should be symmetric and positive definite WARNING Selfadjoint complex matrices are not supported in the current version of PaStiX 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 part of the matrix to use : Lower or Upper. The default is Lower as required by PaStiX |
\implsparsesolverconcept
| typedef PastixBase<PastixLLT<MatrixType, UpLo_> > Eigen::PastixLLT< MatrixType_, UpLo_ >::Base |
| typedef Base::ColSpMatrix Eigen::PastixLLT< MatrixType_, UpLo_ >::ColSpMatrix |
| typedef MatrixType_ Eigen::PastixLLT< MatrixType_, UpLo_ >::MatrixType |
|
inline |
References Eigen::PastixLLT< MatrixType_, UpLo_ >::init().
|
inlineexplicit |
References Eigen::PastixLLT< MatrixType_, UpLo_ >::compute(), Eigen::PastixLLT< MatrixType_, UpLo_ >::init(), and matrix().
|
inline |
Compute the LL^T symbolic factorization of matrix using its sparsity pattern The result of this operation can be used with successive matrices having the same pattern as matrix
References Eigen::PastixBase< Derived >::analyzePattern(), Eigen::PastixLLT< MatrixType_, UpLo_ >::grabMatrix(), and matrix().
|
inline |
Compute the L factor of the LL^T supernodal factorization of matrix
References Eigen::PastixBase< Derived >::compute(), Eigen::PastixLLT< MatrixType_, UpLo_ >::grabMatrix(), and matrix().
Referenced by Eigen::PastixLLT< MatrixType_, UpLo_ >::PastixLLT().
|
inline |
Compute the LL^T supernodal numerical factorization of matrix
References Eigen::PastixBase< Derived >::factorize(), Eigen::PastixLLT< MatrixType_, UpLo_ >::grabMatrix(), and matrix().
|
inlineprotected |
References Eigen::internal::c_to_fortran_numbering(), matrix(), and out().
Referenced by Eigen::PastixLLT< MatrixType_, UpLo_ >::analyzePattern(), Eigen::PastixLLT< MatrixType_, UpLo_ >::compute(), and Eigen::PastixLLT< MatrixType_, UpLo_ >::factorize().
|
inlineprotected |
References Eigen::PastixLLT< MatrixType_, UpLo_ >::m_iparm.
Referenced by Eigen::PastixLLT< MatrixType_, UpLo_ >::PastixLLT().
|
mutableprotected |
Referenced by Eigen::PastixLLT< MatrixType_, UpLo_ >::init().