A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library. More...
Public Types | |
enum | { UpLo } |
typedef PastixBase< PastixLDLT< MatrixType, UpLo_ > > | Base |
typedef Base::ColSpMatrix | ColSpMatrix |
typedef MatrixType_ | MatrixType |
Public Types inherited from Eigen::PastixBase< PastixLDLT< MatrixType_, UpLo_ > > | |
enum | |
typedef SparseMatrix< Scalar, ColMajor > | ColSpMatrix |
typedef MatrixType_ | MatrixType |
typedef internal::pastix_traits< PastixLDLT< MatrixType_, UpLo_ > >::MatrixType | MatrixType_ |
typedef MatrixType::RealScalar | RealScalar |
typedef MatrixType::Scalar | Scalar |
typedef MatrixType::StorageIndex | StorageIndex |
typedef Matrix< Scalar, Dynamic, 1 > | Vector |
Public Member Functions | |
void | analyzePattern (const MatrixType &matrix) |
void | compute (const MatrixType &matrix) |
void | factorize (const MatrixType &matrix) |
PastixLDLT () | |
PastixLDLT (const MatrixType &matrix) | |
Public Member Functions inherited from Eigen::PastixBase< PastixLDLT< MatrixType_, UpLo_ > > | |
bool | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const |
Index | cols () const |
Array< double, DPARM_SIZE, 1 > & | dparm () |
double & | dparm (int idxparam) |
ComputationInfo | info () const |
Reports whether previous computation was successful. More... | |
Array< StorageIndex, IPARM_SIZE, 1 > & | iparm () |
int & | iparm (int idxparam) |
PastixBase () | |
Index | rows () const |
~PastixBase () | |
Public Member Functions inherited from Eigen::SparseSolverBase< Derived > | |
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 |
SparseSolverBase () | |
SparseSolverBase (SparseSolverBase &&other) | |
~SparseSolverBase () | |
Protected Member Functions | |
void | grabMatrix (const MatrixType &matrix, ColSpMatrix &out) |
void | init () |
Protected Member Functions inherited from Eigen::PastixBase< PastixLDLT< MatrixType_, UpLo_ > > | |
void | analyzePattern (ColSpMatrix &mat) |
void | clean () |
void | compute (ColSpMatrix &mat) |
PastixLDLT< MatrixType_, UpLo_ > & | derived () |
const PastixLDLT< MatrixType_, UpLo_ > & | derived () const |
void | factorize (ColSpMatrix &mat) |
void | init () |
Protected Attributes | |
Array< int, IPARM_SIZE, 1 > | m_iparm |
Protected Attributes inherited from Eigen::PastixBase< PastixLDLT< MatrixType_, UpLo_ > > | |
int | m_analysisIsOk |
int | m_comm |
Array< double, DPARM_SIZE, 1 > | m_dparm |
int | m_factorizationIsOk |
ComputationInfo | m_info |
int | m_initisOk |
Matrix< StorageIndex, Dynamic, 1 > | m_invp |
Array< int, IPARM_SIZE, 1 > | m_iparm |
bool | m_isInitialized |
pastix_data_t * | m_pastixdata |
Matrix< StorageIndex, Dynamic, 1 > | m_perm |
int | m_size |
Protected Attributes inherited from Eigen::SparseSolverBase< Derived > | |
bool | m_isInitialized |
Additional Inherited Members | |
Protected Types inherited from Eigen::PastixBase< PastixLDLT< MatrixType_, UpLo_ > > | |
typedef SparseSolverBase< PastixLDLT< 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 LDL^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 |
This class follows the sparse solver concept .
Definition at line 610 of file PaStiXSupport.h.
typedef PastixBase<PastixLDLT<MatrixType, UpLo_> > Eigen::PastixLDLT< MatrixType_, UpLo_ >::Base |
Definition at line 614 of file PaStiXSupport.h.
typedef Base::ColSpMatrix Eigen::PastixLDLT< MatrixType_, UpLo_ >::ColSpMatrix |
Definition at line 615 of file PaStiXSupport.h.
typedef MatrixType_ Eigen::PastixLDLT< MatrixType_, UpLo_ >::MatrixType |
Definition at line 613 of file PaStiXSupport.h.
anonymous enum |
|
inline |
Definition at line 619 of file PaStiXSupport.h.
|
inlineexplicit |
Definition at line 624 of file PaStiXSupport.h.
|
inline |
Compute the LDL^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
Definition at line 644 of file PaStiXSupport.h.
|
inline |
Compute the L and D factors of the LDL^T factorization of matrix
Definition at line 633 of file PaStiXSupport.h.
|
inline |
Compute the LDL^T supernodal numerical factorization of matrix
Definition at line 653 of file PaStiXSupport.h.
|
inlineprotected |
Definition at line 669 of file PaStiXSupport.h.
|
inlineprotected |
Definition at line 663 of file PaStiXSupport.h.
|
mutableprotected |
Definition at line 249 of file PaStiXSupport.h.