|  |  D.4.17.3 satiety Procedure from librarymregular.lib(see  mregular_lib).
 
Example:Usage:
satiety (i[,e]); i ideal, e integer
Return:
an integer, the satiety of i.
(returns -1 if i is not homogeneous)
 
Assume:
i is a homogeneous ideal of the basering S=K[x(0)..x(n)].
e=0: (default)
The satiety is computed determining the fresh elements in the
socle of i. It works over arbitrary fields.
 e=1: Makes random changes of coordinates to find a monomial ideal
with same satiety. It works over infinite fields only. If K
is finite, it works if it terminates, but may result in an
infinite loop. After 30 loops, a warning message is displayed
and -1 is returned.
 
Theory:
The satiety, or saturation index, of a homogeneous ideal i is the
least integer s such that, for all d>=s, the degree d part of the
ideals i and isat=sat(i,maxideal(1))[1] coincide.
Note:
If printlevel > 0 (default = 0), dim(S/i) is also displayed.
 |  | LIB "mregular.lib";
ring r=0,(x,y,z,t,w),dp;
ideal i=y2t,x2y-x2z+yt2,x2y2,xyztw,x3z2,y5+xz3w-x2zw2,x7-yt2w4;
satiety(i);
==> 0
ideal I=lead(std(i));
satiety(I);   // First  method: direct computation
==> 12
satiety(I,1); // Second method: doing changes of coordinates
==> 12
// Additional information is displayed if you change printlevel (=1);
 | 
 
 |