NDDEM
|
A sparse direct supernodal Cholesky (LLT) factorization and solver based on the PaStiX library. More...
#include <PaStiXSupport.h>
Public Types | |
enum | { UpLo = _UpLo } |
typedef _MatrixType | MatrixType |
typedef PastixBase< PastixLDLT< MatrixType, _UpLo > > | Base |
typedef Base::ColSpMatrix | ColSpMatrix |
![]() | |
enum | |
typedef internal::pastix_traits< PastixLDLT< _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 | |
PastixLDLT () | |
PastixLDLT (const MatrixType &matrix) | |
void | compute (const MatrixType &matrix) |
void | analyzePattern (const MatrixType &matrix) |
void | factorize (const MatrixType &matrix) |
![]() | |
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... | |
![]() | |
SparseSolverBase () | |
~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) |
![]() | |
void | init () |
void | analyzePattern (ColSpMatrix &mat) |
void | factorize (ColSpMatrix &mat) |
void | clean () |
void | compute (ColSpMatrix &mat) |
PastixLDLT< _MatrixType, _UpLo > & | derived () |
const PastixLDLT< _MatrixType, _UpLo > & | derived () const |
Protected Attributes | |
Array< int, IPARM_SIZE, 1 > | m_iparm |
![]() | |
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 |
![]() | |
bool | m_isInitialized |
Additional Inherited Members | |
![]() | |
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 |
\implsparsesolverconcept
typedef PastixBase<PastixLDLT<MatrixType, _UpLo> > Eigen::PastixLDLT< _MatrixType, _UpLo >::Base |
typedef Base::ColSpMatrix Eigen::PastixLDLT< _MatrixType, _UpLo >::ColSpMatrix |
typedef _MatrixType Eigen::PastixLDLT< _MatrixType, _UpLo >::MatrixType |
|
inline |
|
inlineexplicit |
|
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
|
inline |
Compute the L and D factors of the LDL^T factorization of matrix
|
inline |
Compute the LDL^T supernodal numerical factorization of matrix
|
inlineprotected |
|
inlineprotected |
|
mutableprotected |