This method constructs a chordal network from a given polynomial set F. This chordal network is a directed graph, whose nodes define a partition of F. The arcs of the directed graph are given by the elimination tree of the associated constraint graph.
i1 : R = QQ[x_0..x_3, MonomialOrder=>Lex]; |
i2 : I = ideal {x_0^3-x_0, x_0*x_2-x_2, x_1-x_2, x_2^2-x_2, x_2*x_3^2-x_3};
o2 : Ideal of R
|
i3 : N = chordalNet I
3 2
o3 = ChordalNet{ x => {{x - x , x x - x , x - x }} }
0 0 0 0 2 2 2 2
2
x => {{x - x , x - x }}
1 1 2 2 2
2
x => {x x - x }
2 2 3 3
x => { }
3
o3 : ChordalNet
|
Selecting a good variable ordering is very important for the complexity of chordal networks methods. The variable ordering can be specified in the input. Alternatively, the string "SuggestOrder" can be used.
i4 : G = cartesianProduct(cycleGraph 3, pathGraph 3); |
i5 : I = edgeIdeal G
o5 = monomialIdeal (x x , x x , x x , x x , x x , x x , x x , x x , x x , x x , x x , x x , x x , x x , x x )
1 2 1 3 1 4 3 4 2 5 2 6 3 6 2 7 4 7 6 7 5 8 6 8 5 9 7 9 8 9
o5 : MonomialIdeal of QQ[x ..x ]
1 9
|
i6 : N = chordalNet(I,"SuggestOrder")
o6 = ChordalNet{ x => {{x x , x x , x x , x x }} }
1 1 2 1 3 1 4 3 4
x => {{x x , x x }}
3 2 6 3 6
x => {{x x , x x , x x }}
4 2 7 4 7 6 7
x => {x x }
2 2 5
x => {{x x , x x }}
6 5 8 6 8
x => {{x x , x x , x x }}
5 5 9 7 9 8 9
x => { }
7
x => { }
8
x => { }
9
o6 : ChordalNet
|
The object chordalNet is a method function.