#### D.4.20.2 depthIdeal

Procedure from library `mregular.lib` (see mregular_lib).

Usage:
  depthIdeal (i[,e]); i ideal, e integer

Return:
  an integer, the depth of S/i where S=K[x(0)..x(n)] is the basering. (returns -1 if i is not homogeneous or if i=(1))

Assume:
  i is a proper homogeneous ideal.
  e=0: (default)
  If K is an infinite field, makes random changes of coordinates. If K is a finite field, works over a transcendental extension. e=1: Makes random changes of coordinates even when 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.

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;
    depthIdeal(i);
    ==> 1
    depthIdeal(lead(std(i)));
    ==> 0
    // Additional information is displayed if you change printlevel (=1);

User manual for Singular version 4.4.1, 2025, generated by texi2html.