ragraph.analysis.bus._gamma#

Gamma bus detection module.

Wilschut, T., Etman, L. F. P., Rooda, J. E., & Adan, I. J. B. F. (2017). Multilevel

Flow-Based Markov Clustering for Design Structure Matrices. Journal of Mechanical Design, 139(12), 121402. https://doi.org/10.1115/1.4037626

Module Contents#

Functions#

gamma_bus_detection(...)

Detect bus nodes in an adjacency matrix.

Attributes#

gamma_params

gamma_analysis

ragraph.analysis.bus._gamma.gamma_params#
ragraph.analysis.bus._gamma.gamma_analysis#
ragraph.analysis.bus._gamma.gamma_bus_detection(graph: ragraph.graph.Graph, root: Optional[Union[ragraph.graph.Node, str]] = None, leafs: Optional[Union[List[ragraph.graph.Node], List[str]]] = None, inherit: bool = True, loops: bool = False, edge_weights: Optional[List[str]] = None, names: bool = False, gamma: float = gamma_params['gamma'].default, safe: bool = True, **kwargs) Union[Tuple[List[ragraph.graph.Node], List[ragraph.graph.Node]], Tuple[List[str], List[str]]]#

Detect bus nodes in an adjacency matrix.

Parameters:
  • matrix – Adjacency matrix.

  • root – Root node of this bus detection analysis.

  • leafs – Optional list of nodes to consider leafs during this bus detection cycle.

  • inherit – Whether edges between descendants of nodes should be taken into account (if applicable).

  • loops – Whether self-loop edges should be taken into account (if applicable).

  • gamma – Bus threshold w.r.t. median of nonzero node degrees.

  • names – Whether to return node names or node instances.

Returns:

Bus leafs. Nonbus leafs.

Note

Works by selecting node degree outliers by some factor gamma w.r.t. median of nonzero node degrees.