Source code for easygraph.functions.hypergraph.centrality.s_centrality

import easygraph as eg


__all__ = ["s_betweenness", "s_closeness", "s_eccentricity"]


[docs] def s_betweenness(H, s=1, n_workers=None): """Computes the betweenness centrality for each edge in the hypergraph. Computes the betweenness centrality for each edge in the hypergraph. Parameters ---------- H : eg.Hypergraph. The hypergraph to compute s : int, optional. Returns ---------- dict The keys are the edges and the values are the betweenness centrality. The betweenness centrality for each edge in the hypergraph. """ linegraph = H.get_linegraph(s=s) results = eg.betweenness_centrality(linegraph, n_workers=n_workers) return results
[docs] def s_closeness(H, s=1, n_workers=None): """ Compute the closeness centrality for each edge in the hypergraph. Parameters ---------- H : eg.Hypergraph. s : int, optional Returns ------- dict. The closeness centrality for each edge in the hypergraph. The keys are the edges and the values are the closeness centrality. """ linegraph = H.get_linegraph(s=s) results = eg.closeness_centrality(linegraph, n_workers=n_workers) return results
[docs] def s_eccentricity(H, s=1, edges=True, source=None): r""" The length of the longest shortest path from a vertex $u$ to every other vertex in the s-linegraph. $V$ = set of vertices in the s-linegraph $d$ = shortest path distance .. math:: \text{s-ecc}(u) = \text{max}\{d(u,v): v \in V\} Parameters ---------- H : eg.Hypergraph s : int, optional edges : bool, optional Indicates if method should compute edge linegraph (default) or node linegraph. source : str, optional Identifier of node or edge of interest for computing centrality Returns ------- dict or float returns the s-eccentricity value of the edges(nodes). If source=None a dictionary of values for each s-edge in H is returned. If source then a single value is returned. If the s-linegraph is disconnected, np.inf is returned. """ g = H.get_linegraph(s=s, edges=edges) result = eg.eccentricity(g) if source: return result[source] else: return result