H2Lib  3.0
Data Structures | Typedefs | Functions
harith2.h File Reference
#include "harith.h"

Go to the source code of this file.

Data Structures

struct  _haccum
 Accumulator for H-matrix products. More...
 

Typedefs

typedef struct _haccum haccum
 Accumulator for H-matrix products.
 
typedef haccumphaccum
 Pointer to haccum object.
 
typedef const haccumpchaccum
 Pointer to constant haccum object.
 
typedef struct _hprodentry hprodentry
 Unhandled H-matrix products.
 
typedef hprodentryphprodentry
 Points to hprodentry object.
 

Functions

phaccum new_haccum (phmatrix z, pctruncmode tm, real eps)
 Create a new H-matrix accumulator. More...
 
void del_haccum (phaccum ha)
 Delete an accumulator. More...
 
void addproduct_haccum (field alpha, bool xtrans, pchmatrix x, bool ytrans, pchmatrix y, phaccum za)
 Add a product $\alpha X Y$ to an accumulator. More...
 
phaccumsplit_haccum (phmatrix z, phaccum za)
 Create H-matrix accumulators for submatrices. More...
 
void flush_haccum (phaccum ha)
 Flush an H-matrix accumulator, i.e., add all accumulated products to the target matrix and clear the accumulator. More...
 
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, $B \gets \operatorname{trunc}(B+\alpha A,\epsilon)$. More...
 
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 representation, $B \gets \operatorname{blocktrunc}(B + \alpha A,\epsilon)$. More...
 
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, $Z \gets \operatorname{succtrunc}(Z + \alpha X Y,\epsilon)$. More...
 
void lowersolve_haccum (bool aunit, bool atrans, pchmatrix a, bool xtrans, phaccum xa)
 Solve a lower triangular system using accumulators, $X \gets \operatorname{succtrunc}(L^{-1} X, \epsilon)$ or $X \gets \operatorname{succtrunc}(L^{-*} X, \epsilon)$. More...
 
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, $X \gets \operatorname{succtrunc}(L^{-1} X, \epsilon)$ or $X \gets \operatorname{succtrunc}(L^{-*} X, \epsilon)$. More...
 
void uppersolve_haccum (bool aunit, bool atrans, pchmatrix a, bool xtrans, phaccum xa)
 Solve an upper triangular system using accumulators, $X \gets \operatorname{succtrunc}(R^{-1} X, \epsilon)$ or $X \gets \operatorname{succtrunc}(R^{-*} X, \epsilon)$. More...
 
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, $X \gets \operatorname{succtrunc}(R^{-1} X, \epsilon)$ or $X \gets \operatorname{succtrunc}(R^{-*} X, \epsilon)$. More...
 
void lrdecomp_haccum (phaccum aa)
 Compute the LR factorization using accumulators, $A \approx L R$. More...
 
void lrdecomp2_hmatrix (phmatrix a, pctruncmode tm, real eps)
 Compute the LR factorization using accumulators, $A \approx L R$. More...
 
void choldecomp_haccum (phaccum aa)
 Compute the Cholesky factorization using accumulators, $A \approx L L^*$. More...
 
void choldecomp2_hmatrix (phmatrix a, pctruncmode tm, real eps)
 Compute the Cholesky factorization using accumulators, $A \approx L L^*$. More...
 

Detailed Description

Author
Steffen Börm