第6回 惑星の運動 (2/3)


DSolve は賢い関数で、リストであらわされる連立微分方程式はもとより、 線形、非線形を問わず常微分方程式の一般解を見つけることができます。 しかしこれまで見てきたように、解ける場合の方が限られていて、 あまり実用的ではありません。

これを改善することを考えましょう。 ほとんどの人は解析力学を習っているでしょうから、そこで Newton の運動方程式に代わって登場する正準方程式を知っているはずです。 これは1階の微分方程式ですから、 対応する Newton 方程式より数学的な取り扱いが楽なはずです。

c)正準方程式を解く

同じ問題を正準形式に直すと、 正準方程式は以下のようになります。 (解くべき微分方程式の導出方法については、 ここを参照して ください。)

q1=r、q2=θ と一般化座標を導入し p1、p2をそれぞれの一般化運動量としました。

これを Mathematica に解かせるには、

とします。以上で解けるはずなのですが、試してみると

となって、やはりこの3つの微分方程式を手動で連立させてから 解かせないと無理なようです。 ちなみに手動で連立させると、簡単に先ほどの最終的な微分方程式 に帰着させることができるので各自やってみてください。

このように正準方程式を用いると、先ほどよりはかなり見通しが よくなるものの、やはり限界が見えてきてしまいます。 そこで登場するのが数値的に微分方程式を解こうという方法です。

d)微分方程式の数値解(アルゴリズム)

一般に、微分方程式は限られた(特殊な)条件下でのみ厳密解が 得られますが、わずかに拡張しようとすると、 とたんに厳密解を求めることは困難になります。

このような場合、Mathematica を使って数値解を求めることで、解ける対象 を広げることができます。そのやり方は次回取り上げる予定ですが、 数値計算は奥が深く、完全に計算機に任せていると危険なこともあります。 そのため、数値計算の原理を理解しておくことが必要不可欠です。

今回の授業では、Mathematica をいったん離れて、微分方程式の数値解を 求めるアルゴリズムを解説します。 といっても、このトピックだけで本が1冊かけるほどなので、ほんの入門程度 の内容しか扱いません。興味がある人は数値計算に関する教科書を参照してください。


Home Top Back Next