|
D.8.3.8 linearpart
Procedure from library presolve.lib (see presolve_lib).
- 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)
Example:
| 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]
|
|