Программа 2 c. 93                 Кирсанов М.Н. Графы в Maple 

Матрица расстояний

>    restart:

>    with(networks):new(G):

>    addvertex({1,2,3,4,5},G):n:=5:

>    addedge([{1,2},{2,5},{4,5},{3,5},{4,3}],G):

>    Диаметр=diameter(G);

`Диаметр` = 3

>    draw(G);

[Maple Plot]

>    with(LinearAlgebra):

>    A:=adjacency(G);

>    A0:=IdentityMatrix(5):

>    AllPairs:=Matrix(n,shape=symmetric):

>    N:=0:

>    for k while N<>n*(n-1)/2 do

>      A0:=A0.A:

>      for i to n do

>        for j to i-1 do

>           if AllPairs[i,j]=0 and A0[i,j]<>0 then

>           AllPairs[i,j]:= k; N:=N+1:end:

>        od:

>      od:

>    od:

A := Matrix(%id = 153027628)

>    S:=AllPairs;

S := Matrix(%id = 151001308)

>    time();

>    t1:=time():

>    S0:=allpairs(G):

>    time()-t1;

0.046

0.

>    A1:=Matrix(5,5,S0):

>    Equal(A1,S);

true