H2Lib  3.0
Data Structures | Typedefs | Functions
h2compression.h File Reference
#include "h2matrix.h"
#include "hmatrix.h"
#include "truncation.h"

Go to the source code of this file.

Data Structures

struct  _truncblock
 Description of basis and weights for one submatrix in the unification algorithm. More...
 

Typedefs

typedef struct _truncblock truncblock
 Cluster basis and weights for use in the unification algorithm.
 
typedef truncblockptruncblock
 Pointer to truncblock object.
 

Functions

ph2matrix compress_amatrix_h2matrix (pcamatrix G, pcblock b, pctruncmode tm, real eps)
 Approximate a matrix, represented by an amatrix object, by an $\mathcal{H}^2$-matrix. More...
 
ph2matrix compress_hmatrix_h2matrix (pchmatrix G, pctruncmode tm, real eps)
 Approximate a hierarchical matrix, represented by an hmatrix object, by an $\mathcal{H}^2$-matrix. More...
 
ph2matrix compress_h2matrix_h2matrix (pch2matrix G, bool rbortho, bool cbortho, pctruncmode tm, real eps)
 Approximate an $\mathcal{H}^2$-matrix, represented by an h2matrix object, by a recompressed $\mathcal{H}^2$-matrix. More...
 
ph2matrix compress_symmetric_h2matrix_h2matrix (pch2matrix G, bool rbortho, pctruncmode tm, real eps)
 Approximate a symmetric $\mathcal{H}^2$-matrix, represented by an h2matrix object, by a recompressed $\mathcal{H}^2$-matrix. More...
 
void rowweights_h2matrix (pch2matrix G, pcclusteroperator rbw, pcclusteroperator cbw, pctruncmode tm, pclusteroperator rlw)
 Prepare local row weights for a given $\mathcal{H}^2$-matrix. More...
 
void colweights_h2matrix (pch2matrix G, pcclusteroperator rbw, pcclusteroperator cbw, pctruncmode tm, pclusteroperator clw)
 Prepare local column weights for a given $\mathcal{H}^2$-matrix. More...
 
void localweights_h2matrix (pch2matrix G, pcclusteroperator rbw, pcclusteroperator cbw, pctruncmode tm, pclusteroperator rlw, pclusteroperator clw)
 Prepare local weights for a given $\mathcal{H}^2$-matrix. More...
 
void accumulate_clusteroperator (pcclusterbasis cb, pctruncmode tm, pclusteroperator lw)
 Merge the local weights of clusters with the weights inherited from their ancestors in order to obtain total weights. More...
 
void totalweights_h2matrix (pch2matrix G, bool rbortho, bool cbortho, pctruncmode tm, pclusteroperator rw, pclusteroperator cw)
 Construct total weights for a given $\mathcal{H}^2$-matrix. More...
 
void truncate_clusterbasis (pcclusterbasis cb, pcclusteroperator cw, pcclusteroperator clw, pctruncmode tm, real eps, pclusterbasis cbnew, pclusteroperator old2new)
 Compute a truncated cluster basis. More...
 
pclusterbasis buildrowbasis_h2matrix (pch2matrix G, bool rbortho, bool cbortho, pctruncmode tm, real eps, pclusteroperator old2new)
 Construct an improved row basis for an $\mathcal{H}^2$-matrix. More...
 
pclusterbasis buildcolbasis_h2matrix (pch2matrix G, bool rbortho, bool cbortho, pctruncmode tm, real eps, pclusteroperator old2new)
 Construct an improved row basis for an $\mathcal{H}^2$-matrix. More...
 
void truncrowbasis_h2matrix (ph2matrix G, bool rbortho, bool cbortho, pctruncmode tm, real eps, pclusterbasis rbnew, pclusteroperator old2new)
 Construct an improved row basis for an $\mathcal{H}^2$-matrix. More...
 
void trunccolbasis_h2matrix (ph2matrix G, bool rbortho, bool cbortho, pctruncmode tm, real eps, pclusterbasis cbnew, pclusteroperator old2new)
 Construct an improved column basis for an $\mathcal{H}^2$-matrix. More...
 
