rustworkx.digraph_eigenvector_centrality#

digraph_eigenvector_centrality(graph, /, weight_fn=None, default_weight=1.0, max_iter=100, tol=1e-06)#

计算一个PyDiGraph的特征向量中心性。

关于特征向量中心性的详细信息请参考:

Phillip Bonacich。“权力与中心性:一个衡量家族。” 《美国社会学期刊》第92(5)期: 1170–1182, 1986年 <https://doi.org/10.1086/228631>

该函数使用幂迭代法计算特征向量,且不保证收敛。当达到max_iter迭代次数,或两次迭代间计算得到的向量小于容错值乘以节点数时,函数将停止。本算法的实现基于NetworkX eigenvector_centrality()函数。

在多重图的情况下,计算特征向量中心性时,任何平行边的权重将被求和。

Parameters:
  • graph (PyDiGraph) – 用于运行该算法的图对象

  • weight_fn – 一个可选的输入可调用对象,将接收边的负载对象作为参数,并期望返回该边的float权重值。 如果未指定此参数,将使用default_weight作为graph中每条边的权重。

  • default_weight (float) – 如果未设置 weight_fn,则为所有边的权重所使用的默认权重值

  • max_iter (int) – 幂方法中的最大迭代次数。如果 未指定,则使用默认值 100。

  • tol (float) – 幂方法中检查收敛性时的误差容限。如果未指定,则使用默认值1e-6。

Returns:

一个只读类字典对象,其键为节点索引,值为该节点的中心性得分。

Return type:

CentralityMapping