##### 7.7.21.0. WeylClosure

Procedure from library `dmodloc.lib` (see dmodloc_lib).

Usage:
  WeylClosure(I); I an ideal

Assume:
  The basering is the n-th Weyl algebra W 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).
  Moreover, assume that the holonomic rank of W/I is finite.

Return:
  ideal, the Weyl closure of I

Remarks:
  The Weyl closure of a left ideal I in the Weyl algebra W is defined to be the intersection of I regarded as left ideal in the rational Weyl algebra K(x(1..n))<D(1..n)> with the polynomial Weyl algebra W.
  Reference: (Tsa), Algorithm 2.2.4

Note:
  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 r = 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)
    WeylClosure(I);
    ==> _[1]=y*Dy-z*Dz
    ==> _[2]=2*y*z^2*Dx+3*x^2*Dy
    ==> _[3]=2*y^2*z*Dx+3*x^2*Dz
    ==> _[4]=2*z^3*Dx*Dz+3*x^2*Dy^2+2*z^2*Dx
    ==> _[5]=4*x^4*Dx^2+12*x^3*z*Dx*Dz+9*x^2*z^2*Dz^2+16*x^3*Dx+27*x^2*z*Dz+12*Dx
    ==> _[6]=3*y*z^4*Dz^2-2*x^4*Dx*Dy-6*x^3*z*Dy*Dz+9*y*z^3*Dz-6*Dy
    ==> _[7]=3*y^2*z^3*Dz-2*x^4*Dx-6*x^3*z*Dz-6
    ==> _[8]=3*z^5*Dz^3-2*x^4*Dx*Dy^2-6*x^3*z*Dy^2*Dz+18*z^4*Dz^2+18*z^3*Dz-6*Dy^\
       2

See also: WeylClosure1.

User manual for Singular version 4-0-3, 2016, generated by texi2html.