subgraph_centrality#
- subgraph_centrality(G)[source]#
返回图 G 中每个节点的子图中心性。
节点
n
的子图中心性是所有长度开始和结束于节点n
的加权闭合路径的总和。权重随路径长度递减。每条闭合路径与一个连通子图相关联 ([1]).- Parameters:
- G: 图
- Returns:
- nodes字典
包含节点及其子图中心性值的字典。
- Raises:
- NetworkXError
如果图不是无向且简单的。
See also
subgraph_centrality_exp
用于 G 中每个节点的子图中心性的替代算法。
Notes
此版本的算法计算邻接矩阵的特征值和特征向量。
图 G 中节点
u
的子图中心性可以通过邻接矩阵的谱分解找到 [1],\[SC(u)=\sum_{j=1}^{N}(v_{j}^{u})^2 e^{\lambda_{j}},\]其中
v_j
是图 G 的邻接矩阵A
对应于特征值lambda_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
(示例来自 [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’]