231 bool csplit,
bool copy);
void choleval_hmatrix_avector(pchmatrix a, pavector x)
Evaluate the linear system using the Cholesky factorization provided by choldecomp_hmatrix.
void triangularmul_hmatrix_avector(bool alower, bool aunit, bool atrans, pchmatrix a, pavector xp)
Evaluate a triangular system or .
void add_amatrix_hmatrix(field alpha, bool atrans, pcamatrix a, pctruncmode tm, real eps, phmatrix b)
Truncated addition of two low-rank matrices in rkmatrix.
phmatrix split_sub_rkmatrix(pcrkmatrix r, pccluster rc, pccluster cc, bool rsplit, bool csplit)
Split an rkmatrix into submatrices referencing the original matrix.
void choldecomp_hmatrix(phmatrix a, pctruncmode tm, real eps)
Compute the Cholesky factorization, .
void triangularinvmul_hmatrix_amatrix(bool alower, bool aunit, bool atrans, pchmatrix a, bool xtrans, pamatrix xp)
Solve a triangular system or .
void lreval_n_hmatrix_avector(pchmatrix a, pavector x)
Evaluate the linear system using the LR factorization provided by lrdecomp_hmatrix.
void add_lower_rkmatrix_hmatrix(field alpha, pcrkmatrix a, pctruncmode tm, real eps, phmatrix b)
Locally truncated addition of a low-rank matrix in rkmatrix representation to the lower triangular pa...
void lrsolve_t_hmatrix_avector(pchmatrix a, pavector x)
Solve the linear systems using the LR factorization provided by lrdecomp_hmatrix.
void add_hmatrix_amatrix(field alpha, bool atrans, pchmatrix a, pamatrix b)
Addition of a hierarchical matrix to a matrix, .
void cholsolve_hmatrix_avector(pchmatrix a, pavector x)
Solve the linear system using the Cholesky factorization provided by choldecomp_hmatrix.
void triangularinvmul_hmatrix_avector(bool alower, bool aunit, bool atrans, pchmatrix a, pavector xp)
Solve a triangular system, or .
void add_rkmatrix_amatrix(field alpha, bool atrans, pcrkmatrix a, pamatrix b)
Truncated addition of a full matrix to a low-rank matrix.
Representation of -matrices.
Definition: hmatrix.h:49
void lreval_t_hmatrix_avector(pchmatrix a, pavector x)
Evaluate the linear system using the LR factorization provided by lrdecomp_hmatrix.
void addmul_lower_hmatrix(field alpha, bool xtrans, pchmatrix x, bool ytrans, pchmatrix y, pctruncmode tm, real eps, phmatrix z)
Multiply two H-matrices, computing only the lower triangular part of the result, .
void add_lower_amatrix_hmatrix(field alpha, bool atrans, pcamatrix a, pctruncmode tm, real eps, phmatrix b)
Locally truncated addition of a matrix in amatrix representation to the lower triangular part of a hi...
void addmul_rkmatrix_amatrix_amatrix(field alpha, bool atrans, pcrkmatrix a, bool btrans, pcamatrix b, bool ctrans, pamatrix c)
Multiply a matrix by an rkmatrix, .
void lrsolve_hmatrix_avector(bool atrans, pchmatrix a, pavector x)
Solve the linear systems or using the LR factorization provided by lrdecomp_hmatrix.
void triangularsolve_hmatrix_avector(bool alower, bool aunit, bool atrans, pchmatrix a, pavector x)
Solve a triangular system or .
phmatrix clone_upper_hmatrix(bool aunit, pchmatrix a)
Create a duplicate of the upper triangular part of an H-matrix.
void invert_hmatrix(phmatrix a, phmatrix work, pctruncmode tm, real eps)
Invert an H-matrix, .
void add_amatrix_rkmatrix(field alpha, bool atrans, pcamatrix a, pctruncmode tm, real eps, prkmatrix b)
Truncated addition of a matrix to a low-rank matrices in rkmatrix representation, ...
double _Complex field
Field type.
Definition: settings.h:171
void lrdecomp_hmatrix(phmatrix a, pctruncmode tm, real eps)
Compute the LR factorization, .
void triangularmul_hmatrix(bool alower, bool aunit, bool atrans, pchmatrix a, pctruncmode tm, real eps, bool xtrans, phmatrix xp)
Evaluate a triangular system, or .
void lreval_hmatrix_avector(bool atrans, pchmatrix a, pavector x)
Evaluate the linear system or using the LR factorization provided by lrdecomp_hmatrix.
phmatrix split_rkmatrix(pcrkmatrix r, pccluster rc, pccluster cc, bool rsplit, bool csplit, bool copy)
Split an rkmatrix into submatrices.
void add_rkmatrix(field alpha, pcrkmatrix src, pctruncmode tm, real eps, prkmatrix trg)
Truncated addition of two low-rank matrices in rkmatrix representation, .
void add_hmatrix(field alpha, pchmatrix a, pctruncmode tm, real eps, phmatrix b)
Locally truncated addition of a hierarchical matrix to a hierarchical matrix representation, .
phmatrix split_sub_amatrix(pcamatrix f, pccluster rc, pccluster cc, bool rsplit, bool csplit)
Split an amatrix into submatrices.
prkmatrix merge_hmatrix_rkmatrix(pchmatrix s, pctruncmode tm, real eps)
Merge a depth-one hmatrix containing only rkmatrix submatrices into a new rkmatrix, .
Define different strategies used by various truncation and compression algorithms for hmatrices and h...
Definition: truncation.h:43
void addmul_hmatrix(field alpha, bool xtrans, pchmatrix x, bool ytrans, pchmatrix y, pctruncmode tm, real eps, phmatrix z)
Multiply two H-matrices, .
#define HEADER_PREFIX
Prefix for function declarations.
Definition: settings.h:43
double real
real floating point type.
Definition: settings.h:97
void triangularmul_hmatrix_amatrix(bool alower, bool aunit, bool atrans, pchmatrix a, bool xtrans, pamatrix xp)
Evaluate a triangular system or .
void addmul_hmatrix_amatrix_amatrix(field alpha, bool atrans, pchmatrix a, bool btrans, pcamatrix bp, bool ctrans, pamatrix cp)
Multiply a matrix by a hmatrix, .
void add_rkmatrix_hmatrix(field alpha, pcrkmatrix a, pctruncmode tm, real eps, phmatrix b)
Locally truncated addition of a low-rank matrix in rkmatrix representation to a hierarchical matrix i...
void triangulareval_hmatrix_avector(bool alower, bool aunit, bool atrans, pchmatrix a, pavector x)
Evaluate a triangular system or .
void merge_rkmatrix(bool colmerge, pcrkmatrix src, pctruncmode tm, real eps, prkmatrix trg)
Split a leaf hmatrix into submatrices.
Representation of cluster trees.
Definition: cluster.h:40
Representation of a low-rank matrix in factorized form .
Definition: rkmatrix.h:36
phmatrix clone_lower_hmatrix(bool aunit, pchmatrix a)
Create a duplicate of the lower triangular part of an H-matrix.
Representation of a matrix as an array in column-major order.
Definition: amatrix.h:43
void trunc_rkmatrix(pctruncmode tm, real eps, prkmatrix r)
Truncate an rkmatrix, .
void triangularinvmul_amatrix_hmatrix(bool alower, bool aunit, bool atrans, pcamatrix a, pctruncmode tm, real eps, bool xtrans, phmatrix xp)
Solve a triangular system, or .
void triangularinvmul_hmatrix(bool alower, bool aunit, bool atrans, pchmatrix a, pctruncmode tm, real eps, bool xtrans, phmatrix xp)
Solve a triangular system, or .
void lrsolve_n_hmatrix_avector(pchmatrix a, pavector x)
Solve the linear systems using the LR factorization provided by lrdecomp_hmatrix.