#### D.8.3.2 elimlinearpart

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

Usage:
  elimlinearpart(i[,n]); i=ideal, n=integer,
  default: n=nvars(basering)

Return:
  list L with 5 entries:

        L[1]: ideal obtained from i by substituting from the first n variables those
              which appear in a linear part of i, by putting this part into triangular
              form
        L[2]: ideal of variables which have been substituted
        L[3]: ideal, j-th element defines substitution of j-th var in [2]
        L[4]: ideal of variables of basering, eliminated ones are set to 0
        L[5]: ideal, describing the map from the basering to itself such that
              L[1] is the image of i

Note:
  the procedure always interreduces the ideal i internally w.r.t. ordering dp.

Example:

    LIB "presolve.lib";
    ring s=0,(u,x,y,z),dp;
    ideal i = u3+y3+z-x,x2y2+z3,y+z+1,y+u;
    elimlinearpart(i);
    ==> [1]:
    ==>    _[1]=z4+3z3+z2
    ==> [2]:
    ==>    _[1]=u
    ==>    _[2]=x
    ==>    _[3]=y
    ==> [3]:
    ==>    _[1]=u-z-1
    ==>    _[2]=x-z
    ==>    _[3]=y+z+1
    ==> [4]:
    ==>    _[1]=0
    ==>    _[2]=0
    ==>    _[3]=0
    ==>    _[4]=z
    ==> [5]:
    ==>    _[1]=z+1
    ==>    _[2]=z
    ==>    _[3]=-z-1
    ==>    _[4]=z

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