##### 7.5.4.0. annfspecial
Procedure from library `dmod.lib` (see dmod_lib).

Usage:
annfspecial(F,n); F a poly, number n

Return:
ring

Purpose:
compute the annihilator ideal of F^n in the Weyl Algebra
for the given rational number n

Assume:
basering is commutative, the number n is rational.

Note:
Activate the output ring by `setring` command. In the ring the ideal called `annfalpha` is exported.
We compute the real annihilator for any rational value of n (both
generic and exceptional). The implementation fixes a bug in
the Algorithm 5.3.15 from Saito-Sturmfels-Takayama.

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),dp; poly F = x3-y2; bernsteinBM(F); // the roots of Bernstein-Sato poly: -7/6, -1, -5/6 ==> [1]: ==> _[1]=-1 ==> _[2]=-5/6 ==> _[3]=-7/6 ==> [2]: ==> 1,1,1 // *** first example: generic root def A = annfspecial(F,-5/6); setring A; print(annfalpha); kill A; setring r; ==> 2*x*Dx+3*y*Dy+5, ==> 3*x^2*Dy+2*y*Dx, ==> 9*x*y*Dy^2-4*y*Dx^2+12*x*Dy, ==> 27*y^2*Dy^3+8*y*Dx^3+117*y*Dy^2+72*Dy // *** second example: exceptional root since its distance to -1 is integer 2 def A = annfspecial(F,1); setring A; print(annfalpha); kill A; setring r; ==> Dx*Dy, ==> 2*x*Dx+3*y*Dy-6, ==> Dy^3, ==> y*Dy^2-Dy, ==> 3*x*Dy^2+Dx^2, ==> 3*x^2*Dy+2*y*Dx, ==> Dx^3+3*Dy^2, ==> y*Dx^2+3*x*Dy // *** third example: exceptional root since its distance to -5/6 is integer 1 def A = annfspecial(F,1/6); setring A; print(annfalpha); kill A; ==> 2*x*Dx+3*y*Dy-1, ==> 3*x^2*Dy+2*y*Dx, ==> 27*y*Dy^3+8*Dx^3+9*Dy^2, ==> 9*x*y*Dy^2-4*y*Dx^2-6*x*Dy ```

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