Warning

This documents an unmaintained version of NetworkX. Please upgrade to a maintained version and see the current NetworkX documentation.

networkx.algorithms.richclub.rich_club_coefficient

rich_club_coefficient(G, normalized=True, Q=100, seed=None)[source]

Returns the rich-club coefficient of the graph G.

For each degree k, the rich-club coefficient is the ratio of the number of actual to the number of potential edges for nodes with degree greater than k:

\[\phi(k) = \frac{2 E_k}{N_k (N_k - 1)}\]

where N_k is the number of nodes with degree larger than k, and E_k is the number of edges among those nodes.

Parameters
  • G (NetworkX graph) – Undirected graph with neither parallel edges nor self-loops.

  • normalized (bool (optional)) – Normalize using randomized network as in 1

  • Q (float (optional, default=100)) – If normalized is True, perform Q * m double-edge swaps, where m is the number of edges in G, to use as a null-model for normalization.

  • seed (integer, random_state, or None (default)) – Indicator of random number generation state. See Randomness.

Returns

rc – A dictionary, keyed by degree, with rich-club coefficient values.

Return type

dictionary

Examples

>>> G = nx.Graph([(0, 1), (0, 2), (1, 2), (1, 3), (1, 4), (4, 5)])
>>> rc = nx.rich_club_coefficient(G, normalized=False)
>>> rc[0] 
0.4

Notes

The rich club definition and algorithm are found in 1. This algorithm ignores any edge weights and is not defined for directed graphs or graphs with parallel edges or self loops.

Estimates for appropriate values of Q are found in 2.

References

1(1,2)

Julian J. McAuley, Luciano da Fontoura Costa, and Tibério S. Caetano, “The rich-club phenomenon across complex network hierarchies”, Applied Physics Letters Vol 91 Issue 8, August 2007. https://arxiv.org/abs/physics/0701290

2

R. Milo, N. Kashtan, S. Itzkovitz, M. E. J. Newman, U. Alon, “Uniform generation of random graphs with arbitrary degree sequences”, 2006. https://arxiv.org/abs/cond-mat/0312028