Maple 16 での連立多項式の計算
連立多項式の実解の計算および操作は、生物学的モデリング、ロボット工学、プログラム検証、制御設計など、さまざまな分野で必要とされます。たとえば、計算生物学における重要な問題は、生物システムの平衡 (または定常状態) の安定性を調査することです。この問題は、パラメトリック多項式方程式および不等式の計算に変換することができます。
Maple 16 の RegularChains パッケージは多項式方程式や不等式を調べるためのツールを提供します。特に、定常状態問題など、連立多項式の実解の計算や処理に役立ちます。Maple 16 の新規 RegularChains には、以下の機能が含まれます。
これらの新しい機能を強調する次の 2 つの応用問題について説明します。
|
応用 1: パラメトリック動的システムの安定解析
|
|
非線形の複数のスイッチモデルで記述された生物システムを考えてみましょう。
| (1.1) |
ここで、 は 2 つの蛋白質濃度、 は抑圧されていない蛋白質発現の強度を表します。後者の数量は時定数パラメータとみなされます。
の平衡は に相当します。または、以下の場合、 と同等です。
| (1.2) |
以下の 2 つのフルビッツの行列式によって、 の双曲型平衡が求められます。
| (1.3) |
| (1.4) |
以下の半代数系は、漸近的な安定双曲型平衡をコード化します。
![P := [numer(f[1]) = 0, numer(f[2]) = 0, x > 0, y > 0, s > 0, numer(d[2]) > 0]; `~`[print](P)](/support/helpjp/helpview.aspx?si=2555/file01555/math276.png)
| (1.5) |
この問題を解くには、まず新規コマンド RealComprehensiveTriangularize を使用してパラメータ を基準とした の包括的三角分解を計算します。
![[[[1, squarefree_semi_algebraic_system], [2, squarefree_semi_algebraic_system]], [[semi_algebraic_set, []], [semi_algebraic_set, [1]], [semi_algebraic_set, [2]]]]](/support/helpjp/helpview.aspx?si=2555/file01555/math352.png)
| (1.6) |
これは元の系を複数の単純な三角行列とパラメータ に対する追加条件に分割したものです。
| (1.7) |
生物システムが双安定 (つまり、少なくとも 2 つ以上の安定平衡が存在する) の値を求めます。これは、 が 2 つ以上の正の実解を持つ の値を求めることを意味します。再度 RealComprehensiveTriangularize コマンドを使用して前の結果 に適用します。
| (1.8) |
求める の条件は 2 番目の入力で与えられます。
| (1.9) |
安定平衡の位置は、最初の入力からの以下の三角行列で記述されます。
ここで、特殊なケースである について検討し、結果を説明します。上記の方程式から、 安定平衡は以下の式により求められます。
| (1.10) |
| (1.11) |
最後の不等式が条件を満たしていることを検証します。
| (1.12) |
| (1.13) |
| (1.14) |
以下は、この特殊なケースにおける動的システムの軌道をグラフィックで表しています。最初のプロットは 2-D アニメーションで、2 番目のプロットは時間を x 軸とした 3-D の静的プロットです。両方のプロットに対して 2 つの安定平衡が存在しますが、3 番目として不安定均衡も存在します (3-D プロットを参照)。
| (1.15) |
![IC[2] := [[x(0) = .5, y(0) = 0], seq([x(0) = i, y(0) = 0], i = 1 .. 5), [x(0) = 0, y(0) = .5], seq([x(0) = 0, y(0) = i], i = 1 .. 5), [x(0) = 4.5, y(0) = 5], seq([x(0) = i, y(0) = 5], i = 1 .. 4), [x(0) = 5, y(0) = 4.5], seq([x(0) = 5, y(0) = i], i = 1 .. 4), seq([x(0) = i, y(0) = i], i = 0 .. 5)]](/support/helpjp/helpview.aspx?si=2555/file01555/math675.png)
![DEplot(special, [x(t), y(t)], t = 0 .. 20, x = 0 .. 5, y = 0 .. 5, IC[2], arrows = none, animate = true, numframes = 40, linecolor = sqrt(t))](/support/helpjp/helpview.aspx?si=2555/file01555/math680.png)

