Кирсанов М.Н. Графы в Maple Физматлит 2007
| > | #Программа 30 c.139 |
Остов наименьшего веса
| > | restart: with(networks):with(LinearAlgebra): |
| > | new(G): # Новый граф |
| > | addvertex(seq(i,i=1..7),G): # 7 вершин |
| > | r:=[4],[5,3],[7],[6,2],[1]: |
| > | addedge([{3,7},{1,2},{6,1},{5,6}, {3,4},{2,7},{4,7},{1,7},{4,5},{6,7}], weights=[27,19,24,29,21,14,16,13,22,18],G); |
| > | draw(Linear(r),G); # Рисунок исходного графа |
| > | In:=incidence(G):# Матрица инцидентности |
| > | A:=adjacency(G): # Матрица смежности |
| > | B:=In.Transpose(In)-2*A;# Матрица Кирхгофа |
| > | m:=Minor(B,1,1);# Число остовов (в старых версиях необходимо подкючить еще и Determinant(m);) |