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

bfunction(F)
bfct(F)
generic_bfct(PLIST,VLIST,DVLIST,WEIGHT)
     :: B 関数の計算

ann(F)
ann0(F)
     :: 多項式のベキの annihilator の計算

RETURN
     多項式またはリスト

F
     多項式

PLIST
     多項式リスト

VLIST DVLIST
     変数リスト

   * `bfct' で定義されている.

   * `bfunction(F)', `bfct(F)' は多項式 F の global B 関数 `b(s)' を
     計算する. `b(s)' は, Weyl 代数 `D' 上の一変数多項式環 `D[s]' の元
     `P(x,s)' が存在して, `P(x,s)f^(s+1)=b(s)f^s' を満たすような 多項式
     `b(s)' の中で, 次数が最も低いものである.

   * `generic_bfct(F,VLIST,DVLIST,WEIGHT)' は, PLIST で生成される `D'
     の左イデアル `I' の, ウェイト WEIGHT に関する global B
     関数を計算する.  VLIST は `x'-変数, VLIST は対応する `D'-変数
     を順に並べる.

   * `bfunction' と `bfct' では用いているアルゴリズムが 異なる.
     どちらが高速かは入力による.

   * `ann(F)' は, `F^s' の annihilator ideal の生成系を返す. `ann(F)'
     は, `[A,LIST]' なるリストを返す. ここで, A は F の B
     関数の最小整数根, LIST は `ann(F)' の結果の `s'$ に, A を
     代入したものである.

   * 詳細については, [Saito,Sturmfels,Takayama] を見よ.

     [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]]

参照
     *Note `Weyl 代数': Weyl 代数.

