|
7.7.5.0. charInfo
Procedure from library dmodapp.lib (see dmodapp_lib).
- Usage:
- charInfo(I); I an ideal
- Return:
- ring (commut.) containing ideals 'charVar','singLoc' and list 'primDec'
- Purpose:
- computes characteristic variety of I (in the sense of D-module theory),
its singular locus and primary decomposition
- 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).
- Note:
- In the output ring, which is commutative:
- the ideal 'charVar' is the characteristic variety char(I),
- the ideal 'SingLoc' is the singular locus of char(I),
- the list 'primDec' is the primary decomposition of char(I).
- Display:
- If
printlevel =1, progress debug messages will be printed,
if printlevel >=2, all the debug messages will be printed.
Example:
| LIB "dmodapp.lib";
ring r = 0,(x,y),Dp;
poly F = x3-y2;
printlevel = 0;
def A = annfs(F);
setring A; // Weyl algebra
LD; // the annihilator of F
==> LD[1]=2*x*Dx+3*y*Dy+6
==> LD[2]=3*x^2*Dy+2*y*Dx
==> LD[3]=9*x*y*Dy^2-4*y*Dx^2+15*x*Dy
==> LD[4]=27*y^2*Dy^3+8*y*Dx^3+135*y*Dy^2+105*Dy
def CA = charInfo(LD);
setring CA; CA; // commutative ring
==> // characteristic : 0
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x y Dx Dy
==> // block 2 : ordering C
charVar; // characteristic variety
==> charVar[1]=2*x*Dx+3*y*Dy
==> charVar[2]=3*x^2*Dy+2*y*Dx
==> charVar[3]=9*x*y*Dy^2-4*y*Dx^2
==> charVar[4]=27*y^2*Dy^3+8*y*Dx^3
singLoc; // singular locus
==> singLoc[1]=y*Dy
==> singLoc[2]=y*Dx
==> singLoc[3]=2*x*Dx-3*y*Dy
==> singLoc[4]=9*x*Dy^2-2*Dx^2
==> singLoc[5]=3*x^2*Dy-y*Dx
==> singLoc[6]=Dx^3
==> singLoc[7]=x^3-y^2
primDec; // primary decomposition
==> [1]:
==> [1]:
==> _[1]=Dy
==> _[2]=Dx
==> [2]:
==> _[1]=Dy
==> _[2]=Dx
==> [2]:
==> [1]:
==> _[1]=27*y*Dy^3+8*Dx^3
==> _[2]=9*x*Dy^2-4*Dx^2
==> _[3]=2*x*Dx+3*y*Dy
==> _[4]=3*x^2*Dy+2*y*Dx
==> _[5]=x^3-y^2
==> [2]:
==> _[1]=27*y*Dy^3+8*Dx^3
==> _[2]=9*x*Dy^2-4*Dx^2
==> _[3]=2*x*Dx+3*y*Dy
==> _[4]=3*x^2*Dy+2*y*Dx
==> _[5]=x^3-y^2
==> [3]:
==> [1]:
==> _[1]=y
==> _[2]=x
==> [2]:
==> _[1]=y
==> _[2]=x
|
|