Go to the first, previous, next, last section, table of contents.

### `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`
  section Weyl algebra.

Go to the first, previous, next, last section, table of contents.