ルンゲ=クッタ法2
古典的な4次のルンゲ=クッタ法によって計算される物体の位置は、厳密解と比べてどの程度近いのでしょうか。ルンゲ=クッタ法1 - タケウチCarlの地平線で述べたように、両者をテイラー展開して比較すると(これはのベキ級数ですが)、4次の項(の項)まで一致することが確かめられます。ここではその確認を行います。また、利便性を図るために多変数の場合へと拡張します。
厳密解における位置
記号を簡単にするために、、とおいて、テイラー展開をすると、
となります。微小な時間間隔のベキ級数で表せました。しかし、係数はの高次の全微分係数となっています。後々ルンゲ=クッタ法のと比較しやすいように、、、を、の変微分係数を使って書き直しておきましょう。まず、全微分の公式から、
です。これをで全微分して、
です。さらにこれをで全微分して、
となります。単純に全微分を適用していけばいいだけなのですが、計算は結構ハードです。
ルンゲ=クッタ法から計算される
記号の簡略化のために、をと書くことにします。すると、です。
次に、をテイラー展開して、
となります。
また、についても同様に、テイラー展開をの項まで行うと、
となります。
についても同様にテイラー展開して、
となります。
以上によってを計算すると、これが厳密解のテイラー展開との係数まで一致することが確認できます。
多変数の場合
ここまでは、位置が一変数の場合(方向が一つしかない場合)でした。多変数の場合に拡張しておくと、多次元空間での運動がシミュレーションできるようになりますし、ニュートンの運動方程式のように、2階以上の微分方程式も数値計算できるようになります。
実は、見た目は一変数の場合と全く変わらず、ルンゲ=クッタ法の計算公式は、を多次元のベクトルで置き換えたものになります。すなわち、微分方程式、において、時間の刻み幅をとして、ある時刻の位置から、次の時刻のは、
によって計算されます。
ここで、、、は皆ベクトルです。例えば、です。
そして、やはり、厳密に計算した位置と、ルンゲ=クッタ法から計算されるを比較すると、両者のテイラー展開のの係数まで一致することが確かめられます。
確認は一変数の場合と全く同様にできます。というのは、一変数のときにやった微分の計算(テイラー展開)は、多変数になるとベクトルと行列の計算になりますが、式の形は一変数の場合と全く同じだからです。