Public Member Functions | Protected Attributes | List of all members
Seldon::MatrixSuperLU_Base< T > Class Template Referenceabstract

class interfacing SuperLU functions More...

#include <SuperLU.hxx>

Inheritance diagram for Seldon::MatrixSuperLU_Base< T >:
Seldon::VirtualSparseDirectSolver< T > Seldon::MatrixSuperLU< T >

Public Member Functions

 MatrixSuperLU_Base ()
 default constructor
 
 ~MatrixSuperLU_Base ()
 destructor
 
const Vector< int_t > & GetRowPermutation () const
 Returns the permutation of rows. More...
 
const Vector< int_t > & GetColPermutation () const
 Returns the permutation of columns. More...
 
void Init (int size, int_t &panel_size, int_t &relax)
 inits SuperLU computation
 
void SetNumberOfThreadPerNode (int p)
 Sets the number of threads per mpi process.
 
void SelectOrdering (int type)
 selects ordering to use in the interfaced solver
 
void SetPermutation (const IVect &)
 
bool UseInteger8 () const
 
void Clear ()
 same effect as a call to the destructor
 
void HideMessages ()
 no message from SuperLU
 
void ShowMessages ()
 allows messages from SuperLU
 
int GetInfoFactorization () const
 returns status of factorisation
 
virtual void SetPivotThreshold (double)
 Sets the threshold for pivot.
 
virtual void RefineSolution ()
 Tells to the direct solver that refinement is required.
 
virtual void DoNotRefineSolution ()
 Tells to the direct solver that no refinement is required.
 
virtual void SetCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SetMaximumCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SetIncreaseCoefficientEstimationNeededMemory (double coef)
 Method overloaded in Mumps solver.
 
virtual void SelectParallelOrdering (int)
 selects ordering to use in parallel for the interfaced solver
 
virtual void SetPermutation (const Vector< int > &)
 gives the ordering array to the interface solver
 
virtual size_t GetMemorySize () const =0
 
virtual void Solve (const SeldonTranspose &, T *x_ptr, int nrhs)=0
 

Protected Attributes

superlu::SuperMatrix L
 objects of SuperLU
 
superlu::SuperMatrix U
 
superlu::SuperMatrix B
 
superlu::GlobalLU_t Glu
 object of SuperLU
 
superlu::SCformat * Lstore
 object of SuperLU
 
superlu::NCformat * Ustore
 object of SuperLU
 
superlu::superlu_options_t options
 options
 
superlu::SuperLUStat_t stat
 statistics
 
Vector< int_t > perm_r
 permutation array
 
Vector< int_t > perm_c
 
colperm_t permc_spec
 ordering scheme
 
int_t n
 number of rows
 
int_t nloc
 
bool display_info
 display information about factorization ? Error code returned by SuperLU.
 
int info_facto
 

Detailed Description

template<class T>
class Seldon::MatrixSuperLU_Base< T >

class interfacing SuperLU functions

Definition at line 53 of file SuperLU.hxx.

Member Function Documentation

◆ GetColPermutation()

template<class T >
const Vector< int_t > & Seldon::MatrixSuperLU_Base< T >::GetColPermutation

Returns the permutation of columns.

In order to retain the sparsity as much as possible, SuperLU permutes rows and columns before the factorization. This method returns the column permutation that was employed in the factorization. This method is obviously to be called after the factorization has been performed.

Returns
The permutation of the columns.

Definition at line 292 of file SuperLU.cxx.

◆ GetRowPermutation()

template<class T >
const Vector< int_t > & Seldon::MatrixSuperLU_Base< T >::GetRowPermutation

Returns the permutation of rows.

In order to retain the sparsity as much as possible, SuperLU permutes rows and columns before the factorization. This method returns the row permutation that was employed in the factorization. This method is obviously to be called after the factorization has been performed.

Returns
The permutation of the rows.

Definition at line 278 of file SuperLU.cxx.


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