HLIBpro  2.8.1
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, 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< TClusterTreebuild (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< 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 (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
 

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