#

Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

#

networkx.algorithms.communicability_alg.communicability_exp

communicability_exp(G)[source]

Returns communicability between all pairs of nodes in G.

Communicability between pair of node (u,v) of node in G is the sum of walks of different lengths starting at node u and ending at node v.

Parameters

G (graph)

Returns

comm – Dictionary of dictionaries keyed by nodes with communicability as the value.

Return type

dictionary of dictionaries

Raises

NetworkXError – If the graph is not undirected and simple.

See also

communicability()

Communicability between pairs of nodes in G.

communicability_betweenness_centrality()

Communicability betweeness centrality for each node in G.

Notes

This algorithm uses matrix exponentiation of the adjacency matrix.

Let G=(V,E) be a simple undirected graph. Using the connection between the powers of the adjacency matrix and the number of walks in the graph, the communicability between nodes u and v is 1,

\[C(u,v) = (e^A)_{uv},\]

where A is the adjacency matrix of G.

References

1

Ernesto Estrada, Naomichi Hatano, “Communicability in complex networks”, Phys. Rev. E 77, 036111 (2008). https://arxiv.org/abs/0707.0756

Examples

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