| #### D.4.15.3 satiety Procedure from library `mregular.lib` (see mregular_lib). 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. Example:
    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);

User manual for Singular version 4-0-2, 2015, generated by texi2html.