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 ( )
CsrMatrix::LUft::LUft ( LUft const &  lu)
CsrMatrix::LUft::LUft ( LUft &&  lu)
CsrMatrix::LUft::LUft ( const CsrMatrix matrix,
void *  numeric 
CsrMatrix::LUft::~LUft ( )

Member Function Documentation

void CsrMatrix::LUft::drop ( )

Release memory occupied by the LU-factorization numeric object.

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

Get UMFPACK "info" array.

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

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)

The expected format is the format of umfpack_zl_save_numeric.

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

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

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

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

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
void CsrMatrix::LUft::transfer ( LUft &&  lu)

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: