Home Online Manual
Top
Back: dump
Forward: eval
FastBack: Functions and system variables
FastForward: Control structures
Up: Functions
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

5.1.28 eliminate

Syntax:
eliminate ( ideal_expression, product_of_ring_variables )
eliminate ( module_expression, product_of_ring_variables )
eliminate ( ideal_expression, intvec_expression )
eliminate ( module_expression, intvec_expression )
eliminate ( ideal_expression, product_of_ring_variables, intvec_hilb )
eliminate ( module_expression, product_of_ring_variables, intvec_hilb )
Type:
the same as the type of the first argument
Purpose:
eliminates variables occurring as factors/entries of the second argument from an ideal (resp. a submodule of a free module), by intersecting it (resp. each component of the submodule) with the subring not containing these variables.
eliminate does not need a special ordering nor a standard basis as input.
Note:
Since elimination is expensive, for homogeneous input it might be useful first to compute the Hilbert function of the ideal (first argument) with a fast ordering (e.g., dp). Then make use of it to speed up the computation: a Hilbert-driven elimination uses the intvec provided as the third argument.
If the ideal (resp. module) is not homogeneous with weights 1, this intvec will be silently ignored.
Example:
 
  ring r=32003,(x,y,z),dp;
  ideal i=x2,xy,y5;
  eliminate(i,x);
==> _[1]=y5
  ring R=0,(x,y,t,s,z),dp;
  ideal i=x-t,y-t2,z-t3,s-x+y3;
  eliminate(i,ts);
==> _[1]=y2-xz
==> _[2]=xy-z
==> _[3]=x2-y
  ideal j=x2,xy,y2;
  intvec v=hilb(std(j),1);
  eliminate(j,y,v);
==> _[1]=x2
See hilb; ideal; module; std.