H2Lib
3.0
|
Functions for computing a low rank update for an h2matrix. More...
Functions | |
real | norm2_rkupdate_uniform (puniform u, uint k) |
Computes the Euclidean norm of the extended coupling matrix of the low rank update multiplied by weight matrices. More... | |
real | normfrob_rkupdate_uniform (puniform u, uint k) |
Computes the Frobenius norm of the extended coupling matrix of the low rank update multiplied by weight matrices. More... | |
void | rkupdate_h2matrix (prkmatrix R, ph2matrix Gh2, pclusteroperator rwf, pclusteroperator cwf, ptruncmode tm, real eps) |
Computes the low rank update . More... | |
pclusteroperator | prepare_row_clusteroperator (pclusterbasis rb, pclusterbasis cb, ptruncmode tm) |
Prepares the weights of the row clusterbasis used by rkupdate_h2matrix and the arithmetic functions in h2arith. More... | |
pclusteroperator | prepare_col_clusteroperator (pclusterbasis rb, pclusterbasis cb, ptruncmode tm) |
Prepares the weights of the column clusterbasis used by rkupdate_h2matrix and the arithmetic functions in h2arith. More... | |
Functions for computing a low rank update for an h2matrix.
The functions in this module can be used to compute low rank updates for -matrices. The module also provides functions to initialise the auxilliary structures required by the low rank update and the arithmetic functions in h2arith.
Computes the Euclidean norm of the extended coupling matrix of the low rank update multiplied by weight matrices.
Depending on given row and column clusterbasis of the uniform matrix this function computes one of the following four values via vector iteration:
with =u->rb->Z
and =u->cb->Z
. is omitted if u->rb->Z==NULL
and is omitted if u->cb->Z==NULL
u | uniform object |
k | rank of the low rank matrix |
Computes the Frobenius norm of the extended coupling matrix of the low rank update multiplied by weight matrices.
Depending on given row and column clusterbasis of the uniform matrix this functions computed one of the following four values:
with =u->rb->Z
and =u->cb->Z
. is omitted if u->rb->Z==NULL
and is omitted if u->cb->Z==NULL
u | uniform object |
k | rank of the low rank matrix |
pclusteroperator prepare_col_clusteroperator | ( | pclusterbasis | rb, |
pclusterbasis | cb, | ||
ptruncmode | tm | ||
) |
Prepares the weights of the column clusterbasis used by rkupdate_h2matrix and the arithmetic functions in h2arith.
rb | row clusterbasis |
cb | column clusterbasis |
tm | options for the total weights |
pclusteroperator prepare_row_clusteroperator | ( | pclusterbasis | rb, |
pclusterbasis | cb, | ||
ptruncmode | tm | ||
) |
Prepares the weights of the row clusterbasis used by rkupdate_h2matrix and the arithmetic functions in h2arith.
rb | row clusterbasis |
cb | column clusterbasis |
tm | options for the total weights |
void rkupdate_h2matrix | ( | prkmatrix | R, |
ph2matrix | Gh2, | ||
pclusteroperator | rwf, | ||
pclusteroperator | cwf, | ||
ptruncmode | tm, | ||
real | eps | ||
) |
Computes the low rank update .
R | Low-rank matrix . |
Gh2 | Target matrix . |
rwf | has to be the father of the total weights of the row clusterbasis of C, e.g. initialised by prepare_row_clusteroperator |
cwf | has to be the father of the total weights of the col clusterbasis of C, e.g. initialised by prepare_col_clusteroperator |
tm | options of truncation |
eps | tolerance of truncation |