Groebner[NormalForm] - イデアルを法とした多項式の正規形の計算
Groebner[Reduce] - 多項式の完全簡約
|
使い方
|
|
NormalForm(f, G, T, Q, characteristic=p)
Reduce(f, G, T, s, Q, characteristic=p)
|
|
パラメータ
|
|
f
|
-
|
(単一の) 多項式か、多項式のリストか集合
|
G
|
-
|
多項式のリストか PolynomialIdeal
|
T
|
-
|
単項式順序か、その短い記述
|
Q
|
-
|
(オプション) 名前 - 商を割り当てられる
|
p
|
-
|
(オプション) 標数
|
s
|
-
|
(オプション) 名前 - 分母を割り当てられる
|
|
|
|
|
説明
|
|
•
|
NormalForm コマンドは多変数多項式 f を多変数多項式のリスト G で簡約します。この割り算は 単項式順序 (monomial order) T に関して行われます。G が T に関する Groebner 基底 の場合、G を法とする f の同値類の正規表現を与えます。商のリストはオプションの第 4 引数 Q に割り当てられます。
|
•
|
Reduce コマンドは擬除算が用いられることを除き、NormalForm と同様に動作します。結果は なる擬剰余 r と分母 s と商 Q であり、r/s は正規形となります。NormalForm と Reduce は同じ商 Q を返します (これらは s によって規格化されません)。 実際、これらのコマンドは同じ方法で実装されています。
|
•
|
第 1 引数がリストか集合だった場合、線型代数を用いたスパースなアルゴリズムを用いて全ての多項式を同時に簡約していきます。これは NormalForm や Reduce をリストや集合にマッピングするよりも効率的です。また、この方法は (多項式の次数が高い場合や、項の数が多いなど) 簡約が多く行われると思われる場合にも有効です。このスパースなアルゴリズムは商を計算しません。infolevel[F4] を 4 か 5 に設定するとどの程度の線型方程式系が解かれたか出力するようになります。
|
•
|
オプションの引数 characteristic=p は G が多項式のリストで、T が単項式順序の短い記述であった場合、その環の標数を指定します。特に指定しなければ値は 0 として扱われます。
|
•
|
normalf コマンドと reduce コマンドはそれぞれ NormalForm と Reduce に置き換えられています。いまは同じ働きをしますが、今後リリースされる Maple ではサポートされない可能性があります。
|
|
|
例
|
|
>
|
F := [x^2-2*x*z+5, x*y^2+y*z^3, 3*y^2-8*z^3];
|
| (4.1) |
>
|
G := Basis(F, tdeg(x,y,z));
|
| (4.2) |
>
|
p := 320*x*y^2+9*x*y^4-96*z^2*y^4*x+1600*y^3-18*y^5*x*z-592*x*z*y^3+45*y^5+240*z*y^4;
|
| (4.3) |
>
|
NormalForm(p, G, tdeg(x,y,z), 'Q');
|
| (4.4) |
| (4.5) |
>
|
r := p - add(Q[i]*G[i], i=1..nops(G));
|
| (4.6) |
| (4.7) |
>
|
q := 3*x^3*y*z^2-x*z^2+y^3+y*z;
|
| (4.8) |
>
|
NormalForm(q, G, tdeg(x,y,z));
|
| (4.9) |
>
|
Reduce(q, G, tdeg(x,y,z), 's');
|
| (4.10) |
| (4.11) |
>
|
NormalForm([p,q], G, tdeg(x,y,z));
|
19 x 19 with 2 rhs
symbolic preproc 0.004 sec
linear solve 0.000 sec
build result 0.000 sec
| |
| (4.12) |
次の例は Dn*n = n*Dn + 1 なる非可換 (Weyl) 代数の例です
>
|
A := diff_algebra([Dn, n]);
|
| (4.13) |
>
|
T := MonomialOrder(A, tdeg(Dn));
|
| (4.14) |
| (4.15) |
| (4.16) |
>
|
Reduce(skew_product(n^5*Dn^4-1, w1, A), [w1], T);
|
| (4.17) |
>
|
w := skew_product(skew_product(n*Dn+5, w1, A), skew_product(n^3*Dn^2, w2, A), A) + Dn^5 - 1;
|
| (4.18) |
>
|
Reduce(w, [w1, w2], T, 's');
|
| (4.19) |
| (4.20) |
>
|
r := NormalForm(w, [w1, w2], T, 'Q');
|
| (4.21) |
| (4.22) |
>
|
normal( w - (skew_product(Q[1], w1, A) + skew_product(Q[2], w2, A)), expanded);
|
| (4.23) |
|
|
参考文献
|
|
•
|
D. Cox, J. Little, D. O'Shea. "Ideals, Varieties, and Algorithms, 2nd edition." Springer-Verlag, 1997.
|
•
|
R. Pearce, M. Monagan. "A Sparse Algorithm for Polynomial Division with Application to F4." in preparation, 2006.
|
|
|