ph2matrix build_projected_h2matrix (pch2matrix G, pclusterbasis rb, pcclusteroperator ro, pclusterbasis cb, pcclusteroperator co)
 Construct an $\mathcal{H}^2$-matrix approximation of a given $\mathcal{H}^2$-matrix in new cluster bases by blockwise projection. More...
 
void project_inplace_h2matrix (ph2matrix G, pclusterbasis rb, pcclusteroperator ro, pclusterbasis cb, pcclusteroperator co)
 Switch the cluster bases of an $\mathcal{H}^2$-matrix by applying blockwise projections. More...
 
void orthoweight_clusterbasis (pclusterbasis cb)
 Compute cluster weights and store them in the cluster basis. More...
 
void totalweight_row_clusteroperator (pclusterbasis rb, pclusteroperator rw, pctruncmode tm)
 Compute total row weights of a matrix. More...
 
void totalweight_col_clusteroperator (pclusterbasis cb, pclusteroperator cw, pctruncmode tm)
 Compute total column weights of a matrix. More...
 
void truncate_inplace_clusterbasis (pclusterbasis cb, pclusteroperator cw, pctruncmode tm, real eps)
 Replace a cluster basis with a truncated basis. More...
 
void recompress_inplace_h2matrix (ph2matrix G, pctruncmode tm, real eps)
 Recompress an $\mathcal{H}^2$-matrix. More...
 
ptruncblock new_truncblock (pcclusterbasis cb, pcclusteroperator cw, ptruncblock next)
 Create a new truncblock object. More...
 
void del_truncblock (ptruncblock tb)
 Delete a list of truncblock objects. More...
 
ptruncblock reverse_truncblock (ptruncblock tb)
 Reverse the order of a list of truncblock objects. More...
 
pclusterbasis unify_clusterbasis (pccluster t, ptruncblock tb, pctruncmode tm, real eps, pclusteroperator*cw)
 Construct a unified cluster basis. More...
 
void unify_h2matrix (ph2matrix G, pclusteroperator*rw1, pclusteroperator*cw1, pctruncmode tm, real eps, pclusteroperator*rw, pclusteroperator*cw)
 Unify $\mathcal{H}^2$-submatrices into a large $\mathcal{H}^2$-matrix. More...
 
void unify_parallel_h2matrix (ph2matrix G, uint pardepth, pclusteroperator*rw1, pclusteroperator*cw1, pctruncmode tm, real eps, pclusteroperator*rw, pclusteroperator*cw)
 Unify $\mathcal{H}^2$-submatrices into a large $\mathcal{H}^2$-matrix, experimental parallel implementation. More...
 
void convert_rkmatrix_uniform (pcrkmatrix r, puniform u, pctruncmode tm, pclusteroperator*rw, pclusteroperator*cw)
 Converts an rkmatrix into a uniform matrix. More...
 
pclusterbasis buildrowbasis_hmatrix (pchmatrix G, pctruncmode tm, real eps)
 Construct a row basis for a hierarchical matrix. More...
 
pclusterbasis buildcolbasis_hmatrix (pchmatrix G, pctruncmode tm, real eps)
 Construct a column basis for a hierarchical matrix. More...
 
ph2matrix build_projected_hmatrix_h2matrix (pchmatrix G, pclusterbasis rb, pclusterbasis cb)
 Construct an $\mathcal{H}^2$-matrix approximation of a given hierarchical matrix in given cluster bases by blockwise projection. More...
 
pclusterbasis buildrowbasis_amatrix (pcamatrix G, pcblock b, pctruncmode tm, real eps)
 Construct a row basis for an array matrix. More...
 
pclusterbasis buildcolbasis_amatrix (pcamatrix G, pcblock b, pctruncmode tm, real eps)
 Construct a column basis for an array matrix. More...
 
ph2matrix build_projected_amatrix_h2matrix (pcamatrix G, pcblock b, pclusterbasis rb, pclusterbasis cb)
 Construct an $\mathcal{H}^2$-matrix approximation of a given array matrix in given cluster bases by blockwise projection. More...
 

Detailed Description

Author
Steffen Börm