RegularChains[Intersect] - 多項式および正則鎖の共通解の計算
|
パラメータ
|
|
f
|
-
|
多項式
|
rc
|
-
|
正則鎖
|
R
|
-
|
多項式環
|
|
|
|
|
モデルの説明
|
|
•
|
コマンド Intersect(f, rc, R) は、次のような意味において、多項式 f と正則鎖 rc の共通解を計算します。f で定義される超曲面、つまり、等式 f = 0 の解を V とします。また、rc の準コンポーネント(quasi-component)をW とします。すると、Intersect(f, rc, R) は正則鎖を返しますが、このとき準コンポーネント を合わせたものには V と W の交わりが含まれ、この準コンポーネントを合わせたものは V と Wのザリスキ閉包の交わりの中に含まれるような解が返されます。準コンポーネントの定義については ConstructibleSetTools を参照してください。
|
•
|
正則鎖 rc の次元がゼロのとき、Intersect(f, rc, R) は V と W の交わりを厳密に計算します。W が多様である(すなわち、ザリスキ位相の閉集合である)場合、または、 rc が一次元であり、rc の飽和イデアルに関して f が正則である場合でも同様です。これ以外のあらゆるケースにおいて、Intersect(f, rc, R) は V と W の交わりの上位集合を計算します。しかし、この上位集合は交わりに非常に近いものです。
|
•
|
広義な用語で要約すると、Intersect(f, rc, R) は、正則鎖により V と W の交わりに極めて近い近似値を計算します。
|
•
|
Intersect 関数を使用して方程式系を追加的に、すなわち、方程式を次々に解くことができます。 以下の例はこの戦略を説明しています。
|
•
|
Intersect コマンドを理解するもう 1 つの方法は、制約 f = 0 が課される状態で rc の解を特殊化する行程を観察するという方法です。
|
|
|
アプリケーションと例題
|
|
多項式の環を定義します。
>
|
vars := [x, y, z]: R := PolynomialRing(vars):
|
方程式の集合を定義します。
>
|
sys := [x^2 + y + z -1, x + y^2 + z -1, x + y + z^2 -1];
|
| (4.1) |
空の正則鎖を定義します。
| (4.2) |
1 番目の方程式を解きます。
>
|
dec := Intersect(sys[1], rc, R); map(Equations, dec, R);
|
| (4.3) |
1 番目と 2 番目の方程式を解きます。
>
|
dec := [seq(op(Intersect(sys[2], rc, R)), rc=dec)]; map(Equations, dec, R);
|
| (4.4) |
3 つの方程式を合わせて解きます。
>
|
dec := [seq(op(Intersect(sys[3], rc, R)), rc=dec)]; map(Equations, dec, R);
|
| (4.5) |
|
|
リファレンス
|
|
|
Moreno Maza, M. "On Triangular Decompositions of Algebraic Varieties." MEGA-2000 conference. Bath, UK, England.
|
|
|