HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eigen::PastixLU< _MatrixType, IsStrSym > Class Template Reference

Class to invoke the Pastix LU solver. More...

#include <PastixInterface.hpp>

Inheritance diagram for Eigen::PastixLU< _MatrixType, IsStrSym >:
Inheritance graph
[legend]
Collaboration diagram for Eigen::PastixLU< _MatrixType, IsStrSym >:
Collaboration graph
[legend]

Public Types

typedef _MatrixType MatrixType
 
typedef PastixBase< PastixLU< MatrixType > > Base
 
typedef Base::ColSpMatrix ColSpMatrix
 
typedef MatrixType::StorageIndex StorageIndex
 
- Public Types inherited from Eigen::PastixBase< PastixLU< _MatrixType > >
enum  
 
typedef internal::pastix_traits< PastixLU< _MatrixType > >::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

 PastixLU ()
 
 PastixLU (const MatrixType &matrix)
 
void compute (const MatrixType &matrix)
 
void analyzePattern (const MatrixType &matrix)
 
void factorize (const MatrixType &matrix)
 
void init (double eps_refinement=-1.0, double eps_ctrl=-1.0)
 
- Public Member Functions inherited from Eigen::PastixBase< PastixLU< _MatrixType > >
 PastixBase ()
 
 ~PastixBase ()
 
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...
 
void init (double eps_refinement=-1.0, double eps_ctrl=-1.0)
 

Protected Member Functions

void grabMatrix (const MatrixType &matrix, ColSpMatrix &out)
 
- Protected Member Functions inherited from Eigen::PastixBase< PastixLU< _MatrixType > >
void analyzePattern (ColSpMatrix &mat)
 
void factorize (ColSpMatrix &mat)
 
void clean ()
 
void compute (ColSpMatrix &mat)
 

Protected Attributes

ColSpMatrix m_transposedStructure
 
bool m_structureIsUptodate
 
Array< int, IPARM_SIZE, 1 > m_iparm
 
Array< double, DPARM_SIZE, 1 > m_dparm
 
- Protected Attributes inherited from Eigen::PastixBase< PastixLU< _MatrixType > >
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
 

Additional Inherited Members

- Protected Types inherited from Eigen::PastixBase< PastixLU< _MatrixType > >
typedef SparseSolverBase< PastixLU< _MatrixType > > Base
 

Detailed Description

template<typename _MatrixType, bool IsStrSym>
class Eigen::PastixLU< _MatrixType, IsStrSym >

Class to invoke the Pastix LU solver.

After the class is instantianted, use iparm(IPARM_VERBOSE)=PastixVerboseNo or PastixVerboseYes to get more verbose output from pastix

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.

Template Parameters
_MatrixTypethe type of the sparse matrix A, it must be a SparseMatrix<>
IsStrSymIndicates 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

Member Data Documentation

◆ m_dparm

template<typename _MatrixType , bool IsStrSym>
Array<double,DPARM_SIZE,1> Eigen::PastixBase< Derived >::m_dparm
mutableprotected

◆ m_iparm

template<typename _MatrixType , bool IsStrSym>
Array<int,IPARM_SIZE,1> Eigen::PastixBase< Derived >::m_iparm
mutableprotected

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