我已经准备好使用Sagemath或python中的图论了,
g2=Graph({0:[1,2,3,4,5], 1:[2,3,4,5], 2:[5], 3:[4,5], 4:[5]})
如果g2是图形,则使用
g2.adjacency_matrix()
SAGEMATH可以轻松构造邻接矩阵,我想知道是否可能,或者是否有一些代码可以让我拥有邻接矩阵Sage或python构建图形
感谢davidlowryduda,现在我有了这个矩阵
T= array([[ 0, 0, 0, 1, 1],
[0, 0, 1, 0, 1],
[0, 1, 0, 1, 0],
[ 1, 0, 1, 0, 0],
[ 1, 1, 0, 0, 0]])
但是,对于
G = Graph(T, format='adjacency_matrix'),
我需要这种类型!
matrix([[0, 0, 0, 1, 1],[0, 0, 1, 0, 1],[0, 1, 0, 1, 0],[ 1, 0, 1, 0, 0],[ 1, 1, 0, 0, 0]]).
是否可以从数组转换为需要加载该代码的形式?
答案 0 :(得分:1)
如果给定矩阵,Sage会很高兴为您绘制图形。
对于您的g2
,如果您仅在交互式Sage会话中键入g2
,则它将为您显示图形。 g2.show()
和g2.plot()
是导致图形显示的其他方法。
您可以使用类似的方法保存图像
p = g2.plot()
p.sage_image("file.png")
如果您从邻接矩阵开始,贤哲会很乐意为您绘制情节。例如,
M = matrix([[0 1 0 0 0 0],
[0 0 1 0 1 0],
[0 0 0 1 1 0],
[0 0 0 0 0 0],
[0 0 0 0 0 1],
[0 0 0 0 0 0]])
sage: G = DiGraph(M, format='adjacency_matrix')
sage: G.show()
鉴于对称矩阵,使用Graph而不是Digraph是有意义的。