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



Return communicability centrality for each node in G.

Communicability centrality, also called subgraph centrality, of a node \(n\) is the sum of closed walks of all lengths starting and ending at node \(n\).

Parameters:G (graph) –
Returns:nodes – Dictionary of nodes with communicability centrality as the value.
Return type:dictionary
Raises:NetworkXError – If the graph is not undirected and simple.

See also

Communicability between all pairs of nodes in G.
Communicability centrality for each node of G.


This version of the algorithm computes eigenvalues and eigenvectors of the adjacency matrix.

Communicability centrality of a node \(u\) in G can be found using a spectral decomposition of the adjacency matrix [1] [2],

\[SC(u)=\sum_{j=1}^{N}(v_{j}^{u})^2 e^{\lambda_{j}},\]

where \(v_j\) is an eigenvector of the adjacency matrix \(A\) of G corresponding corresponding to the eigenvalue \(\lambda_j\).


>>> G = nx.Graph([(0,1),(1,2),(1,5),(5,4),(2,4),(2,3),(4,3),(3,6)])
>>> sc = nx.communicability_centrality(G)


[1]Ernesto Estrada, Juan A. Rodriguez-Velazquez, “Subgraph centrality in complex networks”, Physical Review E 71, 056103 (2005). http://arxiv.org/abs/cond-mat/0504730
[2]Ernesto Estrada, Naomichi Hatano, “Communicability in complex networks”, Phys. Rev. E 77, 036111 (2008). http://arxiv.org/abs/0707.0756