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

## Weyl 代数

これまでは, 通常の可換な多項式環におけるグレブナ基底計算について 述べてきたが, グレブナ基底の理論は, ある条件を満たす非可換な 環にも拡張できる. このような環の中で, 応用上も重要な, Weyl 代数, すなわち多項式環上の微分作用素環の演算および グレブナ基底計算が Risa/Asir に実装されている.

体 `K` 上の `n` 次元 Weyl 代数 `D=K<x1,...,xn,D1,...,Dn>` は

`xi*xj-xj*xi=0`, `Di*Dj-Dj*Di=0`, `Di*xj-xj*Di=0` (`i!=j`), `Di*xi-xi*Di=1`

という基本関係を持つ環である. `D` は 多項式環 `K[x1,...,xn]` を係数 とする微分作用素環で, `Di` は `xi` による微分を表す. 交換関係により, `D` の元は, `x1^i1*...*xn^in*D1^j1*...*Dn^jn` なる単項 式の `K` 線形結合として書き表すことができる. Risa/Asir においては, この単項式を, 可換な多項式と同様に `<<i1,...,in,j1,...,jn>>` で表す. すなわち, `D` の元も 分散表現多項式として表される. 加減算は, 可換の場合と同様に, `+`, `-` により 実行できるが, 乗算は, 非可換性を考慮して `dp_weyl_mul()` という関数 により実行する.

    [0] A=<<1,2,2,1>>;
    (1)*<<1,2,2,1>>
    [1] B=<<2,1,1,2>>;
    (1)*<<2,1,1,2>>
    [2] A*B;
    (1)*<<3,3,3,3>>
    [3] dp_weyl_mul(A,B);
    (1)*<<3,3,3,3>>+(1)*<<3,2,3,2>>+(4)*<<2,3,2,3>>+(4)*<<2,2,2,2>>
    +(2)*<<1,3,1,3>>+(2)*<<1,2,1,2>>

グレブナ基底計算についても, Weyl 代数専用の関数として, 次の関数が用意してある. `dp_weyl_gr_main()`, `dp_weyl_gr_mod_main()`, `dp_weyl_gr_f_main()`, `dp_weyl_f4_main()`, `dp_weyl_f4_mod_main()`. また, 応用として, global b 関数の計算が実装されている.

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