H2Lib  3.0
Data Structures | Typedefs | Functions
duniform.h File Reference
#include "settings.h"
#include "amatrix.h"
#include "dclusterbasis.h"

Go to the source code of this file.

Data Structures

struct  _duniform
 Uniform matrices with directional cluster bases. More...
 

Typedefs

typedef struct _duniform duniform
 Uniform matrices with directional cluster bases.
 
typedef duniformpduniform
 Pointer to duniform objects.
 
typedef const duniformpcduniform
 Pointer to constant duniform objects.
 

Functions

pduniform new_duniform (pdclusterbasis rb, uint rd, pdclusterbasis cb, uint cd)
 Create a new duniform object. More...
 
void del_duniform (pduniform u)
 Delete a duniform object. More...
 
size_t getsize_duniform (pcduniform u)
 Compute the storage size of a duniform object. More...
 
void clear_duniform (pduniform u)
 Set a duniform matrix to zero. More...
 
void copy_duniform (pcduniform src, pduniform trg)
 Copy a duniform matrix. More...
 
void fastaddeval_duniform_avector (field alpha, pcduniform u, pcavector xt, pavector yt)
 Fast matrix-vector multiplication. More...
 
void fastaddevaltrans_duniform_avector (field alpha, pcduniform u, pcavector xt, pavector yt)
 Fast adjoint matrix-vector multiplication. More...
 
void slowaddeval_duniform_avector (field alpha, pcduniform u, pcavector x, pavector y)
 Slow matrix-vector multiplication $y \gets y + \alpha G x$. More...
 
void slowaddevaltrans_duniform_avector (field alpha, pcduniform u, pcavector x, pavector y)
 Slow adjoint matrix-vector multiplication $y \gets y + \alpha G^* x$. More...
 
void expand_duniform (field alpha, pcduniform u, pamatrix G)
 Convert a duniform matrix to a dense matrix. More...
 
real norm2_fast_duniform (pcduniform u, pcdclusteroperator ro, pcdclusteroperator co)
 Will compute the Euclidean norm of the coupling matrix or of the product of one or two weight matrices with the coupling matrix. More...
 
real normfrob_fast_duniform (pcduniform u, pcdclusteroperator ro, pcdclusteroperator co)
 Will compute the Frobenius norm of the coupling matrix or of the product of one or two weight matrices with the coupling matrix. More...
 
void add_projected_duniform (pcduniform u, pcdclusteroperator ro, pcdclusteroperator co, pduniform unew)
 Addition of two duniform matrices even with different directional cluster basis. More...
 

Detailed Description

Author
Steffen Börm