Home Online Manual
Back: bfctVarAnn
Forward: makeMalgrange
Up: dmodvar_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document SannfsVar
Procedure from library dmodvar.lib (see dmodvar_lib).

SannfsVar(F [,ORD,eng]); F an ideal, ORD an optional string, eng an optional int

ring (Weyl algebra tensored with U(gl_P)), containing an ideal LD

compute the D<S>-module structure of D<S>*f^s where f = F[1]*...*F[P] and D<S> is the Weyl algebra D tensored with K<S>=U(gl_P), according to the generalized algorithm by Briancon and Maisonobe for affine varieties

The basering is commutative and over a field of characteristic 0.

Activate the output ring D<S> with the setring command. In the ring D<S>, the ideal LD is the needed D<S>-module structure.
The value of ORD must be an elimination ordering in D<Dt,S> for Dt written in the string form, otherwise the result may have no meaning. By default ORD = '(a(1..(P)..1),a(1..(P+P^2)..1),dp)'.
If eng<>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 "dmodvar.lib";
ring R = 0,(x,y),Dp;
ideal F = x^3, y^5;
//ORD = "(a(1,1),a(1,1,1,1,1,1),dp)";
//eng = 0;
def A = SannfsVar(F);
setring A;
==> // coefficients: QQ
==> // number of vars : 8
==> //        block   1 : ordering a
==> //                  : names    s(1)(1) s(1)(2) s(2)(1) s(2)(2)
==> //                  : weights        1       1       1       1
==> //        block   2 : ordering dp
==> //                  : names    s(1)(1) s(1)(2) s(2)(1) s(2)(2) x y Dx Dy
==> //        block   3 : ordering C
==> // noncommutative relations:
==> //    s(1)(2)s(1)(1)=s(1)(1)*s(1)(2)-s(1)(2)
==> //    s(2)(1)s(1)(1)=s(1)(1)*s(2)(1)+s(2)(1)
==> //    s(2)(1)s(1)(2)=s(1)(2)*s(2)(1)-s(1)(1)+s(2)(2)
==> //    s(2)(2)s(1)(2)=s(1)(2)*s(2)(2)-s(1)(2)
==> //    s(2)(2)s(2)(1)=s(2)(1)*s(2)(2)+s(2)(1)
==> //    Dxx=x*Dx+1
==> //    Dyy=y*Dy+1
==> LD[1]=5*s(2)(2)-y*Dy
==> LD[2]=3*s(1)(1)-x*Dx
==> LD[3]=15*s(1)(2)*s(2)(1)-x*y*Dx*Dy-5*x*Dx
==> LD[4]=5*s(2)(1)*y^4-x^3*Dy
==> LD[5]=3*s(1)(2)*x^2-y^5*Dx