| ##### 7.7.21.0. holonomicRank Procedure from library `dmodloc.lib` (see dmodloc_lib). Usage: holonomicRank(I[,e]); I ideal, e optional int Assume: The basering is the n-th Weyl algebra over a field of characteristic 0 and for all 1<=i<=n the identity var(i+n)*var(i)=var(i)*var(i+1)+1 holds, i.e. the sequence of variables is given by x(1),...,x(n),D(1),...,D(n), where D(i) is the differential operator belonging to x(i). Return: int, the holonomic rank of I Remarks: The holonomic rank of I is defined to be the K(x(1..n))-dimension of the module W/WI, where W is the rational Weyl algebra K(x(1..n))<D(1..n)>. If this dimension is infinite, -1 is returned. Note: If e<>0, `std` is used for Groebner basis computations, otherwise (and by default) `slimgb` is used. If printlevel=1, progress debug messages will be printed, if printlevel>=2, all the debug messages will be printed. Example:
    LIB "dmodloc.lib";
    // (OTW), Example 8
    ring r3 = 0,(x,y,z,Dx,Dy,Dz),dp;
    def D3 = Weyl();
    setring D3;
    poly f = x^3-y^2*z^2;
    ideal I = f^2*Dx+3*x^2, f^2*Dy-2*y*z^2, f^2*Dz-2*y^2*z;
    // I annihilates exp(1/f)
    holonomicRank(I);
    ==> 1

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