class interfacing SuperLU functions in double precision More...
#include <SuperLU.hxx>
Public Member Functions | |
size_t | GetMemorySize () const |
Returns the size of memory used by the current object. | |
void | Clear () |
template<class Prop , class Allocator > | |
void | GetLU (Matrix< double, Prop, ColSparse, Allocator > &Lmat, Matrix< double, Prop, ColSparse, Allocator > &Umat, bool permuted=true) |
Returns the LU factorization. More... | |
template<class Prop , class Allocator > | |
void | GetLU (Matrix< double, Prop, RowSparse, Allocator > &Lmat, Matrix< double, Prop, RowSparse, Allocator > &Umat, bool permuted=true) |
Returns the LU factorization. More... | |
void | FactorizeCSC (Vector< superlu_int_t > &Ptr, Vector< superlu_int_t > &IndRow, Vector< double > &Val, bool sym) |
factorization of matrix given in CSC form | |
template<class T0 , class Prop , class Storage , class Allocator > | |
void | FactorizeMatrix (Matrix< T0, Prop, Storage, Allocator > &mat, bool keep_matrix=false) |
factorization of matrix in double precision using SuperLU | |
template<class Allocator2 > | |
void | Solve (Vector< double, VectFull, Allocator2 > &x) |
Solves linear system A x = b. | |
template<class Allocator2 > | |
void | Solve (const SeldonTranspose &TransA, Vector< double, VectFull, Allocator2 > &x) |
Solves linear system A x = b or A^T x = b. | |
void | Solve (const SeldonTranspose &Trans, double *x_ptr, int nrhs_) |
Solves linear system A x = b or A^T x = b. | |
template<class Allocator2 > | |
void | Solve (Matrix< double, General, ColMajor, Allocator2 > &x) |
Solves linear system A x = b. | |
template<class Allocator2 > | |
void | Solve (const SeldonTranspose &TransA, Matrix< double, General, ColMajor, Allocator2 > &x) |
Solves linear system A x = b or A^T x = b. | |
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 &) |
virtual void | SetPermutation (const Vector< int > &) |
gives the ordering array to the interface solver | |
bool | UseInteger8 () const |
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 size_t | GetMemorySize () const=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 |
class interfacing SuperLU functions in double precision
Definition at line 132 of file SuperLU.hxx.
|
inherited |
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.
Definition at line 292 of file SuperLU.cxx.
void Seldon::MatrixSuperLU< double >::GetLU | ( | Matrix< double, Prop, ColSparse, Allocator > & | Lmat, |
Matrix< double, Prop, ColSparse, Allocator > & | Umat, | ||
bool | permuted = true |
||
) |
Returns the LU factorization.
[out] | Lmat | matrix L in the LU factorization. |
[out] | Umat | matrix U in the LU factorization. |
[in] | permuted | should the permuted matrices be provided? SuperLU permutes the rows and columns of the factorized matrix. If permuted is set to true, L and U are returned as SuperLU computed them, hence with permuted rows and columns. If permuted is set to false, the matrices L and U are "unpermuted" so that L times U is equal to the initial matrix. |
Definition at line 347 of file SuperLU.cxx.
void Seldon::MatrixSuperLU< double >::GetLU | ( | Matrix< double, Prop, RowSparse, Allocator > & | Lmat, |
Matrix< double, Prop, RowSparse, Allocator > & | Umat, | ||
bool | permuted = true |
||
) |
Returns the LU factorization.
[out] | Lmat | matrix L in the LU factorization. |
[out] | Umat | matrix U in the LU factorization. |
[in] | permuted | should the permuted matrices be provided? SuperLU permutes the rows and columns of the factorized matrix. If permuted is set to true, L and U are returned as SuperLU computed them, hence with permuted rows and columns. If permuted is set to false, the matrices L and U are "unpermuted" so that L times U is equal to the initial matrix. |
Definition at line 414 of file SuperLU.cxx.
|
inherited |
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.
Definition at line 278 of file SuperLU.cxx.