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)`
  :: 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]]

`参照`
  section Weyl 代数.

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