up previous next
elim    --    eliminate variables


Syntax
elim(X: RINGELEM, M: IDEAL): IDEAL
elim(L: LIST, M: IDEAL): IDEAL
elim(X: RINGELEM, M: MODULE): MODULE
elim(L: LIST, M: MODULE): MODULE

Description
This function returns the ideal or module obtained by eliminating the indeterminate X, or all indeterminates in L, from M. The coefficient ring must be a field.

As an alternative, there is the function ElimMat for creating elimination orderings -- this is used inside the function elim.

Example
/**/ use R ::= QQ[t,x,y,z];
/**/ E := elim(t, ideal(t^15+t^6+t-x, t^5-y, t^3-z));
/**/ indent(E);
ideal(
  z^5 -y^3,
  y^4 +y*z^2 -x*y +z^2,
  x*y^3*z +y^2*z^3 +x*z^3 -x^2*z +y^2 +y,
  y^2*z^4 +x^2*y^3 +x*y^2*z^2 +y*z^4 +x^2*z^2 -x^3 +y^2*z +2*y*z +z,
  y^3*z^3 -x*z^3 +y^3 +y^2
)

/**/ use R ::= QQ[t,s,x,y,z,w];
/**/ t..x;
[t, s, x]

/**/ elim(t..x, ideal(t-x^2*z*w, x^2-t, y^2*t-w)); -- Note the use of t..x.
ideal(z*w^2 -w)

/**/ use R ::= QQ[t[1..2], x[1..4]];
/**/ I := ideal(x[1]-t[1]^4, x[2]-t[1]^2*t[2], x[3]-t[1]*t[2]^3, x[4]-t[2]^4);
/**/ elim(indets(R,"t"), I);
ideal(x[2]^4 -x[1]^2*x[4],  x[3]^4 -x[1]*x[4]^3)

See Also