Home Online Manual
Top
Back: degreepart
Forward: elimpart
FastBack: ffsolve_lib
FastForward: solve_lib
Up: presolve_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

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