RegularChains[ConstructibleSetTools][CylindricalDecompose] - 複素空間の円筒形の分解の計算
RegularChains[ConstructibleSetTools][SeparateZeros] - 一変数パラメータ多項式のゼロの分離
|
使い方
|
|
CylindricalDecompose(F, R)
CylindricalDecompose(F, R, 'output'='piecewise')
CylindricalDecompose(F, R, 'output'='tree')
SeparateZeros(rs, R)
|
|
パラメータ
|
|
R
|
-
|
多項式環
|
F
|
-
|
R の多項式のリスト
|
'output'='piecewise'
|
-
|
(オプション)ブールフラグ
|
'output'='tree'
|
-
|
(オプション)ブールフラグ
|
rs
|
-
|
正則系
|
|
|
|
|
モデルの説明
|
|
•
|
CylindricalDecompose(F, R) は、n-次元の複素空間の F-不変円筒形の分解を返します。このとき、n は R 内の変数の数です。
|
•
|
n-次元の複素空間の円筒形の分解は、空間全体を構成的集合であるセルにごとに仕切る作業であり、この仕切り内のセルが円筒形に配列されるようにします。つまり、より低次元な複素空間上の任意の 2 つのセルの射影が、同等かまたは互いに素となるように配列します。この分解は、与えられたどのセルに対しても、F のすべての多項式がセル内ので完全に等しくゼロであるか、あるいは、これらの多項式がいずれもセル内にゼロを受け入れていない場合に、F-不変と呼ばれます。
|
•
|
出力はツリーまたは区分関数で表示されます。デフォルトは区分関数形式です。
|
•
|
SeparateZeros(rs, R) は、たとえば pairs といったリストを返します。pairs の各項目は対[cs, polys]であり、このとき cs は構成的集合、polys は非定値の多項式のリストあり、cs の各点 u において、polys 内の各多項式 p のイニシャルは u において消失せず、すべての多項式 p(u) は平方因子を含まず、対になって互いに素となります。さらに、各 cs の上で、rs のゼロの集合は polys の多項式のゼロの集合を合わせたものと等価です。
|
•
|
大まかに言うと、SeparateZeros(rs, R) は、パラメータとして最大のものを除きすべての変数に関して、rs のゼロを分解します。入力は正則系であるため、この最大変数では rs 内の 1 つの多項式は 1 つのゼロでない値を有します。したがって、rs 内の他の多項式は、パラメータ上の制約を定義します。
|
|
|
アプリケーションと例題
|
|
>
|
with(ConstructibleSetTools):
|
多項式の鎖を定義します。
>
|
R := PolynomialRing([x,a,b]);
|
| (4.1) |
R.の多項式の集合を定義します。
| (4.2) |
3-D 複素空間の円筒形の分解を計算します。
>
|
cd := CylindricalDecompose(F, R);
|
| (4.3) |
R の正則鎖を定義します。
>
|
rc := Chain([a*x^2-b], Empty(R), R);
|
| (4.4) |
R の正則系を定義します。
>
|
rs := RegularSystem(rc, R); Info(rs, R);
|
| (4.5) |
パラメータとして最大のものを除きすべての変数について、ゼロを分離します。
>
|
pairs := SeparateZeros(rs, R);
|
| (4.6) |
出力は 2 つの部分で構成されます。構成的集合を表示します。
>
|
seq(Info(pair[1], R), pair=pairs);
|
| (4.7) |
|
|
Download Help Document
Was this information helpful?