HLIBpro  3.0
Cluster

Classes

class  TAdmCondition
 Defines basic interface for admissibility conditions. More...
 
class  TOffDiagAdmCond
 everything except diagonal is admissible More...
 
class  TAlgAdmCond
 base class for algebraic admissibility conditions More...
 
class  TStdAlgAdmCond
 Standard admissibility condition based on matrix graph criteria. More...
 
class  TAlgCTBuilder
 Base class for cluster tree construction algorithms based on graph partitioning with graph defined by a sparse matrix. More...
 
class  TAlgNDCTBuilder
 Enhances algebraic clustering by nested dissection. More...
 
class  TPartAlgCTBuilder
 Enhances algebraic clustering by allowing the user to define the first level of index partitioning, e.g. define which index belongs to which son cluster. More...
 
class  TAlgPartStrat
 Base class for partitioning strategies for algebraic clustering. More...
 
class  TBFSAlgPartStrat
 Graph partitioning using BFS algorithm and FM optimisation. More...
 
class  TMLAlgPartStrat
 Multi level graph partitioning. More...
 
class  TMETISAlgPartStrat
 Graph partitioning using METIS. More...
 
class  TScotchAlgPartStrat
 Graph partitioning using Scotch. More...
 
class  TChacoAlgPartStrat
 Graph partitioning using CHACO. More...
 
class  TMongooseAlgPartStrat
 Graph partitioning using Mongoose. More...
 
class  TBCBuilder
 Recursively build block cluster tree with supplied admissibility condition. More...
 
class  TBlockCluster
 Representing a node in a block cluster tree as product of two clusters. More...
 
class  TBlockClusterTree
 Represents a block cluster tree. More...
 
class  TGeomCTBuilder
 Base class for all cluster tree constructors based on geometry data. More...
 
class  TBSPCTBuilder
 Base class for all cluster tree constructors based on BSP. More...
 
class  TBSPNDCTBuilder
 Combines binary space partitioning with nested dissection based on connectivity defined by a sparse matrix. More...
 
class  TGeomPartCTBuilder
 Enhances other geometrical ct builders by allowing the user to define the first level of index partitioning by a given vector. More...
 
class  TGeomGroupCTBuilder
 Enhances geometrical ct builder by allowing to group indices, e.g. the groups are clustered and later expanded, ensuring that all indices in a group are in the same cluster NOTE: bounding boxes per index are not yet supported (bb_min/bb_max) More...
 
class  TMBLRBSPCTBuilder
 implement MBLR clustering More...
 
class  TBSPPartStrat
 Base class for partitioning strategies for geometrical BSP clustering. More...
 
class  TGeomBSPPartStrat
 Partition according to geometrical volume of index sets. More...
 
class  TCardBSPPartStrat
 Partition according to cardinality of index sets. More...
 
class  TPCABSPPartStrat
 Partition according to principle component analysis. More...
 
class  TNDBSPPartStrat< value_t >
 Special partition strategy to optimized nested dissection clustering. More...
 
class  TAutoBSPPartStrat
 Automatic choice of best partitioning strategy. More...
 
class  TCluster
 Represents a node in a cluster tree with an arbitrary number of sons. More...
 
class  TClusterBasis< T_value >
 class representing a nested cluster basis More...
 
class  TDenseClusterBasisBuilder< T >
 class for constructing cluster bases using dense matrices More...
 
class  THClusterBasisBuilder< T >
 class for constructing cluster bases using H-matrices More...
 
class  TClusterTree
 Represents a cluster tree with permutation of index sets. More...
 
class  TDiGraph
 Class for directed graph represented by adjacency matrix in sparse format (assuming sparse graph!) More...
 
class  TFVS
 Uses a heuristic algorithm to compute feedback vertex set of a directed graph represented by a sparse matrix. More...
 
class  TStdGeomAdmCond
 Standard admissibility for FEM/BEM applications normal : adm iff min( diam(τ), diam(σ) ) ≤ η·dist(τ,σ) use_max: adm iff max( diam(τ), diam(σ) ) ≤ η·dist(τ,σ) More...
 
class  TWeakStdGeomAdmCond
 Combination of standard and weak admissibility. More...
 
class  THiLoFreqGeomAdmCond
 Admissibility for high and low frequency regimes. More...
 
class  TParabolicGeomAdmCond
 Parabolic admissibility for high frequency regimes. More...
 
class  TGeomCluster
 Extend standard cluster by bounding box. More...
 
class  TGraph
 Class for a undirected graph stored as adjacency matrix in CRS representation. More...
 
class  TEWGraph
 Represents undirected graph with edge weights. More...
 
class  TNodeSet
 Represents a set of nodes by an array. More...
 

Typedefs

using weight_t = int
 type for edge weights
 
using node_t = idx_t
 Basic type for storing node names.
 

Enumerations

enum  adjust_depth_mode_t : bool { adjust_depth_off = false , adjust_depth_on = true }
 turns on/off depth adjustment of sub trees
 
enum  edgecut_weights_mode_t : bool { edgecut_weights_off = false , edgecut_weights_on = true }
 turn on/off usage of weights in edge cut
 
enum  edge_weights_mode_t { edge_weights_off , edge_weights_on , edge_weights_on_sym }
 turn on/off usage of edge weights
 
enum  cluster_level_mode_t : bool { cluster_level_any = false , cluster_level_same = true }
 turn on/off enforcement of same cluster level in block cluster
 
enum  diam_mode_t { use_min_diam , use_max_diam }
 choose between minimum and maximum of cluster diameters in std. adm.
 

Functions

void flatten_leaf (TBlockCluster *root)
 flatten hierarchy of block cluster tree to first level with leaves \detail The first levels in the block cluster tree with no leaves are eliminated such that the tree root will directly have sons on this level.
 
void flatten (TCluster *root)
 flatten hierarchy of cluster tree \detail Flatten hierarchy of cluster tree starting at root
 

Detailed Description

This modules provides all classes for index set and cluster management, e.g. cluster trees, block cluster trees.

#include <hlib-cluster.hh>