void addproduct_haccum(field alpha, bool xtrans, pchmatrix x, bool ytrans, pchmatrix y, phaccum za)
Add a product to an accumulator.
phprodentry xy
Accumulator for structured updates.
Definition: harith2.h:56
void lowersolve_haccum(bool aunit, bool atrans, pchmatrix a, bool xtrans, phaccum xa)
Solve a lower triangular system using accumulators, or .
haccum * phaccum
Pointer to haccum object.
Definition: harith2.h:21
phaccum * split_haccum(phmatrix z, phaccum za)
Create H-matrix accumulators for submatrices.
void uppersolve2_hmatrix_hmatrix(bool aunit, bool atrans, pchmatrix a, pctruncmode tm, real eps, bool xtrans, phmatrix x)
Solve an upper triangular system using accumulators, or .
void flush_haccum(phaccum ha)
Flush an H-matrix accumulator, i.e., add all accumulated products to the target matrix and clear the ...
void lrdecomp2_hmatrix(phmatrix a, pctruncmode tm, real eps)
Compute the LR factorization using accumulators, .
struct _hprodentry hprodentry
Unhandled H-matrix products.
Definition: harith2.h:27
Representation of -matrices.
Definition: hmatrix.h:49
void add_amatrix_destructive_rkmatrix(field alpha, bool atrans, pamatrix a, pctruncmode tm, real eps, prkmatrix b)
Truncated addition of a matrix to a low-rank matrices in rkmatrix representation, ...
void add_amatrix_destructive_hmatrix(field alpha, bool atrans, pamatrix a, pctruncmode tm, real eps, phmatrix b)
Locally truncated addition of a matrix in amatrix representation to a hierarchical matrix in hmatrix ...
double _Complex field
Field type.
Definition: settings.h:171
void choldecomp_haccum(phaccum aa)
Compute the Cholesky factorization using accumulators, .
void del_haccum(phaccum ha)
Delete an accumulator.
Accumulator for H-matrix products.
Definition: harith2.h:42
void lowersolve2_hmatrix_hmatrix(bool aunit, bool atrans, pchmatrix a, pctruncmode tm, real eps, bool xtrans, phmatrix x)
Solve a lower triangular system using accumulators, or .
Define different strategies used by various truncation and compression algorithms for hmatrices and h...
Definition: truncation.h:43
void addmul2_hmatrix(field alpha, bool xtrans, pchmatrix x, bool ytrans, pchmatrix y, pctruncmode tm, real eps, phmatrix z)
Multiply two H-matrices using accumulators, .
pctruncmode tm
Truncation mode.
Definition: harith2.h:47
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
hprodentry * phprodentry
Points to hprodentry object.
Definition: harith2.h:30
phaccum new_haccum(phmatrix z, pctruncmode tm, real eps)
Create a new H-matrix accumulator.
phmatrix z
Target matrix.
Definition: harith2.h:44
prkmatrix r
Accumulator for low-rank updates.
Definition: harith2.h:53
void choldecomp2_hmatrix(phmatrix a, pctruncmode tm, real eps)
Compute the Cholesky factorization using accumulators, .
Representation of a low-rank matrix in factorized form .
Definition: rkmatrix.h:36
void lrdecomp_haccum(phaccum aa)
Compute the LR factorization using accumulators, .
Representation of a matrix as an array in column-major order.
Definition: amatrix.h:43
real eps
Truncation accuracy.
Definition: harith2.h:50
void uppersolve_haccum(bool aunit, bool atrans, pchmatrix a, bool xtrans, phaccum xa)
Solve an upper triangular system using accumulators, or .
const haccum * pchaccum
Pointer to constant haccum object.
Definition: harith2.h:24