|
HLIBpro
2.0
|
Computes LDU factorisation
.
More...
#include <mat_fac.hh>
Public Member Functions | |
| void | factorise (TMatrix *A, const TTruncAcc &acc) const |
| TLinearOperator * | eval_matrix (TMatrix *A) const |
| TLinearOperator * | inv_matrix (TMatrix *A) const |
| void | split (const TMatrix *A, TMatrix *&L, TMatrix *&D, 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 ) {} ~TLDU () {} void set_options ( const fac_options_t opts ) { _options = opts | |
| standard constructor with optional LDU settings | |
This class computes the LU factorisation
of a matrix
with lower, unit triangular matrix
, upper triangular matrix
and diagonal matrix
.
The factorisation may be either point wise, i.e. a real LDU factorisation, or block wise in which case, dense diagonal matrix blocks are inverted.
Support for multiple threads is not available.
| TLinearOperator* eval_matrix | ( | TMatrix * | A) | const |
return suitable representation for evaluating factors L, D and U
| A | LDU factors to be represented |
compute LDU factorisation of given matrix
| A | on input matrix to factorise; on output factors L and U |
| acc | accuracy of factorisation |
| TLinearOperator* inv_matrix | ( | TMatrix * | A) | const |
return suitable inverse representation of factors L, D and U
| A | LDU factor to be represented |
| void split | ( | const TMatrix * | A, |
| TMatrix *& | L, | ||
| TMatrix *& | D, | ||
| TMatrix *& | U, | ||
| const eval_type_t | eval_type | ||
| ) | const |
split given matrix A into individual factors L, D and U
| A | joined LDU factors |
| L | matrix pointer to store factor L |
| D | matrix pointer to store factor D |
| U | matrix pointer to store factor U |
| eval_type | determines block-wise or point-wise evaluation |
1.8.4