# Singular

#### 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, 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 ```