HLIBpro  1.2
Public Member Functions | Public Attributes | List of all members
TLU Class Reference

Computes LU factorisation $ A = LU $. More...

#include <mat_fac.hh>

Public Member Functions

void factorise (const uint nthreads, TMatrix *A, const TTruncAcc &acc) const
void factorise (TMatrix *A, const TTruncAcc &acc) const
 sequential version of
TMatrixeval_matrix (TMatrix *A) const
TMatrixinv_matrix (TMatrix *A) const
void split (const TMatrix *A, TMatrix *&L, TMatrix *&U, const eval_type_t eval_type) const
size_t pm_steps (const TMatrix *A) const
 return number of factorisation steps for A for progress meter

Public Attributes

 __pad0__: _options( opts ) {} ~TLU () {} void set_options ( const fac_options_t opts ) { _options = opts
 standard constructor with optional LU settings

Detailed Description

This class computes the LU factorisation $A = LU$ of a matrix $A$ with lower, unit triangular matrix $L$ and upper triangular matrix $U$.

The factorisation may be either point wise, i.e. a real LU factorisation, or block wise in which case, dense diagonal matrix blocks are inverted.

Support for multiple threads is available, although the expectable speedup is limited, e.g. best suited for at most 4 threads.

Member Function Documentation

TMatrix* eval_matrix ( TMatrix A) const

return suitable matrix representation for evaluating factors L and U

Parameters
ALU factors to be represented
void factorise ( const uint  nthreads,
TMatrix A,
const TTruncAcc acc 
) const

compute LU factorisation of given matrix

Parameters
nthreadsnumber of threads to use
Aon input matrix to factorise; on output factors L and U
accaccuracy of factorisation
void factorise ( TMatrix A,
const TTruncAcc acc 
) const
See Also
factorise
TMatrix* inv_matrix ( TMatrix A) const

return suitable inverse representation of factors L and U

Parameters
ALU factor to be represented
void split ( const TMatrix A,
TMatrix *&  L,
TMatrix *&  U,
const eval_type_t  eval_type 
) const

split given matrix A into individual factors L and U

Parameters
Ajoined LU factors
Lmatrix pointer to store factor L
Umatrix pointer to store factor U
eval_typedetermines block-wise or point-wise evaluation