Hex  1.0
Hydrogen-electron collision solver
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
CsrMatrix::LUft Class Reference

LU factorization object. More...

#include <matrix.h>

Public Member Functions

 LUft ()
 Default constructor. More...
 
 LUft (LUft const &lu)
 Copy constructor. More...
 
 LUft (LUft &&lu)
 Move constructor. More...
 
 LUft (const CsrMatrix *matrix, void *numeric)
 Initialize the structure using the matrix and its numeric decomposition. More...
 
 ~LUft ()
 Destructor. More...
 
void transfer (LUft &&lu)
 Transfer data from another factorization object. More...
 
size_t size () const
 Size of the numerical data. More...
 
rArray const & info () const
 Get info array. More...
 
void link (std::string name)
 Link to a disk file. More...
 
void save (std::string name) const
 Save Numeric object to a disk file. More...
 
void save () const
 
void drop ()
 Free memory. More...
 
cArray solve (const cArrayView b, unsigned eqs=1) const
 Solve equations. More...
 
void solve (const cArrayView b, cArrayView x, int eqs=1) const
 
void load (std::string name)
 Load Numeric object from a disk file. More...
 
void load ()
 

Detailed Description

This class is returned by the function CsrMatrix::factorize() and it provides some functions that can be used when solving equations with that LU factorization. Also, it is possible to store the decomposition to disk (link,save), destro the data (drop) and load later when needed (load). The most important function is "solve".

Constructor & Destructor Documentation

CsrMatrix::LUft::LUft ( )
inline
CsrMatrix::LUft::LUft ( LUft const &  lu)
inline
CsrMatrix::LUft::LUft ( LUft &&  lu)
inline
CsrMatrix::LUft::LUft ( const CsrMatrix matrix,
void *  numeric 
)
inline
CsrMatrix::LUft::~LUft ( )
inline

Member Function Documentation

void CsrMatrix::LUft::drop ( )
inline

Release memory occupied by the LU-factorization numeric object.

rArray const& CsrMatrix::LUft::info ( ) const
inline

Get UMFPACK "info" array.

void CsrMatrix::LUft::link ( std::string  name)
inline

This function will set a filename that will be used if any of the functions save or load is used without a specific filename.

void CsrMatrix::LUft::load ( std::string  name)
inline

The expected format is the format of umfpack_zl_save_numeric.

void CsrMatrix::LUft::load ( )
inline
void CsrMatrix::LUft::save ( std::string  name) const
inline

Stores the LU-factorization data in the native UMFPACK format to a disk file.

void CsrMatrix::LUft::save ( ) const
inline
size_t CsrMatrix::LUft::size ( ) const
inline

Return the number of bytes occupied by the stored elements of the LU-factorization. This doesn't contain any other structural data.

cArray CsrMatrix::LUft::solve ( const cArrayView  b,
unsigned  eqs = 1 
) const
inline

The parameter "b" is assumed to contain several right hand side vectors (their count is supplied as the optional parameter "eqs"). The results are stored in "x", which has the same size as "b".

void CsrMatrix::LUft::solve ( const cArrayView  b,
cArrayView  x,
int  eqs = 1 
) const
inline
void CsrMatrix::LUft::transfer ( LUft &&  lu)
inline

Move contents of another LUft object to this one. If there are already some data in this object, delete them.


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