H2Lib  3.0
Data Structures | Typedefs | Enumerations | Functions
cluster.h File Reference
#include "settings.h"
#include "clustergeometry.h"

Go to the source code of this file.

Data Structures

struct  _cluster
 Representation of cluster trees. More...
 

Typedefs

typedef struct _cluster cluster
 Representation of a cluster tree.
 
typedef clusterpcluster
 Pointer to cluster object.
 
typedef const clusterpccluster
 Pointer to constant cluster object.
 

Enumerations

enum  clustermode { H2_ADAPTIVE, H2_REGULAR, H2_SIMSUB, H2_PCA }
 Set the clustering strategy. More...
 

Functions

pcluster new_cluster (uint size, uint *idx, uint sons, uint dim)
 Create a new cluster object. More...
 
void del_cluster (pcluster t)
 Delete a cluster object. More...
 
void update_cluster (pcluster t)
 Complete the initialisation of a cluster object. More...
 
pcluster build_adaptive_cluster (pclustergeometry cf, uint size, uint *idx, uint clf)
 Build a cluster tree from a clustergeometry object using adaptive clustering. More...
 
pcluster build_regular_cluster (pclustergeometry cf, uint size, uint *idx, uint clf, uint direction)
 Build a cluster tree from a clustergeometry object using regular clustering. More...
 
pcluster build_simsub_cluster (pclustergeometry cf, uint size, uint *idx, uint clf)
 Build a cluster tree from a clustergeometry object using simultaneous subdivision clustering. More...
 
pcluster build_pca_cluster (pclustergeometry cf, uint size, uint *idx, uint clf)
 Build a cluster tree from a clustergeometry object based on the principal component analysis. More...
 
pcluster build_cluster (pclustergeometry cf, uint size, uint *idx, uint clf, clustermode mode)
 Build a cluster tree from a clustergeometry object using cluster strategy clustermode. More...
 
uint getdepth_cluster (pccluster t)
 Compute the depth of a cluster object. More...
 
uint getmindepth_cluster (pccluster t)
 Compute the minimal level of a cluster object. More...
 
void extend_cluster (pcluster t, uint depth)
 Extends a given cluster $t$ until getmindepth_cluster(t) == depth. More...
 
void cut_cluster (pcluster t, uint depth)
 Cut a cluster object until a new depth is reached. More...
 
void balance_cluster (pcluster t, uint depth)
 Balance a cluster tree to a given depth. More...
 
void coarsen_cluster (pcluster t, uint minsize)
 Coarsen a cluster tree to a minimal size. More...
 
void setsons_cluster (pcluster t, uint sons)
 Set the number of sons of a cluster tree. More...
 
real getdiam_2_cluster (pccluster t)
 Compute the euclidian diameter of the bounding box of a cluster. More...
 
real getdist_2_cluster (pccluster t, pccluster s)
 Compute the euclidian distance of two clusters. More...
 
real getdiam_max_cluster (pccluster t)
 Compute the diameter of the bounding of a cluster in the maximum norm. More...
 
real getdist_max_cluster (pccluster t, pccluster s)
 Compute the distance of two clusters in the maximum norm. More...
 
void iterate_cluster (pccluster t, uint tname, void(*pre)(pccluster t, uint tname, void *data), void(*post)(pccluster t, uint tname, void *data), void *data)
 Hierarchical iterator for a cluster tree. More...
 
void iterate_parallel_cluster (pccluster t, uint tname, uint pardepth, void(*pre)(pccluster t, uint tname, void *data), void(*post)(pccluster t, uint tname, void *data), void *data)
 Parallel hierarchical iterator for a cluster tree. More...
 
pclusterenumerate_cluster (pcluster t)
 Enumerate all clusters in a cluster tree. More...
 
void write_cdf_cluster (pccluster t, const char *name)
 Write cluster to NetCDF file. More...
 
void write_cdfpart_cluster (pccluster t, int nc_file, const char *prefix)
 Write cluster to part of a NetCDF file. More...
 
pcluster read_cdf_cluster (const char *name)
 Read cluster from NetCDF file. More...
 
pcluster read_cdfpart_cluster (int nc_file, const char *prefix)
 Read cluster from part of a NetCDF file. More...
 

Detailed Description

Author
Knut Reimer