HLIBpro 3.1
Loading...
Searching...
No Matches
TPartAlgCTBuilder Class Reference

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>

Inheritance diagram for TPartAlgCTBuilder:
TAlgCTBuilder

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< TClusterdivide (const TGraph &graph, const uint lvl, TPermutation &perm, const idx_t idx_ofs, const uint n_min, any_const_sparse_matrix_t 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
 
std::unique_ptr< TClusterTreebuild (any_const_sparse_matrix_t 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
 
virtual std::unique_ptr< TClusterbuild_leaf (const TGraph &graph, const idx_t idx_ofs, TPermutation &perm) const
 build leaf node for indices in graph
 
virtual uint adjust_n_min (any_const_sparse_matrix_t 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, any_const_sparse_matrix_t S) const
 analyze connections between sub graphs left and right and swap if necessary
 

Constructor & Destructor Documentation

◆ TPartAlgCTBuilder()

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