HLIBpro
2.4
|
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.
#include <TAlgCTBuilder.hh>
Public Member Functions | |
TPartAlgCTBuilder (const TAlgCTBuilder *alg_ct_builder, const std::vector< idx_t > &first_lvl_part, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) | |
virtual | ~TPartAlgCTBuilder () |
dtor | |
virtual std::unique_ptr< TCluster > | divide (const TGraph &graph, const uint lvl, TPermutation &perm, const idx_t idx_ofs, const uint n_min, const TSparseMatrix *S, const uint max_lvl) const |
divide a graph graph and build corresponding cluster tree | |
virtual void | partition (const TGraph &graph, TNodeSet &left, TNodeSet &right) const |
partition graph in two sub graphs using base clustering algorithm | |
Public Member Functions inherited from TAlgCTBuilder | |
TAlgCTBuilder (TAlgPartStrat *part_strat, const uint n_min=CFG::Cluster::nmin, const uint min_leaf_lvl=0) | |
construct cluster tree builder with given partition strategy and tree parameters | |
virtual | ~TAlgCTBuilder () |
dtor | |
void | set_high_deg_fac (const uint fac) |
activate/deactivate (if fac = 0) high degree node separation | |
void | set_edge_weights_mode (const edge_weights_mode_t edge_weights_mode) |
set mode for edge weights | |
virtual std::unique_ptr< TClusterTree > | build (const TSparseMatrix *S, const idx_t idx_ofs=0) const |
build cluster tree using connectivity in sparse matrix S | |
Additional Inherited Members | |
Protected Member Functions inherited from TAlgCTBuilder | |
virtual void | scc_partition (const TGraph &graph, TNodeSet &left, TNodeSet &right) const |
same as More... | |
virtual std::unique_ptr< TCluster > | build_leaf (const TGraph &graph, const idx_t idx_ofs, TPermutation &perm) const |
build leaf node for indices in graph | |
virtual uint | adjust_n_min (const TSparseMatrix *S) const |
adjust n_min based on sparse matrix if default value of 0 was given in constructor | |
virtual void | check_flow (const TGraph &graph, TNodeSet &left, TNodeSet &right, const TSparseMatrix *S) const |
analyze connections between sub graphs left and right and swap if necessary | |
TPartAlgCTBuilder | ( | const TAlgCTBuilder * | alg_ct_builder, |
const std::vector< idx_t > & | first_lvl_part, | ||
const uint | n_min = CFG::Cluster::nmin , |
||
const uint | min_leaf_lvl = 0 |
||
) |
construct cluster tree builder with alg_ct_builder as base algorithm and first_lvl_part as start partition