Home Online Manual
Back: lpSickleDim
Forward: ivL2lpI
FastBack: dmodvar_lib
FastForward: freegb_lib
Up: fpadim_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document sickle
Procedure from library fpadim.lib (see fpadim_lib).

sickle(G[,m, d, h, degbound]); G an ideal; m,d,h,degbound optional


Allowing the user to access all procs with one command

- basering is a Letterplace ring. G is a Letterplace ideal.
- if you specify a different degree bound degbound,
degbound <= attrib(basering,uptodeg) should hold.

The returned object will always be a list, but the entries of the
returned list may be very different
case m=1,d=1,h=1: see lpDHilbertSickle
case m=1,d=1,h=0: see lpSickleDim
case m=1,d=0,h=1: see lpSickleHil
case m=1,d=0,h=0: see lpSickle (this is the default case)
case m=0,d=1,h=1: see lpDHilbert
case m=0,d=1,h=0: see lpKDim
case m=0,d=0,h=1: see lpHilbert
case m=0,d=0,h=0: returns an error
- If degbound is set, there will be a degree bound added. 0 means no
degree bound. Default: attrib(basering,uptodeg).
- If the K-dimension is known to be infinite, a degree bound is needed

LIB "fpadim.lib";
ring r = 0,(x,y),dp;
def R = makeLetterplaceRing(5); // constructs a Letterplace ring
setring R; // sets basering to Letterplace ring
ideal G = x(1)*x(2), y(1)*y(2),x(1)*y(2)*x(3);
// G contains a Groebner basis
sickle(G,1,1,1); // computes mistletoes, K-dimension and the Hilbert series
==> [1]:
==>    6
==> [2]:
==>    1,2,2,1
==> [3]:
==>    _[1]=x(1)*y(2)
==>    _[2]=y(1)*x(2)*y(3)
sickle(G,1,0,0); // computes mistletoes only
==> _[1]=x(1)*y(2)
==> _[2]=y(1)*x(2)*y(3)
sickle(G,0,1,0); // computes K-dimension only
==> 6
sickle(G,0,0,1); // computes Hilbert series only
==> 1,2,2,1