Public Member Functions | Public Attributes | Protected Attributes | List of all members
Seldon::MatrixUmfPack< double > Class Reference

class to solve linear system in double precision with UmfPack More...

#include <UmfPack.hxx>

Inheritance diagram for Seldon::MatrixUmfPack< double >:
Seldon::MatrixUmfPack_Base< double > Seldon::VirtualSparseDirectSolver< double >

Public Member Functions

 MatrixUmfPack ()
 constructor
 
 ~MatrixUmfPack ()
 destructor
 
void Clear ()
 we clear present factorization if any
 
template<class T0 , class Prop , class Storage , class Allocator >
void FactorizeMatrix (Matrix< T0, Prop, Storage, Allocator > &mat, bool keep_matrix=false)
 factorization of a real matrix in double precision
 
void FactorizeCSC (Vector< umfpack_int_t > &Ptr, Vector< umfpack_int_t > &IndRow, Vector< double > &Val, bool sym)
 
template<class Prop , class Allocator >
void PerformAnalysis (Matrix< double, Prop, RowSparse, Allocator > &mat)
 Symbolic factorization.
 
template<class Prop , class Allocator >
void PerformFactorization (Matrix< double, Prop, RowSparse, Allocator > &mat)
 Numerical factorization.
 
template<class Allocator2 >
void Solve (Vector< double, VectFull, Allocator2 > &x)
 resolution of A y = x (result is overwritten in x)
 
template<class Allocator2 >
void Solve (const SeldonTranspose &, Vector< double, VectFull, Allocator2 > &x)
 
template<class Allocator2 >
void Solve (const SeldonTranspose &TransA, Matrix< double, General, ColMajor, Allocator2 > &x)
 
void Solve (const SeldonTranspose &TransA, double *x_ptr, int nrhs)
 
void HideMessages ()
 no message will be displayed by UmfPack
 
void ShowMessages ()
 normal amount of message displayed by UmfPack
 
void ShowFullHistory ()
 
bool UseInteger8 () const
 
int GetInfoFactorization () const
 
size_t GetMemorySize () const
 
void SelectOrdering (int type)
 selects ordering to use in the interfaced solver
 
void SetPermutation (const IVect &)
 
virtual void SetPermutation (const Vector< int > &)
 gives the ordering array to the interface solver
 
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 SetNumberOfThreadPerNode (int n)
 Sets the number of threads per mpi process.
 

Public Attributes

Vector< double > Control
 
Vector< double > Info
 parameters for UmfPack
 
void * Symbolic
 
void * Numeric
 pointers of UmfPack objects
 
int n
 number of rows in the matrix
 
int print_level
 
bool transpose
 
int status_facto
 transpose system to solve ?
 

Protected Attributes

umfpack_int_t * ind_
 arrays containing matrix pattern in csc format
 
umfpack_int_t * ptr_
 
double * data_
 non-zero values
 

Detailed Description

class to solve linear system in double precision with UmfPack

Definition at line 73 of file UmfPack.hxx.


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