|  |  7.5.13.0. holonomicRank Procedure from librarydmodloc.lib(see  dmodloc_lib).
 
Example: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, stdis used for Groebner basis computations,
otherwise (and by default)slimgbis used.If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
 
 |  | 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
 | 
 
 |