Кирсанов М.Н. Графы в Maple M.: Физматлит 2007 

>    #Программа 33 c, 143

Фундаментальные циклы

>    restart:

>    with(networks):

>    with(LinearAlgebra):

>    with(plots):

>    new(G):n:=7:

>    addvertex(seq(i,i=1..n),G):

>    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([4],[5,3],[7],[6,2],[1]),G);

e1, e2, e3, e4, e5, e6, e7, e8, e9, e10

[Maple Plot]

>    T := spantree(G):

>    Ed:=edges(T);
add(eweight(Ed[i],T),i=1..6);

>    draw(Linear([4],[5,3],[7],[6,2],[1]),T):

Ed := {e10, e5, e6, e7, e8, e9}

104

>    n1 := nops(edges(G) minus Ed);# Число хорд

>    for i to n1 do

>    e := op(i,edges(G) minus Ed): # i - я хорда

>    print(e,fundcyc(Ed union { e }, G)): od:

n1 := 4

e1, {e1, e5, e7}

e2, {e2, e6, e8}

e3, {e10, e3, e8}

e4, {e10, e4, e7, e9}

>    cyclebase(G);

{{e1, e5, e7}, {e10, e3, e8}, {e2, e6, e8}, {e10, e4, e7, e9}}