#### D.8.3.4 elimpartanyr

Procedure from library `presolve.lib` (see presolve_lib).

Usage:
  elimpartanyr(i [,p,e] ); i=ideal, p=polynomial, e=integer
  p: product of vars to be eliminated,
  e =0: substitute from linear part of i (same as elimlinearpart)
  e!=0: eliminate also by direct substitution
  (default: p=product of all vars, e=1)

Return:
  list of 6 objects:

        [1]: (interreduced) ideal obtained by substituting from i those vars
             appearing in p, which occur in the linear part of i (or which can
             be expressed directly in the remaining variables, if e!=0)
        [2]: ideal, variables which have been substituted
        [3]: ideal, i-th element defines substitution of i-th var in [2]
        [4]: ideal of variables of basering, substituted ones are set to 0
        [5]: ideal, describing the map from the basering, say k[x(1..m)], to
             itself onto k[..variables fom [4]..] and [1] is the image of i
        [6]: int, # of vars considered for substitution (= # of factors of p)

  The ideal i is generated by [1] and [3] in k[x(1..m)], the map [5] maps [3] to 0, hence induces an isomorphism

                  k[x(1..m)]/i -> k[..variables fom [4]..]/[1]

Note:
  the procedure creates a ring with ordering dp and vars placed correctly and then applies `elimpart`.

Example:

    LIB "presolve.lib";
    ring s=0,(x,y,z),dp;
    ideal i = x3+y2+z,x2y2+z3,y+z+1;
    elimpartanyr(i,z);
    ==> [1]:
    ==>    _[1]=x3+y2-y-1
    ==>    _[2]=x2y2-y3-3y2-3y-1
    ==> [2]:
    ==>    _[1]=z
    ==> [3]:
    ==>    _[1]=y+z+1
    ==> [4]:
    ==>    _[1]=0
    ==>    _[2]=x
    ==>    _[3]=y
    ==> [5]:
    ==>    _[1]=-y-1
    ==>    _[2]=x
    ==>    _[3]=y
    ==> [6]:
    ==>    1

User manual for Singular version 4.4.1, 2025, generated by texi2html.