subgraph_centrality#
- subgraph_centrality(G)[source]#
Returns subgraph centrality for each node in G.
Subgraph centrality of a node
n
is the sum of weighted closed walks of all lengths starting and ending at noden
. The weights decrease with path length. Each closed walk is associated with a connected subgraph ([1]).- Parameters:
- G: graph
- Returns:
- nodesdictionary
Dictionary of nodes with subgraph centrality as the value.
- Raises:
- NetworkXError
If the graph is not undirected and simple.
See also
subgraph_centrality_exp
Alternative algorithm of the subgraph centrality for each node of G.
Notes
This version of the algorithm computes eigenvalues and eigenvectors of the adjacency matrix.
Subgraph centrality of a node
u
in G can be found using a spectral decomposition of the adjacency matrix [1],\[SC(u)=\sum_{j=1}^{N}(v_{j}^{u})^2 e^{\lambda_{j}},\]where
v_j
is an eigenvector of the adjacency matrixA
of G corresponding to the eigenvaluelambda_j
.References
[1] (1,2,3)Ernesto Estrada, Juan A. Rodriguez-Velazquez, βSubgraph centrality in complex networksβ, Physical Review E 71, 056103 (2005). https://arxiv.org/abs/cond-mat/0504730
Examples
(Example from [1]) >>> G = nx.Graph( β¦ [ β¦ (1, 2), β¦ (1, 5), β¦ (1, 8), β¦ (2, 3), β¦ (2, 8), β¦ (3, 4), β¦ (3, 6), β¦ (4, 5), β¦ (4, 7), β¦ (5, 6), β¦ (6, 7), β¦ (7, 8), β¦ ] β¦ ) >>> sc = nx.subgraph_centrality(G) >>> print([fβ{node} {sc[node]:0.2f}β for node in sorted(sc)]) [β1 3.90β, β2 3.90β, β3 3.64β, β4 3.71β, β5 3.64β, β6 3.71β, β7 3.64β, β8 3.90β]