Geometric clustering

A geometric clustering is a hierarchical partition of the underlying geometry on which the kernel matrix is defined. See htool::ClusterTreeBuilder::create_cluster_tree() for more information about the available parameters to customize htool::Cluster construction.

Available customizations

To create geometric clustering with htool::ClusterTreeBuilder, two type of strategies allow customization of the algorithm defining \(n_{\mathrm{children}}\) children of a cluster node:

  1. Computation of the main directions for a given cluster node. Available strategies are:

  2. Splitting position of a cluster node along a given direction. Available strategies are

Strategies can be used to define a htool::Partitioning that can be given to htool::ClusterTreeBuilder via htool::ClusterTreeBuilder::set_partitioning_strategy().

In any case, htool::Partitioning will compute the main direction of the current cluster, using the first strategy, and split the current cluster \(n_{\mathrm{children}}\) times orthogonally to this direction using the second strategy. Except in the case where \(n_{\mathrm{children}}=2^d\) where \(d\) is the spatial dimension, in which case it will split in two along each main directions.

See here for more advanced customization.

Visualisation

The geometric clustering can be exported to a file using htool::save_clustered_geometry().