| ##### 7.5.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
    ==> // coefficients: QQ
    ==> // 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

User manual for Singular version 4.4.0, 2024, generated by texi2html.