Home Online Manual
Top
Back: hilbvec
Forward: tolessvars
FastBack:
FastForward:
Up: presolve_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

D.8.2.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]