图简化中的分段错误

2024-04-24 16:19:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用contract_vertices合并图中的节点,然后在图上调用simplify,但这样做会导致分段错误。我不确定我做错了什么。下面是重现错误的代码:

from igraph import summary, read, Graph
g = Graph()
g.add_vertices(5)
g.vs["name"] = ["1","2","3","4","5"]
g.add_edge("1","2")
merge_vertex_list = [1,1,3,3,3]
g.contract_vertices(merge_vertex_list,"first")
g.simplify()

我得到的错误是:

Segmentation fault: 11

注意:当我调用contract_vertices而不使用第二个参数,即combine_attrs参数时,它工作正常。你知道吗


Tags: 代码fromadd参数节点错误mergesimplify
1条回答
网友
1楼 · 发布于 2024-04-24 16:19:37

我找到了原因。我传递的用于合并数组的列表应该包含连续整数,这将形成顶点的新索引。在上面的例子中,我传递的是[1,1,3,3,3],当它变为[0,0,1,1,1]时,效果很好。我仍然认为它应该显示一个有意义的错误信息。你知道吗

相关问题 更多 >