|  |  7.5.4.0. annfspecial Procedure from librarydmod.lib(see  dmod_lib).
 
Example: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 setringcommand.
In the ring the ideal calledannfalphais 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.
 
 |  | 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
 | 
 
 |