
D.8.2.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, jth element defines substitution of jth 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+zx,x2y2+z3,y+z+1,y+u;
elimlinearpart(i);
==> [1]:
==> _[1]=z4+3z3+z2
==> [2]:
==> _[1]=u
==> _[2]=x
==> _[3]=y
==> [3]:
==> _[1]=uz1
==> _[2]=xz
==> _[3]=y+z+1
==> [4]:
==> _[1]=0
==> _[2]=0
==> _[3]=0
==> _[4]=z
==> [5]:
==> _[1]=z+1
==> _[2]=z
==> _[3]=z1
==> _[4]=z

