next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Macaulay2Doc > rings > monomial orderings > Eliminate

Eliminate -- elimination order

Description

The option Eliminate => n is a shortcut for Weights => {n:1} The remaining variables are given weight 0.The monomial order is the elimination order eliminating the first n variables, refined by the graded reverse lexicographic order.
i1 : R = QQ[a..i, MonomialOrder => Eliminate 3];
This order enables intersections with the subring consisting of all but the first 3 variables. For this, use the command selectInSubring.
i2 : I = ideal(a^2, b-f, d^4, i - b);

o2 : Ideal of R
i3 : selectInSubring(1, gens gb I)

o3 = | f-i d4 |

             1       2
o3 : Matrix R  <--- R
Eliminate may be combined with block orders as well.
i4 : R = QQ[a..i, MonomialOrder => {Eliminate 3,4,2}];
i5 : d^3 - a*e^4 + b^2*i + a*c*d*f +a*c^2*g + a*c*g

        2               2               4    3
o5 = a*c g + a*c*d*f + b i + a*c*g - a*e  + d

o5 : R
In the last example, the order is block order: the first four variables are in the first block, the subsequent two variables are in the second block, the remaining variables are in the third block, and the weights of the variables are 1,1,1,0,..., 0. We illustrate the usage of selectInSubring.
i6 : I = ideal(a..i)

o6 = ideal (a, b, c, d, e, f, g, h, i)

o6 : Ideal of R
i7 : selectInSubring(1, gens gb I);

             1       6
o7 : Matrix R  <--- R
i8 : selectInSubring(2, gens gb I);

             1       5
o8 : Matrix R  <--- R
i9 : selectInSubring(3, gens gb I);

             1       3
o9 : Matrix R  <--- R

Caveat

If the number of degree vectors is greater than one, this is currently only graded using the first degree vector. This will eventually change.

See also

For the programmer

The object Eliminate is a self initializing type, with ancestor classes BasicList < Thing.