首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取图工具中所有顶点的特征向量中心度?

如何获取图工具中所有顶点的特征向量中心度?
EN

Stack Overflow用户
提问于 2019-10-10 19:46:02
回答 1查看 127关注 0票数 0

我需要访问图中所有顶点的特征向量中心值。我正在使用图形工具来做这件事。

我试图像计算接近中心度一样计算它,但由于在图形工具中,接近度只返回顶点属性图,而特征向量同时返回(加权)邻接矩阵和顶点属性图的最大特征值,所以它的工作方式不同。

代码语言:javascript
复制
node_closeness = []
for vertex in G.vertices():
    a = closeness(G)[vertex]
    node_closeness.append(a)

这段代码适用于贴近度,但对于特征向量也是如此:

代码语言:javascript
复制
node_eigenvector = []
for vertex in G.vertices():
    a = eigenvector(G)[vertex]
    node_eigenvector.append(a)

不起作用。

因此,它给出了这个错误:

代码语言:javascript
复制
a = eigenvector(G)[vertex]

TypeError: tuple indices must be integers, not Vertex

但我认为这是因为特征向量返回特征值和顶点属性图。有人知道怎么解决这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-02 22:56:45

您说得对,特征向量中心性返回两个值,因此为了访问VertexPropertyMap,您需要首先解包这些值:

代码语言:javascript
复制
import graph_tool.all as gt
g = gt.lattice([3,3], periodic=True)

max_eigenvalue, eigenvector_property_map = gt.eigenvector(g)
eigenvector_property_map[vertex]

documentation有一个更完整的例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58322179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档