effective_graph_resistance#
- effective_graph_resistance(G, weight=None, invert_weight=True)[source]#
返回图 G 的有效图电阻。
也称为基尔霍夫指数。
有效图电阻定义为图 G 中每对节点的电阻距离之和 [1]。
如果未提供 weight,则所有边的权重都为 1。
非连通图的有效图电阻是无限大的。
- 参数:
- GNetworkX 图
一个图
- weightstring 或 None,可选 (默认值为 None)
用于计算有效图电阻的边数据键。如果为 None,则每条边的权重都为 1。
- invert_weight布尔值 (默认值为 True)
正确计算电阻距离需要使用权重的倒数构建拉普拉斯矩阵。如果权重已取倒数,则无需此操作。权重不能为零。
- 返回:
- RG浮点数
G 的有效图电阻。
- 引发:
- NetworkXNotImplemented
如果 G 是有向图。
- NetworkXError
如果 G 不包含任何节点。
注意
此实现基于 [2] 中的定理 2.2。自环被忽略。多条边被合并为一条边,其权重等于权重的调和和。
参考文献
[1]Wolfram “Kirchhoff Index.” https://mathworld.net.cn/KirchhoffIndex.html
[2]W. Ellens, F. M. Spieksma, P. Van Mieghem, A. Jamakovic, R. E. Kooij. Effective graph resistance. Lin. Alg. Appl. 435:2491-2506, 2011.
示例
>>> G = nx.Graph([(1, 2), (1, 3), (1, 4), (3, 4), (3, 5), (4, 5)]) >>> round(nx.effective_graph_resistance(G), 10) 10.25