Home Online Manual
Back: dmodloc_lib
Forward: WeylClosure
FastBack: ratgb_lib
FastForward: Examples
Up: dmodloc_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document Dlocalization
Procedure from library dmodloc.lib (see dmodloc_lib).

Dlocalization(I,f[,k,e]); I ideal, f poly, k,e optional ints

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).
Further, assume that f does not contain any D(i) and that I is holonomic on K^n\V(f).

ideal or list, computes an ideal J such that D/J is isomorphic to D/I localized at f as D-modules.
If k<>0, a list consisting of J and an integer m is returned, such that f^m represents the natural map from D/I to D/J. Otherwise (and by default), only the ideal J is returned.

It is known that a localization at f of a holonomic D-module is again a holonomic D-module.
Reference: (OTW)

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.

LIB "dmodloc.lib";
// (OTW), Example 8
ring r = 0,(x,y,z,Dx,Dy,Dz),dp;
def W = Weyl();
setring W;
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)
ideal J = Dlocalization(I,f);
==> J[1]=y*Dy-z*Dz
==> J[2]=2*y*z^2*Dx+3*x^2*Dy
==> J[3]=2*y^2*z*Dx+3*x^2*Dz
==> J[4]=2*z^3*Dx*Dz+3*x^2*Dy^2+2*z^2*Dx
==> J[5]=3*y^2*z^3*Dz-2*x^4*Dx-6*x^3*z*Dz+12*y^2*z^2-12*x^3-6
==> J[6]=4*x^4*Dx^2+12*x^3*z*Dx*Dz+9*x^2*z^2*Dz^2+40*x^3*Dx+63*x^2*z*Dz+72*x^\
==> J[7]=3*y*z^4*Dz^2-2*x^4*Dx*Dy-6*x^3*z*Dy*Dz+21*y*z^3*Dz-12*x^3*Dy+24*y*z^\
==> J[8]=3*z^5*Dz^3-2*x^4*Dx*Dy^2-6*x^3*z*Dy^2*Dz+30*z^4*Dz^2-12*x^3*Dy^2+66*\
Dlocalization(I,f,1); // The natural map D/I -> D/J is given by 1/f^2
==> [1]:
==>    _[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]=3*y^2*z^3*Dz-2*x^4*Dx-6*x^3*z*Dz+12*y^2*z^2-12*x^3-6
==>    _[6]=4*x^4*Dx^2+12*x^3*z*Dx*Dz+9*x^2*z^2*Dz^2+40*x^3*Dx+63*x^2*z*Dz+72\
==>    _[7]=3*y*z^4*Dz^2-2*x^4*Dx*Dy-6*x^3*z*Dy*Dz+21*y*z^3*Dz-12*x^3*Dy+24*y\
==>    _[8]=3*z^5*Dz^3-2*x^4*Dx*Dy^2-6*x^3*z*Dy^2*Dz+30*z^4*Dz^2-12*x^3*Dy^2+\
==> [2]:
==>    2
See also: DLoc; DLoc0; SDLoc.