Interface to the PaStix solver. More...
Public Types | |
typedef PastixBase< PastixLU< MatrixType > > | Base |
typedef Base::ColSpMatrix | ColSpMatrix |
typedef MatrixType_ | MatrixType |
typedef MatrixType::StorageIndex | StorageIndex |
Public Types inherited from Eigen::PastixBase< PastixLU< MatrixType_ > > | |
enum | |
typedef SparseMatrix< Scalar, ColMajor > | ColSpMatrix |
typedef MatrixType_ | MatrixType |
typedef internal::pastix_traits< PastixLU< MatrixType_ > >::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) |
PastixLU () | |
PastixLU (const MatrixType &matrix) | |
Public Member Functions inherited from Eigen::PastixBase< PastixLU< MatrixType_ > > | |
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< PastixLU< MatrixType_ > > | |
void | analyzePattern (ColSpMatrix &mat) |
void | clean () |
void | compute (ColSpMatrix &mat) |
PastixLU< MatrixType_ > & | derived () |
const PastixLU< MatrixType_ > & | derived () const |
void | factorize (ColSpMatrix &mat) |
void | init () |
Protected Attributes | |
Array< double, DPARM_SIZE, 1 > | m_dparm |
Array< int, IPARM_SIZE, 1 > | m_iparm |
bool | m_structureIsUptodate |
ColSpMatrix | m_transposedStructure |
Protected Attributes inherited from Eigen::PastixBase< PastixLU< MatrixType_ > > | |
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< PastixLU< MatrixType_ > > | |
typedef SparseSolverBase< PastixLU< MatrixType_ > > | Base |
Interface to the PaStix solver.
Sparse direct LU solver based on PaStiX library.
This class is used to solve the linear systems A.X = B via the PaStix library. The matrix can be either real or complex, symmetric or not.
This class is used to solve the linear systems A.X = B with a supernodal LU factorization in the PaStiX library. The matrix A should be squared and nonsingular PaStiX requires that the matrix A has a symmetric structural pattern. This interface can symmetrize the input matrix otherwise. 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<> |
IsStrSym | Indicates if the input matrix has a symmetric pattern, default is false NOTE : Note that if the analysis and factorization phase are called separately, the input matrix will be symmetrized at each call, hence it is advised to symmetrize the matrix in a end-user program and set IsStrSym to true |
This class follows the sparse solver concept .
Definition at line 414 of file PaStiXSupport.h.
typedef PastixBase<PastixLU<MatrixType> > Eigen::PastixLU< MatrixType_, IsStrSym >::Base |
Definition at line 418 of file PaStiXSupport.h.
typedef Base::ColSpMatrix Eigen::PastixLU< MatrixType_, IsStrSym >::ColSpMatrix |
Definition at line 419 of file PaStiXSupport.h.
typedef MatrixType_ Eigen::PastixLU< MatrixType_, IsStrSym >::MatrixType |
Definition at line 417 of file PaStiXSupport.h.
typedef MatrixType::StorageIndex Eigen::PastixLU< MatrixType_, IsStrSym >::StorageIndex |
Definition at line 420 of file PaStiXSupport.h.
|
inline |
Definition at line 423 of file PaStiXSupport.h.
|
inlineexplicit |
Definition at line 428 of file PaStiXSupport.h.
|
inline |
Compute the LU symbolic factorization of matrix
using its sparsity pattern. Several ordering methods can be used at this step. See the PaStiX user's manual. The result of this operation can be used with successive matrices having the same pattern as matrix
Definition at line 450 of file PaStiXSupport.h.
|
inline |
Compute the LU supernodal factorization of matrix
. iparm and dparm can be used to tune the PaStiX parameters. see the PaStiX user's manual
Definition at line 438 of file PaStiXSupport.h.
|
inline |
Compute the LU supernodal factorization of matrix
WARNING The matrix matrix
should have the same structural pattern as the same used in the analysis phase.
Definition at line 463 of file PaStiXSupport.h.
|
inlineprotected |
Definition at line 478 of file PaStiXSupport.h.
|
inlineprotected |
Definition at line 471 of file PaStiXSupport.h.
|
mutableprotected |
Definition at line 250 of file PaStiXSupport.h.
|
mutableprotected |
Definition at line 249 of file PaStiXSupport.h.
|
protected |
Definition at line 506 of file PaStiXSupport.h.
|
protected |
Definition at line 505 of file PaStiXSupport.h.