|
7.5.7.0. SannfsVar
Procedure from library dmodvar.lib (see dmodvar_lib).
- Usage:
- SannfsVar(F [,ORD,eng]); F an ideal, ORD an optional string, eng an optional int
- Return:
- ring (Weyl algebra tensored with U(gl_P)), containing an ideal LD
- Purpose:
- 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
- Assume:
- The basering is commutative and over a field of characteristic 0.
- Note:
- 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.
- Display:
- If printlevel=1, progress debug messages will be printed,
if printlevel>=2, all the debug messages will be printed.
Example:
| 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;
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;
==> 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
|
|