有可能建立一个具有邻接矩阵的图吗?

时间:2019-04-07 02:17:54

标签: python sage

我已经准备好使用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]]). 

是否可以从数组转换为需要加载该代码的形式?

1 个答案:

答案 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是有意义的。