|
HLIBpro
2.5.1
|
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