`bfunction', `bfct', `generic_bfct', `ann', `ann0'
--------------------------------------------------

bfunction(F)
bfct(F)
generic_bfct(PLIST,VLIST,DVLIST,WEIGHT)
     :: Computes the global B function of a polynomial or an ideal

ann(F)
ann0(F)
     :: Computes the annihilator of a power of polynomial

RETURN
     polynomial or list

F
     polynomial

PLIST
     list of polynomials

VLIST DVLIST
     list of variables

   * These functions are defined in `bfct'.

   * `bfunction(F)' and `bfct(F)' compute the global B-function `b(s)'
     of a polynomial F.  `b(s)' is a polynomial of the minimal degree
     such that there exists `P(x,s)' in D[s], which is a polynomial
     ring over Weyl algebra `D', and `P(x,s)f^(s+1)=b(s)f^s' holds.

   * `generic_bfct(F,VLIST,DVLIST,WEIGHT)' computes the global
     B-function of a left ideal `I' in `D' generated by PLIST, with
     respect to WEIGHT.  VLIST is the list of `x'-variables, VLIST is
     the list of corresponding `D'-variables.

   * `bfunction(F)' and `bfct(F)' implement different algorithms and
     the efficiency depends on inputs.

   * `ann(F)' returns the generator set of the annihilator ideal of
     `F^s'.  `ann(F)' returns a list `[A,LIST]', where A is the minimal
     integral root of the global B-function of F, and LIST is a list of
     polynomials obtained by substituting `s' in `ann(F)' with A.

   * See [Saito,Sturmfels,Takayama] for the details.

     [0] load("bfct")$
     [216] bfunction(x^3+y^3+z^3+x^2*y^2*z^2+x*y*z);
     -9*s^5-63*s^4-173*s^3-233*s^2-154*s-40
     [217] fctr(@);
     [[-1,1],[s+2,1],[3*s+4,1],[3*s+5,1],[s+1,2]]
     [218] F = [4*x^3*dt+y*z*dt+dx,x*z*dt+4*y^3*dt+dy,
     x*y*dt+5*z^4*dt+dz,-x^4-z*y*x-y^4-z^5+t]$
     [219] generic_bfct(F,[t,z,y,x],[dt,dz,dy,dx],[1,0,0,0]);
     20000*s^10-70000*s^9+101750*s^8-79375*s^7+35768*s^6-9277*s^5
     +1278*s^4-72*s^3
     [220] P=x^3-y^2$
     [221] ann(P);
     [2*dy*x+3*dx*y^2,-3*dx*x-2*dy*y+6*s]
     [222] ann0(P);
     [-1,[2*dy*x+3*dx*y^2,-3*dx*x-2*dy*y-6]]

References
     *Note `Weyl algebra': Weyl algebra.

