Singular Manual: eliminate

  | ### 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`,` bigintvec_hilb `)` `eliminate (` module_expression`,` product_of_ring_variables`,` bigintvec_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;
        bigintvec v=hilb(std(j),1);
        eliminate(j,y,v);
      ==> _[1]=x2
See hilb; ideal; module; std.

User manual for Singular version 4.3.2, 2023, generated by texi2html.