gpt4 book ai didi

python - 无法将 numpy 数组转换为 SageMath 中的图形

转载 作者:行者123 更新时间:2023-12-01 09:20:29 25 4
gpt4 key购买 nike

按照说明下载testnb.sws后在网站上
https://sourceforge.net/p/networksym/code/ci/master/tree/
我尝试在旧版“Sage Notebook”中运行它(不是 Jupyter Notebook),如下:

  • 打开 Sage 笔记本
  • 点击“上传”
  • 点击“浏览”
  • 选择testnb.sws
  • 点击“上传工作表”
  • 点击“评估”
<小时/>

评估此工作表中的代码单元格会产生以下错误:

ValueError: This input cannot be turned into a graph

在 Sage 中,np.array() 似乎无效。

但是,当我使用时

Aij32 = ([[0,1,0],[1,0,1],[0,1,0]])

而不是

Aij32 = np.array([[0,1,0],[1,0,1],[0,1,0]])

它显示

AttributeError: 'list' object has no attribute 'copy'

如何解决这个问题?

最佳答案

将 numpy 数组转换为图表

如果a是表示邻接矩阵的numpy数组对于图表,则代替

Graph(a)

可以使用

Graph(matrix(a))

构建相应的图表。

修复问题中提到的工作表

在问题中提到的工作表testnb.sws中,替换此 block

# get clusters
print "the orbits are:"
print data32.get_orbits()

通过以下 block

def get_orbits(a):
r"""
Return the orbits as a list of lists.
"""
if a._orbits is None:
a._group, a._orbits = sg.Graph(
matrix(a.get_adjacency_matrix())
).automorphism_group(orbits=True)
return sg.copy(a._orbits)

# get clusters
print(f"the orbits are:\n{get_orbits(data32)}")

让一切顺利进行。

关于python - 无法将 numpy 数组转换为 SageMath 中的图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50827554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com