Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
PastixBase< Derived > Class Template Reference

#include <PaStiXSupport.h>

Inherits noncopyable.

Public Types

typedef
internal::pastix_traits
< Derived >::MatrixType 
_MatrixType
typedef SparseMatrix< Scalar,
ColMajor
ColSpMatrix
typedef MatrixType::Index Index
typedef _MatrixType MatrixType
typedef MatrixType::RealScalar RealScalar
typedef MatrixType::Scalar Scalar
typedef Matrix< Scalar,
Dynamic, 1 > 
Vector

Public Member Functions

template<typename Rhs , typename Dest >
bool _solve (const MatrixBase< Rhs > &b, MatrixBase< Dest > &x) const
template<typename Rhs , typename DestScalar , int DestOptions, typename DestIndex >
void _solve_sparse (const Rhs &b, SparseMatrix< DestScalar, DestOptions, DestIndex > &dest) const
Index cols () const
Derived & derived ()
const Derived & derived () const
Array< RealScalar, IPARM_SIZE, 1 > & dparm ()
double & dparm (int idxparam)
ComputationInfo info () const
 Reports whether previous computation was successful.
Array< Index, IPARM_SIZE, 1 > & iparm ()
intiparm (int idxparam)
 PastixBase ()
Index rows () const
template<typename Rhs >
const internal::solve_retval
< PastixBase, Rhs > 
solve (const MatrixBase< Rhs > &b) const
template<typename Rhs >
const
internal::sparse_solve_retval
< PastixBase, Rhs > 
solve (const SparseMatrixBase< Rhs > &b) const
 ~PastixBase ()

Protected Member Functions

void analyzePattern (ColSpMatrix &mat)
void clean ()
void compute (ColSpMatrix &mat)
void factorize (ColSpMatrix &mat)
void init ()

Protected Attributes

int m_analysisIsOk
int m_comm
Matrix< double, DPARM_SIZE, 1 > m_dparm
int m_factorizationIsOk
ComputationInfo m_info
int m_initisOk
Matrix< Index, Dynamic, 1 > m_invp
Matrix< int, IPARM_SIZE, 1 > m_iparm
bool m_isInitialized
pastix_data_t * m_pastixdata
Matrix< Index, Dynamic, 1 > m_perm
int m_size

Member Typedef Documentation

typedef internal::pastix_traits<Derived>::MatrixType _MatrixType
typedef MatrixType::Index Index
typedef MatrixType::RealScalar RealScalar
typedef MatrixType::Scalar Scalar

Constructor & Destructor Documentation

PastixBase ( )
inline
~PastixBase ( )
inline

Member Function Documentation

bool _solve ( const MatrixBase< Rhs > &  b,
MatrixBase< Dest > &  x 
) const
void _solve_sparse ( const Rhs &  b,
SparseMatrix< DestScalar, DestOptions, DestIndex > &  dest 
) const
inline
void analyzePattern ( ColSpMatrix mat)
protected
void clean ( )
inlineprotected
Index cols ( void  ) const
inline
void compute ( ColSpMatrix mat)
protected
Derived& derived ( )
inline
const Derived& derived ( ) const
inline
Array<RealScalar,IPARM_SIZE,1>& dparm ( )
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

See Also
analyzePattern() factorize()
double& dparm ( int  idxparam)
inline

Return a reference to a particular index parameter of the DPARM vector

See Also
dparm()
void factorize ( ColSpMatrix mat)
protected
ComputationInfo info ( ) const
inline

Reports whether previous computation was successful.

Returns
Success if computation was succesful, NumericalIssue if the PaStiX reports a problem InvalidInput if the input matrix is invalid
See Also
iparm()
void init ( )
protected

Initialize the PaStiX data structure. *A first call to this function fills iparm and dparm with the default PaStiX parameters

See Also
iparm() dparm()

Reimplemented in PastixLDLT< _MatrixType, _UpLo >, PastixLLT< _MatrixType, _UpLo >, and PastixLU< _MatrixType, IsStrSym >.

References Eigen::internal::eigen_pastix(), Eigen::InvalidInput, and Eigen::Success.

Referenced by PastixBase< PastixLU< _MatrixType > >::PastixBase().

Array<Index,IPARM_SIZE,1>& iparm ( )
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

See Also
analyzePattern() factorize()
int& iparm ( int  idxparam)
inline

Return a reference to a particular index parameter of the IPARM vector

See Also
iparm()
Index rows ( void  ) const
inline
const internal::solve_retval<PastixBase, Rhs> solve ( const MatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()
const internal::sparse_solve_retval<PastixBase, Rhs> solve ( const SparseMatrixBase< Rhs > &  b) const
inline
Returns
the solution x of $ A x = b $ using the current decomposition of A.
See Also
compute()

Member Data Documentation

int m_analysisIsOk
protected
int m_comm
mutableprotected
Matrix<double,DPARM_SIZE,1> m_dparm
mutableprotected
int m_factorizationIsOk
protected
ComputationInfo m_info
mutableprotected
int m_initisOk
protected
Matrix<Index,Dynamic,1> m_invp
mutableprotected
Matrix<int,IPARM_SIZE,1> m_iparm
mutableprotected
bool m_isInitialized
protected
pastix_data_t* m_pastixdata
mutableprotected
Matrix<Index,Dynamic,1> m_perm
mutableprotected
int m_size
mutableprotected

The documentation for this class was generated from the following file: