我试图在 python 的 eigenvector_centrality()
包中查看 igraph
的函数定义,但找不到它们。我想了解他们如何计算有向图和无向图的特征向量中心性。任何指向来源或使用的计算的链接都会非常有帮助。
答案 0 :(得分:0)
igraph
的源代码可以在 https://github.com/igraph/python-igraph 下查看。
你要找的eigenvector_centrality
的函数定义可能在这个文件下:https://github.com/igraph/igraph/blob/2ceb15db7983a15e499844daddd1e1aa72cb0138/src/centrality/centralization.c
使用 C
语言。
答案 1 :(得分:0)
igraph 使用 ARPACK 来计算特征向量中心性。 ARPACK 是用于查找稀疏矩阵的特征值/特征向量的通用包。
从 igraph 0.9 开始,您将在 igraph 的 C 核心 (link) 的 src/centrality/centrality_other
中找到源代码,尽管我认为查看它并没有特别的帮助。如果您对实施有具体的顾虑,您应该直接询问它们。
一些可能有用的注释:
\sum_j A_ij x_i = \lambda x_i
,其中 A_ij = 1
如果存在边 i -> j
。换句话说,它使用邻接矩阵的左特征向量。但是,请记住,特征向量中心性不被认为是有向图的最合适度量。