|
std::unique_ptr< TCluster > | divide_if (const TGraph &graph, const TNodeSet &surrounding, const TNodeSet &vtxsep, const uint lvl, const idx_t idx_ofs, TPermutation &perm, const uint max_lvl, const uint n_min, const TOptClusterSize &csize) const |
| divide vertex separator vtxsep using connectivity defined by graph
|
|
std::unique_ptr< TCluster > | divide_if (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 TOptClusterSize &csize) const |
| build cluster tree for vertex separator graph
|
|
virtual std::unique_ptr< TCluster > | build_leaf (const TGraph &graph, const TNodeSet &nodes, const idx_t idx_ofs, TPermutation &perm) const |
| build leaf node for indices in nodes
|
|
virtual void | partition (const TGraph &graph, const TNodeSet &surrounding, const TNodeSet &vtxsep, TNodeSet &left, TNodeSet &right, TNodeSet &loc_sur) const |
| graph partitioning algorithm for vertex separators
|
|
virtual void | build_vtx_sep (const TGraph &graph, TNodeSet &left, TNodeSet &right, TNodeSet &vtxsep) const |
| build vertex separator vtxsep between left and right
|
|
virtual uint | bfs_vtxsep (const TGraph &graph, TNodeSet &start, TNodeSet &last, std::vector< bool > &visited, const std::vector< char > &label, const uint max_nnodes) const |
|
virtual void | bfs_step (const TGraph &graph, TNodeSet &nodes, TNodeSet &succ, std::vector< bool > &visited, const std::vector< char > &label, const char local) const |
|
virtual void | restrict_vtx (TNodeSet &nodes, const std::vector< char > &label) const |
| restrict node set nodes to nodes in vertex separator, defined by label
|
|
virtual void | build_scc (const TGraph &graph, const TNodeSet &surrounding, std::list< TNodeSet > &scc) const |
| build strongly connected components of graph restricted to surrounding
|
|
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 void | scc_partition (const TGraph &graph, TNodeSet &left, TNodeSet &right) const |
| same as
|
|
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
|
|