          ##### 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=y*Dy+3*z*Dz+3 ==> LD=x*Dx-2*z*Dz ==> LD=x^2*Dy-3*y^2*Dz ==> LD=3*y^2*Dx-2*x*z*Dy ==> LD=y^3*Dz+x^2*z*Dz+x^2 ==> LD=2*x*z*Dy^2+9*y*z*Dx*Dz+3*y*Dx ==> LD=9*y*z*Dx^2*Dz+4*z^2*Dy^2*Dz+3*y*Dx^2+2*z*Dy^2 ==> LD=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 ==> _=-4/3 ==> _=-5/3 ==> _=-5/6 ==> _=-7/6 ==> : ==> 1,1,1,1,1 ```          User manual for Singular version 4.3.2, 2023, generated by texi2html.