如何解决特征向量中心性计算 igraph (Python)
我试图在 python 的 eigenvector_centrality()
包中查看 igraph
的函数定义,但找不到它们。我想了解他们如何计算有向图和无向图的特征向量中心性。任何指向来源或使用的计算的链接都会非常有帮助。
解决方法
igraph
的源代码可以在 https://github.com/igraph/python-igraph 下查看。
你要找的eigenvector_centrality
的函数定义可能在这个文件下:https://github.com/igraph/igraph/blob/2ceb15db7983a15e499844daddd1e1aa72cb0138/src/centrality/centralization.c
使用 C
语言。
igraph 使用 ARPACK 来计算特征向量中心性。 ARPACK 是用于查找稀疏矩阵的特征值/特征向量的通用包。
从 igraph 0.9 开始,您将在 igraph 的 C 核心 (link) 的 src/centrality/centrality_other
中找到源代码,尽管我认为查看它并没有特别的帮助。如果您对实施有具体的顾虑,您应该直接询问它们。
一些可能有用的注释:
- 特征向量中心性仅适用于连通图。对于未连接的情况,该解决方案不是唯一的,igraph 0.9 不保证处理这种情况。
- 在有向情况下,igraph 使用的定义是
\sum_j A_ij x_i = \lambda x_i
,其中A_ij = 1
如果存在边i -> j
。换句话说,它使用邻接矩阵的左特征向量。但是,请记住,特征向量中心性不被认为是有向图的最合适度量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。