HLIBpro
1.2
|
computes LDL factorisation or 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 | |
TMatrix * | eval_matrix (TMatrix *A, const matform_t matform) const |
TMatrix * | inv_matrix (TMatrix *A, const matform_t matform) const |
void | split (const TMatrix *A, TMatrix *&L, TMatrix *&D, 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 ) {} ~TLDL () {} void set_options ( const fac_options_t opts ) { _options = opts | |
standard constructor with optional LDL settings |
This class computes the LDL factorisation ( ) of a symmetric (hermitian) matrix with lower, unit triangular matrix and diagonal matrix .
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.
return suitable matrix representation for evaluating factors L and U
A | LDL factors to be represented |
matform | format of original, non-factorised matrix |
compute LDL factorisation of given matrix
nthreads | number of threads to use |
A | on input matrix to factorise; on output factors L and D |
acc | accuracy of factorisation |
return suitable inverse representation of factors L and U
A | LDL factors to be represented |
matform | format of original, non-factorised matrix |
split given matrix A into individual factors L and D
A | joined LDL factors |
L | matrix pointer to store factor L |
D | matrix pointer to store factor D |
eval_type | determines block-wise or point-wise evaluation |