按照说明下载testnb.sws
后
在网站上
https://sourceforge.net/p/networksym/code/ci/master/tree/
我试图在传统的Sage笔记本电脑中运行它#34;
(不是Jupyter笔记本),如下:
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'
如何克服这个问题?
答案 0 :(得分:1)
如果a
是表示邻接矩阵的numpy数组
对于图表,然后而不是
Graph(a)
可以使用
Graph(matrix(a))
建立相应的图表。
在问题中提到的工作表testnb.sws
中,
替换此块
# get clusters
print "the orbits are:"
print data32.get_orbits()
通过以下块
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 "the orbits are:"
print get_orbits(data32)
让一切顺利。