![]() |
|
#include <PaStiXSupport.h>
Public Types | |
enum | { ColsAtCompileTime = MatrixType::ColsAtCompileTime , MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime } |
typedef internal::pastix_traits< Derived >::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 | |
PastixBase () | |
~PastixBase () | |
template<typename Rhs , typename Dest > | |
bool | _solve_impl (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) 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... | |
template<typename Rhs , typename Dest > | |
void | _solve_impl (const SparseMatrixBase< Rhs > &b, SparseMatrixBase< Dest > &dest) const |
![]() | |
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 Types | |
typedef SparseSolverBase< Derived > | Base |
Protected Member Functions | |
void | init () |
void | analyzePattern (ColSpMatrix &mat) |
void | factorize (ColSpMatrix &mat) |
void | clean () |
void | compute (ColSpMatrix &mat) |
Derived & | derived () |
const Derived & | derived () const |
Protected Attributes | |
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 |
|
protected |
typedef SparseMatrix<Scalar, ColMajor> Eigen::PastixBase< Derived >::ColSpMatrix |
typedef MatrixType_ Eigen::PastixBase< Derived >::MatrixType |
typedef internal::pastix_traits<Derived>::MatrixType Eigen::PastixBase< Derived >::MatrixType_ |
typedef MatrixType::RealScalar Eigen::PastixBase< Derived >::RealScalar |
typedef MatrixType::Scalar Eigen::PastixBase< Derived >::Scalar |
typedef MatrixType::StorageIndex Eigen::PastixBase< Derived >::StorageIndex |
typedef Matrix<Scalar, Dynamic, 1> Eigen::PastixBase< Derived >::Vector |
anonymous enum |
Enumerator | |
---|---|
ColsAtCompileTime | |
MaxColsAtCompileTime |
|
inline |
References Eigen::PastixBase< Derived >::init().
|
inline |
References Eigen::PastixBase< Derived >::clean().
bool Eigen::PastixBase< Base >::_solve_impl | ( | const MatrixBase< Rhs > & | b, |
MatrixBase< Dest > & | x | ||
) | const |
References b, eigen_assert, Eigen::internal::eigen_pastix(), EIGEN_STATIC_ASSERT, i, Eigen::NumericalIssue, Eigen::RowMajorBit, Eigen::Success, and plotDoE::x.
|
inline |
default implementation of solving with a sparse rhs
|
protected |
References eigen_assert, Eigen::internal::eigen_pastix(), Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::innerIndexPtr(), Eigen::NumericalIssue, Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::outerIndexPtr(), Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::rows(), Eigen::Success, and Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::valuePtr().
Referenced by Eigen::PastixLU< MatrixType_, IsStrSym >::analyzePattern(), Eigen::PastixLLT< MatrixType_, UpLo_ >::analyzePattern(), and Eigen::PastixLDLT< MatrixType_, UpLo_ >::analyzePattern().
|
inlineprotected |
References Eigen::PlainObjectBase< Derived >::data(), eigen_assert, Eigen::internal::eigen_pastix(), Eigen::PastixBase< Derived >::m_dparm, Eigen::PastixBase< Derived >::m_initisOk, Eigen::PastixBase< Derived >::m_invp, Eigen::PastixBase< Derived >::m_iparm, Eigen::PastixBase< Derived >::m_pastixdata, and Eigen::PastixBase< Derived >::m_perm.
Referenced by Eigen::PastixBase< Derived >::~PastixBase().
|
inline |
References Eigen::PastixBase< Derived >::m_size.
Referenced by gdb.printers._MatrixEntryIterator::__next__(), gdb.printers.EigenMatrixPrinter::children(), gdb.printers.EigenSparseMatrixPrinter::children(), gdb.printers.EigenMatrixPrinter::to_string(), and gdb.printers.EigenSparseMatrixPrinter::to_string().
|
protected |
References Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::cols(), eigen_assert, and Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::rows().
Referenced by Eigen::PastixLU< MatrixType_, IsStrSym >::compute(), Eigen::PastixLLT< MatrixType_, UpLo_ >::compute(), and Eigen::PastixLDLT< MatrixType_, UpLo_ >::compute().
|
inlineprotected |
|
inlineprotected |
|
inline |
Returns a reference to the double vector DPARM of PaStiX parameters The statistics related to the different phases of factorization and solve are saved here as well
References Eigen::PastixBase< Derived >::m_dparm.
Referenced by test_pastix_T().
|
inline |
Return a reference to a particular index parameter of the DPARM vector
References Eigen::PastixBase< Derived >::m_dparm.
|
protected |
References eigen_assert, Eigen::internal::eigen_pastix(), Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::innerIndexPtr(), Eigen::NumericalIssue, Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::outerIndexPtr(), Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::rows(), Eigen::Success, and Eigen::SparseMatrix< Scalar_, Options_, StorageIndex_ >::valuePtr().
Referenced by Eigen::PastixLU< MatrixType_, IsStrSym >::factorize(), Eigen::PastixLLT< MatrixType_, UpLo_ >::factorize(), and Eigen::PastixLDLT< MatrixType_, UpLo_ >::factorize().
|
inline |
Reports whether previous computation was successful.
Success
if computation was successful, NumericalIssue
if the PaStiX reports a problem InvalidInput
if the input matrix is invalidReferences eigen_assert, Eigen::PastixBase< Derived >::m_info, and Eigen::PastixBase< Derived >::m_isInitialized.
|
protected |
Initialize the PaStiX data structure. A first call to this function fills iparm and dparm with the default PaStiX parameters
References Eigen::internal::eigen_pastix(), Eigen::InvalidInput, and Eigen::Success.
Referenced by Eigen::PastixBase< Derived >::PastixBase().
|
inline |
Returns a reference to the integer vector IPARM of PaStiX parameters to modify the default parameters. The statistics related to the different phases of factorization and solve are saved here as well
References Eigen::PastixBase< Derived >::m_iparm.
Referenced by test_pastix_T().
|
inline |
Return a reference to a particular index parameter of the IPARM vector
References Eigen::PastixBase< Derived >::m_iparm.
|
inline |
References Eigen::PastixBase< Derived >::m_size.
Referenced by gdb.printers._MatrixEntryIterator::__next__(), gdb.printers.EigenMatrixPrinter::children(), gdb.printers.EigenSparseMatrixPrinter::children(), gdb.printers.EigenMatrixPrinter::to_string(), and gdb.printers.EigenSparseMatrixPrinter::to_string().
|
protected |
|
mutableprotected |
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::clean(), and Eigen::PastixBase< Derived >::dparm().
|
protected |
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::info().
|
protected |
Referenced by Eigen::PastixBase< Derived >::clean().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::clean().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::clean(), and Eigen::PastixBase< Derived >::iparm().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::info().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::clean().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::clean().
|
mutableprotected |
Referenced by Eigen::PastixBase< Derived >::cols(), and Eigen::PastixBase< Derived >::rows().