Groebner[Walk] - Groebner 基底の単項式順序を変換する
|
使い方
|
|
Walk(G, T1, T2, opts)
|
|
パラメータ
|
|
G
|
-
|
変換元の順序 T1 に関する Groebner 基底か、PolynomialIdeal
|
T1,T2
|
-
|
単項式順序 (短い記述の単項式順序)
|
opts
|
-
|
keyword=value 形式のオプション
|
|
|
|
|
説明
|
|
•
|
Groebner walk アルゴリズムは可換多項式集合の Groebner 基底の単項式順序を変換します。このアルゴリズムは目的の Groebner 基底を直接計算するのが非常に困難な場合用いられています。
|
•
|
Walk コマンドは入力として単項式順序 T1 に関する Groebner 基底 G を取り、T2.に関する簡約 Groebner 基底を出力します。第 1 引数 G が PolynomialIdeal だった場合で、T1 に関する Groebner 基底がまだわかっていないときは、先にそれを計算します。
|
•
|
T1 と T2 は多項式環上の通常の単項式順序でなくてはなりません。よって 'plex_min' や 'tdeg_min' といった 'min' のついた順序を用いることができません。Walk コマンドでは G が T1 に関する Groebner 基底かどうかのチェックは行いません。
|
•
|
FGLM とは異なり、G の定義するイデアルは無限個の解を持ったものとすることができます。Groebner walk は一般に 0 次元イデアルに対しては FGLM ほど高速ではありません。
|
•
|
オプション引数 characteristic=p は係数体の標数を定めます。特に指定がなければ 0 とされます。このオプションは G が PolynomialIdeal だったときは無視されます。
|
•
|
オプションの elimination=true は T2 に関する Groebner 基底を得る前に、Groebner walk を停止させます。T2 が変数を二つのブロックに分けた消去順序 (lexdeg) だった場合、出力結果のリストは消去イデアルの生成元の集合を含んでいます。
|
•
|
オプション引数 output=basislm は計算結果の基底を頭単項式と頭係数を含んだ形式にして出力するよう指定します。出力のリストの各要素は [leading coefficient, leading monomial, polynomial] の形です。
|
•
|
infolevel[Walk] に正の整数を設定すると、Walk コマンドは計算の経過や効率について逐一出力するようになります。
|
|
|
例
|
|
>
|
F1 := [10*x*z-6*x^3-8*y^2*z^2, -6*z+5*y^3];
|
| (4.1) |
>
|
G1 := Basis(F1, tdeg(x,y,z));
|
| (4.2) |
>
|
Walk(G1, tdeg(x,y,z), plex(x,y,z));
|
| (4.3) |
>
|
alias(alpha=RootOf(z^2+z+5));
|
| (4.4) |
>
|
F2 := [-10*y*x-9*x^3+2*z*alpha^2-4*y^3*alpha, 6*alpha^2-2*x^2*alpha+9*x*alpha^2-8*y^3*x]:
|
>
|
G2 := Basis(F2, tdeg(x,y,z));
|
| (4.5) |
>
|
Walk(G2, tdeg(x,y,z), plex(x,y,z));
|
| (4.6) |
|
|
参考文献
|
|
•
|
S. Collart, M. Kalkbrener, D. Mall. "Converting Bases with the Grobner Walk." J. Symbolic Comput., 3/4 (1997), 465-469.
|
•
|
B. Amrhein, O. Gloor, W. Kuchlin. "On the Walk" Theoretical Comput. Sci., 187 (1997), 179-202.
|
•
|
Q.N. Tran. "A Fast Algorithm for Grobner Basis Conversion and Its Applications." J. Symbolic Comput., 30 (2000), 451-467.
|
|
|