|
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
|
|