Groebner[HilbertDimension] - Hilbert 次元の計算
Groebner[MaximalIndependentSet] - 極大な独立変数集合の計算
|
使い方
|
|
HilbertDimension(J, X, characteristic=p)
MaximalIndependentSet(J, X, characteristic=p)
|
|
パラメータ
|
|
J
|
-
|
多項式のリストか集合、あるいは PolynomialIdeal
|
X
|
-
|
(オプション) 変数のリストか集合、単項式順序の短い記述か一般的な記述
|
p
|
-
|
(オプション) 標数
|
|
|
|
|
説明
|
|
•
|
MaximalIndependentSet コマンドは (代数的に) 独立ないくつかの変数 U、つまり J と K[U] との共通部分が空集合になるような、変数集合の中で、極大なものを計算します。この集合の元の個数は、affine 次元が多様体と対応するように、Hilbert 次元と一致します。
|
•
|
非可換の場合、この次元はイデアルを J の生成する左イデアルとしたときのものになります。
|
•
|
その系の変数はオプションとして第 2 引数 X を指定することによって特定することができます。もし X が 単項式順序の短い記述 であったときは J の X に関する Groebner 基底が計算されます。特に指定がないとき X は、J が多項式のリストか集合であったときは出てくる全ての不定元のうち RootOf や根号の中に入っていないものとし、また、J がイデアルであった時は PolynomialIdeals[IdealInfo][Variables](J) として計算されます。
|
•
|
HilbertDimension と MaximalIndependentSet のアルゴリズムは J の全次数順序の Groebner 基底の頭単項式を用います。(プログラムの一部として) この機能に直接使うためには J を頭単項式の集合とします。コマンドはそのような場合を検知し、計算にかかる無駄を最小限に抑えます。
|
•
|
hilbertdim コマンドは同じ働きをしますが、今後リリースされる Maple ではサポートされない可能性がありますのでご注意ください。
|
|
|
例
|
|
以下にあげるイデアルは 0 次元であり、それらの解集合は C[x,y,z] 上のいくつかの点になります。F と各変数との共通部分は一変数多項式になり、代数的に独立な変数はないことがわかります。
>
|
F := [x^2-2*x*z+5, x*y^2+y*z^3, 3*y^2-8*z^3];
|
| (4.1) |
| (4.2) |
>
|
map(UnivariatePolynomial, [x,y,z], F);
|
| (4.3) |
>
|
MaximalIndependentSet(F);
|
| (4.4) |
最初の二つの方程式は C[x,y,z] 上の曲線を定義します。全ての変数は代数的に独立であると言えます。
>
|
HilbertDimension(F[1..2]);
|
| (4.5) |
>
|
MaximalIndependentSet(F[1..2]); # chooses a variable
|
| (4.6) |
>
|
map(UnivariatePolynomial, [x,y,z], F[1..2]);
|
| (4.7) |
GF(2) 上では状況が異なり、z が代数的に独立になります。イデアルは曲線を定義します。
>
|
HilbertDimension(F, characteristic=2);
|
| (4.8) |
>
|
map(UnivariatePolynomial, [x,y,z], F, characteristic=2);
|
| (4.9) |
>
|
MaximalIndependentSet(F, characteristic=2);
|
| (4.10) |
|
|