Plugins
ug::SuperLUImplementation Class Reference
+ Inheritance diagram for ug::SuperLUImplementation:

Public Member Functions

virtual bool apply (CPUAlgebra::vector_type &c, const CPUAlgebra::vector_type &d)
 
void destroy ()
 
void dgssv_check_info (int info, size_t N)
 
void dgssvA (superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r, SuperMatrix *L, SuperMatrix *U, SuperMatrix *B, SuperLUStat_t *stat, int *info)
 
void dgssvB (superlu_options_t *options, SuperMatrix *A, int *perm_c, int *perm_r, SuperMatrix *L, SuperMatrix *U, SuperMatrix *B, SuperLUStat_t *stat, int *info)
 
void get_options (superlu_options_t &opt)
 
virtual bool init (const CPUAlgebra::matrix_type &A)
 
virtual const char * name () const
 
 SuperLUImplementation (SuperLUConfiguration &_config)
 
 ~SuperLUImplementation ()
 
- Public Member Functions inherited from ug::IExternalSolverImplementation
virtual ~IExternalSolverImplementation ()
 

Private Attributes

std::vector< int > colind
 
SuperLUConfigurationconfig
 
bool m_bInited
 
std::vector< double > nzval
 
superlu_options_t options
 
std::vector< int > perm_c
 
std::vector< int > perm_r
 
std::vector< double > rhs
 
std::vector< int > rowptr
 
SuperMatrix SuperLU_A
 
SuperMatrix SuperLU_B
 
SuperMatrix SuperLU_L
 
SuperMatrix SuperLU_U
 
trans_t trans
 

Constructor & Destructor Documentation

◆ SuperLUImplementation()

ug::SuperLUImplementation::SuperLUImplementation ( SuperLUConfiguration _config)
inline

References SuperLU_A.

◆ ~SuperLUImplementation()

ug::SuperLUImplementation::~SuperLUImplementation ( )
inline

References destroy().

Member Function Documentation

◆ apply()

◆ destroy()

void ug::SuperLUImplementation::destroy ( )
inline

◆ dgssv_check_info()

void ug::SuperLUImplementation::dgssv_check_info ( int  info,
size_t  N 
)
inline

References UG_THROW.

Referenced by apply().

◆ dgssvA()

void ug::SuperLUImplementation::dgssvA ( superlu_options_t *  options,
SuperMatrix *  A,
int *  perm_c,
int *  perm_r,
SuperMatrix *  L,
SuperMatrix *  U,
SuperMatrix *  B,
SuperLUStat_t *  stat,
int *  info 
)
inline

References options, perm_c, perm_r, and trans.

Referenced by init().

◆ dgssvB()

void ug::SuperLUImplementation::dgssvB ( superlu_options_t *  options,
SuperMatrix *  A,
int *  perm_c,
int *  perm_r,
SuperMatrix *  L,
SuperMatrix *  U,
SuperMatrix *  B,
SuperLUStat_t *  stat,
int *  info 
)
inline

References perm_c, perm_r, and trans.

Referenced by apply().

◆ get_options()

◆ init()

virtual bool ug::SuperLUImplementation::init ( const CPUAlgebra::matrix_type A)
inlinevirtual

◆ name()

virtual const char* ug::SuperLUImplementation::name ( ) const
inlinevirtual

Member Data Documentation

◆ colind

std::vector<int> ug::SuperLUImplementation::colind
private

Referenced by init().

◆ config

SuperLUConfiguration& ug::SuperLUImplementation::config
private

Referenced by get_options().

◆ m_bInited

bool ug::SuperLUImplementation::m_bInited
private

Referenced by destroy(), and init().

◆ nzval

std::vector<double> ug::SuperLUImplementation::nzval
private

Referenced by apply(), and init().

◆ options

superlu_options_t ug::SuperLUImplementation::options
private

Referenced by apply(), dgssvA(), and init().

◆ perm_c

std::vector<int> ug::SuperLUImplementation::perm_c
private

Referenced by apply(), dgssvA(), dgssvB(), and init().

◆ perm_r

std::vector<int> ug::SuperLUImplementation::perm_r
private

Referenced by apply(), dgssvA(), dgssvB(), and init().

◆ rhs

std::vector<double> ug::SuperLUImplementation::rhs
private

Referenced by init().

◆ rowptr

std::vector<int> ug::SuperLUImplementation::rowptr
private

Referenced by init().

◆ SuperLU_A

SuperMatrix ug::SuperLUImplementation::SuperLU_A
private

◆ SuperLU_B

SuperMatrix ug::SuperLUImplementation::SuperLU_B
private

Referenced by apply(), destroy(), and init().

◆ SuperLU_L

SuperMatrix ug::SuperLUImplementation::SuperLU_L
private

Referenced by apply(), destroy(), and init().

◆ SuperLU_U

SuperMatrix ug::SuperLUImplementation::SuperLU_U
private

Referenced by apply(), destroy(), and init().

◆ trans

trans_t ug::SuperLUImplementation::trans
private

Referenced by dgssvA(), and dgssvB().


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