SageMathとグラフ理論(接続行列incidence matrix)

接続行列からでもグラフがかけるか実験します。

 

接続行列Mで与えられるグラフを描け。


M=matrix(5,8,[[0,0,1,1,1,1,1,0],[0,1,0,1,0,0,0,1],[0,0,0,0,0,0,0,1],[1,0,1,0,1,0,1,0],[1,1,0,0,0,1,0,0]])


G=Graph(M)
show(G)

f:id:niming538:20170925133358p:plain

描けました。

ということは、接続行列と隣接行列(adjacent matrix)の相互変換が可能ということか。

 

sage: G.incidence_matrix()
[1 1 1 1 1 0 0 0]
[1 0 0 0 0 1 1 0]
[0 0 0 0 0 1 0 0]
[0 1 1 1 0 0 0 1]
[0 0 0 0 1 0 1 1]

sage: G.adjacency_matrix()
[0 1 0 3 1]
[1 0 1 0 1]
[0 1 0 0 0]
[3 0 0 0 1]
[1 1 0 1 0]

 

できました。便利かも。