This method performs successive elimination on a given chordal network. Under suitable conditions this procedure computes the elimination ideals.
Let $I\subseteq k[x_0,\dots,x_{n-1}]$ be the input ideal. The "approximate" $j$-th elimination ideal $I_j$ consists of the polynomials in the output network with main variable at most $x_j$. The containment $I_j \subseteq I\cap k[x_{j},\dots,x_{n-1}]$ always holds. If guaranteed=true, then $I_j$ provably agrees with $I\cap k[x_j,\dots,x_{n-1}]$ (up to radical).
Example 3.1 of [CP'16]
(chordalElim succeds in computing the elimination ideals)
i1 : R = QQ[x_0..x_3, MonomialOrder=>Lex]; |
i2 : I = ideal {x_0^4-1, x_0^2+x_2, x_1^2+x_2, x_2^2+x_3};
o2 : Ideal of R
|
i3 : N = chordalNet I; |
i4 : chordalElim N o4 = true |
i5 : N
2
o5 = ChordalNet{ x => {x + x } }
0 0 2
2
x => {x + x }
1 1 2
2
x => {x - 1}
2 2
x => {x + 1}
3 3
o5 : ChordalNet
|
i6 : gbList I
2 2 2
o6 = {x + 1, x - 1, x + x , x + x }
3 2 1 2 0 2
o6 : List
|
Example 3.2 of [CP'16]
(chordalElim does not compute the elimination ideals)
i7 : R = QQ[x_0..x_2, MonomialOrder=>Lex]; |
i8 : I = ideal {x_0*x_1+1, x_1+x_2, x_1*x_2};
o8 : Ideal of R
|
i9 : N = chordalNet I; |
i10 : chordalElim N o10 = false |
i11 : N
o11 = ChordalNet{ x => {x x + 1} }
0 0 1
x => {x + x }
1 1 2
2
x => {x }
2 2
o11 : ChordalNet
|
i12 : gbList I
o12 = {1}
o12 : List
|
Example: 3-chromatic ideal of the cycle graph
(chordalElim succeds)
i13 : I = chromaticIdeal(QQ, cycleGraph 10, 3); o13 : Ideal of QQ[a..j] |
i14 : N = chordalNet I; |
i15 : chordalElim N o15 = true |
i16 : N
2 2 2 2
o16 = ChordalNet{ a => {{a*b - a*j + b - j , a + a*j + j }} }
2 2
b => {b + b*c + c }
2 2
c => {c + c*d + d }
2 2
d => {d + d*e + e }
2 2
e => {e + e*f + f }
2 2
f => {f + f*g + g }
2 2
g => {g + g*h + h }
2 2
h => {h + h*i - i*j - j }
2 2
i => {i + i*j + j }
3
j => {j - 1}
o16 : ChordalNet
|
The object chordalElim is a method function with options.