This function returns a breadth first spanning tree of a graph.
i1 : R = QQ[x_1..x_6]; |
i2 : C = cycle R; -- a 6-cycle |
i3 : spanningTree C
o3 = Graph{edges => {{x , x }, {x , x }, {x , x }, {x , x }, {x , x }}}
1 2 3 4 4 5 1 6 5 6
ring => R
vertices => {x , x , x , x , x , x }
1 2 3 4 5 6
o3 : Graph
|
i4 : T = graph {x_1*x_2,x_2*x_3, x_1*x_4,x_1*x_5,x_5*x_6}; -- a tree (no cycles)
|
i5 : T == spanningTree T o5 = true |
i6 : G = graph {x_1*x_2,x_2*x_3,x_3*x_1,x_4*x_5,x_5*x_6,x_6*x_4}; -- two three cycles
|
i7 : spanningTree G
o7 = Graph{edges => {{x , x }, {x , x }, {x , x }, {x , x }}}
1 3 2 3 4 6 5 6
ring => R
vertices => {x , x , x , x , x , x }
1 2 3 4 5 6
o7 : Graph
|
The object spanningTree is a method function.