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

D.8.3.1 degreepart

Procedure from library presolve.lib (see presolve_lib).

Usage:
degreepart(id,d1,d2[,v]); id=ideal/module, d1,d1=integers, v=intvec

Return:
list of size 2,
_[1]: generators of id of [v-weighted] total degree >= d1 and <= d2 (default: v = 1,...,1)
_[2]: remaining generators of id

Note:
if id is of type int/number/poly it is converted to ideal, if id is of type intmat/matrix/vector to module and then the corresponding generators are computed

Example:
 
LIB "presolve.lib";
ring r=0,(x,y,z),dp;
ideal i=1+x+x2+x3+x4,3,xz+y3+z8;
degreepart(i,0,4);
==> [1]:
==>    _[1]=x4+x3+x2+x+1
==>    _[2]=3
==> [2]:
==>    _[1]=z8+y3+xz
module m=[x,y,z],x*[x3,y2,z],[1,x2,z3,0,1];
intvec v=2,3,6;
show(degreepart(m,8,8,v));
==> // list, 2 element(s):
==> [1]:
==>    // module, 1 generator(s)
==> [x4,xy2,xz]
==> [2]:
==>    // module, 2 generator(s)
==> [x,y,z]
==> [1,x2,z3,0,1]