H2Lib  3.0
Data Structures | Typedefs | Functions
dclusterbasis.h File Reference
#include "dcluster.h"
#include "dblock.h"
#include "amatrix.h"
#include "dclusteroperator.h"

Go to the source code of this file.

Data Structures

struct  _dclusterbasis
 Representation of a directional cluster basis. More...
 

Typedefs

typedef struct _dclusterbasis dclusterbasis
 Representation of a directional cluster basis.
 
typedef dclusterbasispdclusterbasis
 Pointer to a dclusterbasis object.
 
typedef const dclusterbasispcdclusterbasis
 Pointer to a constant dclusterbasis object.
 

Functions

pdclusterbasis init_dclusterbasis (pdclusterbasis cb, pcdcluster t)
 Initialize a dclusterbasis object. More...
 
void uninit_dclusterbasis (pdclusterbasis cb)
 Uninitializes a dclusterbasis object. More...
 
pdclusterbasis new_dclusterbasis (pcdcluster t)
 Create a new dclusterbasis object. More...
 
void del_dclusterbasis (pdclusterbasis cb)
 Delete a dclusterbasis object. More...
 
void update_dclusterbasis (pdclusterbasis cb)
 Updates bookkeeping information, e.g., cb->ktree, for a dclusterbasis object after its sons have been altered. More...
 
void setrank_dclusterbasis (pdclusterbasis cb, uint iota, uint k)
 Change the rank of a directional cluster basis and resize cb->V[iota], while for all sons i the transfer matrices cb->E[i][iota] is resized. More...
 
void initmatrices_dclusterbasis (pdclusterbasis cb)
 Initialize the matrices for a dclusterbasis object. More...
 
void findranks_dclusterbasis (uint rank, pcdblock b, pdclusterbasis rb, pdclusterbasis cb)
 Determine the ranks of the directional cluster basis. More...
 
uint getactives_dclusterbasis ()
 Get number of active dclusterbasis objects. More...
 
size_t getsize_dclusterbasis (pcdclusterbasis cb)
 Get the size of a given dclusterbasis object. More...
 
size_t getsize_nonrecursive_dclusterbasis (pcdclusterbasis cb)
 Get the size of a given dclusterbasis object, without considering its sons. More...
 
uint getmaxrank_dclusterbasis (pcdclusterbasis cb)
 Get the maximum rank of a given dclusterbasis object. More...
 
uint getactivedirections_dclusterbasis (pcdclusterbasis cb)
 Count the number of all used directions for a given dclusterbasis object. More...
 
void print_tree_dclusterbasis (pcdclusterbasis cb)
 Print the tree structure of a given dclusterbasis object. More...
 
pdclusterbasis buildfromdcluster_dclusterbasis (pcdcluster t)
 Construct a dclusterbasis from a directional cluster tree. More...
 
pavector newcoeffs_dclusterbasis (pcdclusterbasis cb)
 Create coefficient vector for a directional cluster basis. More...
 
void forward_dclusterbasis (pcdclusterbasis cb, pcavector x, pavector xt)
 Forward transformation. More...
 
void backward_dclusterbasis (pcdclusterbasis cb, pavector yt, pavector y)
 Backward transformation. More...
 
void slowforward_dclusterbasis (pcdclusterbasis cb, pcavector x, pavector xt)
 Slow version of the forward transformation. More...
 
void slowbackward_dclusterbasis (pcdclusterbasis cb, pcavector yt, pavector y)
 Slow version of the backward transformation. More...
 
void compress_dclusterbasis (pcdclusterbasis cb, pcavector xp, pavector xt)
 Compute $\hat x_t = V_t^* x$. More...
 
void expand_dclusterbasis (field alpha, pcdclusterbasis cb, pavector yt, pavector yp)
 Add $ \alpha V_t \hat y_t$ to target vector $y$. More...
 
void blockcompress_dclusterbasis (pcdclusterbasis cb, pcamatrix Xp, pamatrix Xt)
 Compute $\widehat{X}_t = V_t^* X$. More...
 
void blockexpand_dclusterbasis (field alpha, pcdclusterbasis cb, pamatrix Xt, pamatrix Xp)
 Compute $ X =X + \alpha V_t \widehat{X}_t$. More...
 
pdclusterbasisenumerate_dclusterbasis (pcdcluster t, pdclusterbasis cb)
 Enumerate dclusterbasis according to the durectional cluster tree. More...
 
void iterate_dclusterbasis (pdclusterbasis cb, uint tname, uint pardepth, void(*pre)(pdclusterbasis cb, uint tname, uint pardepth, void *data), void(*post)(pdclusterbasis cb, uint tname, uint pardepth, void *data), void *data)
 Hierarchical iterator for a dclusterbasis. More...
 
void ortho_dclusterbasis (pdclusterbasis cb, pdclusteroperator co)
 Create an orthogonal directional cluster basis. More...
 
void weight_dclusterbasis_dclusteroperator (pdclusterbasis cb, pdclusteroperator co)
 Compute weight matrices with QR-decomposition. More...
 
real check_ortho_dclusterbasis (pcdclusterbasis cb)
 Check if a given directional cluster basis is orthogonal or not. More...
 
pdclusterbasis clone_structure_dclusterbasis (pcdclusterbasis cb)
 Clone the structure of an already existing directional cluster basis. More...
 
pdclusterbasis duplicate_dclusterbasis (pcdclusterbasis cb)
 Duplicate a directional cluster basis. More...
 

Detailed Description

Author
Steffen Börm