RootFinding[Parametric][NumberOfSolutions] - 各オープンセルの実数解の数の計算
|
使い方
|
|
NumberOfSolutions(m, l)
|
|
モデルの説明
|
|
•
|
呼出手順 はシステム
|
•
|
l が与えられている場合は l によって指定される範囲内に位置するサンプル点を持つオープンセルのみが計算の対象になります。
|
•
|
このコマンドは RootFinding[Parametric] パッケージの一部であるため、NumberOfSolutions(..) 形式での利用はその前に with(RootFinding[Parametric]) コマンドが実行されている場合に限ります。ただしコマンドをロングフォーマット RootFinding[Parametric][NumberOfSolutions](..) で指定すると、いつでも利用可能です。
|
|
|
アプリケーションと例題
|
|
>
|
with(RootFinding[Parametric]):
|
>
|
sys := [x^2+y^2=a, x-y=b, a>0];
|
| (4.1) |
>
|
m:=CellDecomposition(sys, [x,y]);
|
| (4.2) |
>
|
CellPlot(m, 'samplepoints');
|
| (4.3) |
システム の解の対 の数はパラメータ および が放物線の右側に位置する青または緑のセルから選択された場合は で、それ以外の場合は です。
解の数を計算する対象セルは限定できます。
>
|
NumberOfSolutions(m,[b=0..1]);
|
| (4.4) |
>
|
NumberOfSolutions(m,[a=0..1/2,b=0..1]);
|
| (4.5) |
>
|
NumberOfSolutions(m,[a=0..1/2,b=2..3]);
|
| (4.6) |
実際には、システム は放物線上に重複度 の解をちょうど 1 つ持っています。これは上記データからは推測できません。ただし、システムに discriminant variety の方程式を追加し、 も変数にすることができます。
>
|
m:-DiscriminantVariety;
|
| (4.7) |
>
|
eqs := [op(m:-Equations), op([2,1], (4.7))];
|
| (4.8) |
>
|
CellDecomposition(eqs, m:-Inequalities, [x,y,b]);
|
Error, (in RootFinding:-Parametric:-CellDecomposition) cannot solve the system: either there are infinitely many complex solutions, or there are solutions of multiplicity > 1, for almost all parameter values
| |
計算を続けるには、根基を計算して重複を取り除く必要があります。
>
|
with(PolynomialIdeals, PolynomialIdeal,Generators,Simplify,Radical):
|
>
|
J := PolynomialIdeal(eqs, variables=[x,y,b]):
|
>
|
R := Generators(Simplify(Radical(J)));
|
| (4.9) |
>
|
m2 := CellDecomposition([op(R)], m:-Inequalities, [x,y,b]);
|
| (4.10) |
| (4.11) |
セルは 1 つだけ存在し、パラメータ の値とは無関係に方程式 には 2 つの解が存在することにご注目ください。以下のコマンドは に対するこれらの解を計算します:
>
|
SampleSolutions(m2, [a=1]);
|
| (4.12) |
これらの 2 つの解で の値が異なることから、元のシステム は discriminant variety の方程式による放物線上のパラメータ値 および に対してちょうど 1 つの解 を持っていると結論付けることができます。
|
|