Home Online Manual
Top
Back: annfs
Forward: Sannfs
FastBack: central_lib
FastForward: dmodapp_lib
Up: dmod_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.7.4.0. annfspecial
Procedure from library dmod.lib (see dmod_lib).

Usage:
annfspecial(I,F,mir,n); I an ideal, F a poly, int mir, number n

Return:
ideal

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

Assume:
The basering is D[s] and contains 's' explicitly as a variable,
the ideal I is the Ann F^s in D[s] (obtained with e.g. SannfsBM),
the integer 'mir' is the minimal integer root of the BS polynomial of F,
and the number n is rational.

Note:
We compute the real annihilator for any rational value of n (both
generic and exceptional). The implementation goes along the lines of
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;
def  B = annfs(F);  setring B;
minIntRoot(BS[1],0);
==> -1
// So, the minimal integer root is -1
setring r;
def  A = SannfsBM(F);
setring A;
poly F = x3-y2;
annfspecial(LD,F,-1,3/4); // generic root
==> _[1]=4*x*Dx+6*y*Dy-9
==> _[2]=3*x^2*Dy+2*y*Dx
==> _[3]=18*x*y*Dy^2-8*y*Dx^2-33*x*Dy
==> _[4]=54*y^2*Dy^3+16*y*Dx^3+66*x*Dx*Dy-9*y*Dy^2+66*Dy
annfspecial(LD,F,-1,-2);  // integer but still generic root
==> _[1]=2*x*Dx+3*y*Dy+12
==> _[2]=3*x^2*Dy+2*y*Dx
==> _[3]=9*x*y*Dy^2-4*y*Dx^2+33*x*Dy
==> _[4]=27*y^2*Dy^3+8*y*Dx^3-66*x*Dx*Dy+144*y*Dy^2-66*Dy
annfspecial(LD,F,-1,1);   // exceptional root
==> _[1]=Dx*Dy
==> _[2]=2*x*Dx+3*y*Dy-6
==> _[3]=Dy^3
==> _[4]=y*Dy^2-Dy
==> _[5]=3*x*Dy^2+Dx^2
==> _[6]=3*x^2*Dy+2*y*Dx
==> _[7]=Dx^3+3*Dy^2
==> _[8]=y*Dx^2+3*x*Dy