Seldon::MatrixSuperLU_Base< T > Class Template Reference

class interfacing SuperLU functions More...

#include <SuperLU.hxx>

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

List of all members.

Public Member Functions

 MatrixSuperLU_Base ()
 default constructor
 ~MatrixSuperLU_Base ()
 destructor
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.
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.
const Vector< int > & GetRowPermutation () const
 Returns the permutation of rows.
const Vector< int > & GetColPermutation () const
 Returns the permutation of columns.
void SelectOrdering (colperm_t type)
void SetPermutation (const IVect &)
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

Protected Attributes

SuperMatrix L
 objects of SuperLU
SuperMatrix U
SuperMatrix B
SCformat * Lstore
 object of SuperLU
NCformat * Ustore
 object of SuperLU
SuperLUStat_t stat
 statistics
superlu_options_t options
 options //! permutation array
Vector< int > perm_r
Vector< int > perm_c
colperm_t permc_spec
 ordering scheme
int n
 number of rows
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 33 of file SuperLU.hxx.


Member Function Documentation

template<class T >
const Vector< int > & Seldon::MatrixSuperLU_Base< T >::GetColPermutation (  )  const

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 230 of file SuperLU.cxx.

template<class T >
template<class Prop , class Allocator >
void Seldon::MatrixSuperLU_Base< T >::GetLU ( Matrix< double, Prop, RowSparse, Allocator > &  Lmat,
Matrix< double, Prop, RowSparse, Allocator > &  Umat,
bool  permuted = true 
)

Returns the LU factorization.

Parameters:
[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.
Note:
This method will first retrieve the L and U matrices in 'ColSparse' format and then convert them into 'RowSparse'.

Definition at line 190 of file SuperLU.cxx.

template<class T >
template<class Prop , class Allocator >
void Seldon::MatrixSuperLU_Base< T >::GetLU ( Matrix< double, Prop, ColSparse, Allocator > &  Lmat,
Matrix< double, Prop, ColSparse, Allocator > &  Umat,
bool  permuted = true 
)

Returns the LU factorization.

Parameters:
[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 127 of file SuperLU.cxx.

template<class T >
const Vector< int > & Seldon::MatrixSuperLU_Base< T >::GetRowPermutation (  )  const

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 216 of file SuperLU.cxx.


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