##### 7.5.4.0. annfspecialOld

Procedure from library `dmod.lib` (see dmod_lib).

Usage:
  annfspecialOld(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, which has a bug.
  This procedure is correct for integer values of n.

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;
    annfspecialOld(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
    annfspecialOld(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
    annfspecialOld(LD,F,-1,1);   // exceptional integer 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

User manual for Singular version 4.4.1, 2025, generated by texi2html.