|
HLIBpro
2.9.1
|
Computes LDU factorisation \( A = LDU \). More...
#include <mat_fac.hh>
Public Member Functions | |
| void | factorise (TMatrix *A, const TTruncAcc &acc) const |
| auto | eval_matrix (TMatrix *A) const -> std::unique_ptr< TFacMatrix > |
| auto | inv_matrix (TMatrix *A) const -> std::unique_ptr< TFacInvMatrix > |
| void | split (const TMatrix *A, TMatrix *&L, TMatrix *&D, TMatrix *&U) 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 \f$A = LDU\f$ of a matrix \f$A\f$
with lower, unit triangular matrix \f$L\f$, upper triangular matrix \f$U\f$
and diagonal matrix \f$D\f$.
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.
| auto eval_matrix | ( | TMatrix * | A | ) | const -> std::unique_ptr< TFacMatrix > |
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 |
| auto inv_matrix | ( | TMatrix * | A | ) | const -> std::unique_ptr< TFacInvMatrix > |
return suitable inverse representation of factors L, D and U
| A | LDU factor to be represented |
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 |