![DEplot3d(special, {x(t), y(t)}, t = 0 .. 50, x = 0 .. 5, y = 0 .. 5, IC[3], scene = [x(t), y(t), t], thickness = 1, linecolor = sqrt(t), axes = frame)](/support/helpjp/helpview.aspx?si=2555/file01555/math713.png)
|
|
応用 2: 分岐解析による数学的恒等式の検証
|
|
が複素変数であるとします。すべての を保持することのできる恒等式は以下のどちらでしょうか?
| (2.1) |
| (2.2) |
Maple では、平方根関数 の分岐は負の実数軸 です。直交座標系で を書き直す場合、単純な半代数系 によって条件を表現できます。たとえば、上記の (2.1) では、左から右に 3 つの平方根関数の分岐があります。
| (2.3) |
| (2.4) |
| (2.5) |
以下のプロットは、これらの 3 つの分岐を示します。
![branchcuts := display(line([0, -10], [0, 10], color = red), line([-1, -.12], [1, -.12], color = red), line([-10, 0.5e-1], [1, 0.5e-1], color = green), line([-10, -.12], [-1, -.12], color = blue), thickness = 4, view = [-5 .. 5, -5 .. 5])](/support/helpjp/helpview.aspx?si=2555/file01555/math927.png)
ここでは、連続引数によって、分岐の可能な組み合わせすべてを対象とする有限的な点で、1 番目の恒等式 (2.1) をチェックするだけで十分です。このような点の集合は、コマンド CylindricalAlgebraicDecompose を使用して計算できます。
| (2.6) |
![[[x < -1, y = 0], [x = -1, y = 0], [-1 < x, x < 0, y = 0], [x = 0, y < 0], [x = 0, y = 0], [x = 0, 0 < y], [0 < x, x < 1, y = 0]]](/support/helpjp/helpview.aspx?si=2555/file01555/math1013.png)
| (2.7) |
上記では、結合していたすべての分岐が、7 つの個別の区間に分解されました。ここで、区間ごとにサンプル点を 1 つずつ取ります。
![[[x = -2, y = 0], [x = -1, y = 0], [x = -1/2, y = 0], [x = 0, y = -1], [x = 0, y = 0], [x = 0, y = 1], [x = 1/2, y = 0]]](/support/helpjp/helpview.aspx?si=2555/file01555/math1035.png)
| (2.8) |
さらに、どの分岐にも含まれない 1 つのサンプル点 を加えます。
![[[x = -2, y = 0], [x = -1, y = 0], [x = -1/2, y = 0], [x = 0, y = -1], [x = 0, y = 0], [x = 0, y = 1], [x = 1/2, y = 0], [x = 1, y = 1]]](/support/helpjp/helpview.aspx?si=2555/file01555/math1059.png)
| (2.9) |
以下のグラフには、分岐と関連するサンプル点が表示されています。
次に、恒等式 (2.1) がこれらのサンプル点すべてで成立しているかどうかをチェックします。
| (2.10) |
| (2.11) |
その結果、(2.1) は恒等式ではないことがわかります。また恒等式が不成立になるのは、最初の区間の および 4 番目の区間の であることも正確にわかります。
2 番目の恒等式 (2.2) に対しても同じ手順でチェックします。分岐は次のようになります。
| (2.12) |
| (2.13) |
| (2.14) |
![branchcuts := display(line([-10, 0], [-1, 0], color = red), line([1, 0], [10, 0], color = red), line([1, .12], [10, .12], color = green), line([-10, -.12], [-1, -.12], color = blue), thickness = 4, view = [-5 .. 5, -5 .. 5])](/support/helpjp/helpview.aspx?si=2555/file01555/math1206.png)
| (2.15) |
| (2.16) |
この場合、2+1 のサンプル点のみが必要となります。
| (2.17) |
| (2.18) |
| (2.19) |
これにより、(2.2) が真の恒等式であることが証明されました。
|
|
Download Help Document
Was this information helpful?