| ##### 7.5.4.0. annfs Procedure from library `dmod.lib` (see dmod_lib). Usage: annfs(f [,S,eng]); f a poly, S a string, eng an optional int Return: ring Purpose: compute the D-module structure of basering[1/f]*f^s with the algorithm given in S and with the Groebner basis engine given in "eng" Note: activate the output ring with the `setring` command. String S; S can be one of the following: 'bm' (default) - for the algorithm of Briancon and Maisonobe, 'ot' - for the algorithm of Oaku and Takayama, 'lot' - for the Levandovskyy's modification of the algorithm of OT. If eng <>0, `std` is used for Groebner basis computations, otherwise and by default `slimgb` is used. In the output ring: - the ideal LD (which is a Groebner basis) is the needed D-module structure, - the list BS contains roots and multiplicities of a BS-polynomial of f. Display: If `printlevel`=1, progress debug messages will be printed, if `printlevel`>=2, all the debug messages will be printed. Example:
    LIB "dmod.lib";
    ring r = 0,(x,y,z),Dp;
    poly F = z*x^2+y^3;
    def A  = annfs(F); // here, the default BM algorithm will be used
    setring A; // the Weyl algebra in (x,y,z,Dx,Dy,Dz)
    LD; //the annihilator of F^{-1} over A
    ==> LD[1]=y*Dy+3*z*Dz+3
    ==> LD[2]=x*Dx-2*z*Dz
    ==> LD[3]=x^2*Dy-3*y^2*Dz
    ==> LD[4]=3*y^2*Dx-2*x*z*Dy
    ==> LD[5]=y^3*Dz+x^2*z*Dz+x^2
    ==> LD[6]=2*x*z*Dy^2+9*y*z*Dx*Dz+3*y*Dx
    ==> LD[7]=9*y*z*Dx^2*Dz+4*z^2*Dy^2*Dz+3*y*Dx^2+2*z*Dy^2
    ==> LD[8]=4*z^2*Dy^3*Dz-27*z^2*Dx^2*Dz^2+2*z*Dy^3-54*z*Dx^2*Dz-6*Dx^2
    BS; // roots with multiplicities of BS polynomial
    ==> [1]:
    ==>    _[1]=-1
    ==>    _[2]=-4/3
    ==>    _[3]=-5/3
    ==>    _[4]=-5/6
    ==>    _[5]=-7/6
    ==> [2]:
    ==>    1,1,1,1,1

User manual for Singular version 4.3.2, 2023, generated by texi2html.