|  |  D.8.3.8 linearpart Procedure from librarypresolve.lib(see  presolve_lib).
 
Example:Usage:
linearpart(id); id=ideal/module
Return:
list of size 2,
_[1]: generators of id of total degree <= 1
 _[2]: remaining generators of id
 
Note:
all variables have degree 1 (independent of ordering of basering)
 |  | LIB "presolve.lib";
ring r=0,(x,y,z),dp;
ideal i=1+x+x2+x3,3,x+3y+5z;
linearpart(i);
==> [1]:
==>    _[1]=3
==>    _[2]=x+3y+5z
==> [2]:
==>    _[1]=x3+x2+x+1
module m=[x,y,z],x*[x3,y2,z],[1,x2,z3,0,1];
show(linearpart(m));
==> // list, 2 element(s):
==> [1]:
==>    // module, 1 generator(s)
==> [x,y,z]
==> [2]:
==>    // module, 2 generator(s)
==> [x4,xy2,xz]
==> [1,x2,z3,0,1]
 | 
 
 |