我正在准备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构建图
谢谢david lowry duda,现在我有了这个矩阵
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]]).
是否有可能从数组转换为我需要能够加载该代码的形式?
如果你给它一个矩阵,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是有意义的。