python - 是否可以构建具有邻接矩阵的图?
问题描述
我正在准备 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]]).
是否可以从数组转换为我需要能够加载该代码的形式?
解决方案
如果你给它一个矩阵,Sage 会很乐意为你绘制图表。
对于您的g2
,如果您只是g2
在交互式 Sage 会话中键入,那么它将为您呈现一个图表。g2.show()
以及g2.plot()
其他使图表显示的方法。
您可以使用类似的东西保存图像
p = g2.plot()
p.sage_image("file.png")
如果您从邻接矩阵开始,sage 会很乐意为您绘制图。例如,
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 是有意义的。