ルンゲ・クッタ法

微分方程式のルンゲ・クッタ法の比較(赤は正確な解)

数値解析ではルンゲ・クッタ法(英語: / ˈ r ʊ ŋ ə ˈ k ʊ t ɑː / RUUNG -ə- KUUT -tah[1]暗黙的および明示的な反復法のファミリーであり同時非線形方程式の近似解の時間的離散化に使用されるオイラーが含まれます[2]カール・ルンゲヴィルヘルム・クッタによって開発されました

ルンゲ・クッタ法

古典的なルンゲ・クッタ法で使用される傾き

ルンゲ・クッタ ファミリーの最も広く知られているメンバーは、一般に「RK4」、「古典的なルンゲ・クッタ法」、または単に「ルンゲ・クッタ法」と呼ばれています。

初期値問題を次のように指定します

ここに、時間 の未知の関数(スカラーまたはベクトル)があり、これを近似したいと考えています。変化率 はの関数であり、 自身も の関数であるとされています。初期時刻における対応する値は です。関数初期条件が与えられています。

ここで、ステップサイズh > 0 を選択し、以下を定義します。

n = 0, 1, 2, 3, ..., [3]を用いて

注:上記の式は、異なるテキストでは異なるが同等の定義を持っています。[4]

ここではの RK4 近似値であり、次の値 ( ) は現在の値 ( ) と4 つの増分の加重平均によって決定されます。ここで、各増分は、区間のサイズhと、微分方程式の右側の 関数fによって指定された推定傾きの積です。

  • は、 (オイラー法を使用した、区間の開始時の傾きです。
  • は、およびを使用した、区間の中点における傾きです
  • は再び中点の傾きですが、今度はとを使用します
  • は、およびを使用した、区間の終わりの傾きです

4つの傾きを平均化する際に、中点の傾きに重みが置かれる。が に依存しない場合、つまり微分方程式が単積分と等価である場合、RK4はシンプソンの定理である。[5]

RK4 法は 4 次法であり、局所的な切り捨て誤差はのオーダーである のに対し、 総累積誤差は のオーダーであることを意味します

多くの実際のアプリケーションでは、関数は から独立しており(いわゆる自律システム、または特に物理学では時間不変システム)、その増分はまったく計算されず、関数 に渡されず、 の最終的な式のみが使用されます。

陽的ルンゲ・クッタ法

陽的ルンゲ・クッタ法は、前述のRK4法の一般化です。次のように与えられます

ここで[6]

注:上記の式は、一部のテキストでは異なるが同等の定義を持つ場合があります。[4]

特定の手法を指定するには、整数s(ステージ数)と係数a ij(1 ≤ j < is)、bii = 1, 2, ..., s)、およびc ii = 2, 3, ..., s )を与える必要ある。行列[ a ij ]はルンゲ・クッタ行列と呼ばれbic i重みノードと呼ばれる[7]これらのデータは通常、ブッチャー・タブロージョン・C・ブッチャーにちなんで)と呼ばれる記憶法で整理される。

テイラー級数展開は、ルンゲ・クッタ法が矛盾しない条件が、

また、この手法に特定の位数pを要求する場合、局所的な打ち切り誤差が O( h p +1 ) となるという付随的な要件もあります。これらは打ち切り誤差の定義自体から導き出せます。例えば、2段階法では、b 1 + b 2 = 1、b 2 c 2 = 1/2、b 2 a 21 = 1/2 のとき、位数は 2 となります。[8]なお、係数を決定するための一般的な条件は[8]です。

しかし、この条件だけでは一貫性を保つには十分でも必要でもありません。 [9]

一般に、明示的- 段ルンゲ・クッタ法が 次数 を持つ場合、段数は を満たさなければならないことが証明でき、 の場合、 となる[10]しかし、これらの境界が常に厳密であるかどうかはわかっていない。場合によっては、境界を達成できないことが証明されている。例えば、Butcher は、 の場合、を持つ明示的ルンゲ・クッタ法は存在しないことを証明した。 [11] Butcher はまた、 の場合、段を持つ明示的ルンゲ・クッタ法は存在しないことを証明した[12]しかし、一般に、明示的ルンゲ・クッタ法が 次数 を持つための正確な最小段数が何であるかは未解決の問題である。いくつかの既知の値は以下のとおりである。[13]

上記の証明可能な境界は、これらの順序について既に知られている方法よりも少ない段階を必要とする方法を見つけることができないことを示唆している。Butcherの研究は、7次および8次の方法の最小段階数がそれぞれ9段階および11段階であることを証明している。[11] [12] 7段階の6次の明示的方法の例は、文献[ 14 ]に記載されている。9段階の7次の明示的方法[11]や11段階の8次の明示的方法[15]も知られている。要約については 文献[16] [17]を参照のこと。

RK4法はこの枠組みに該当します。そのタブローは[18]です

0
1/21/2
1/201/2
1001
1/61/31/31/6

ルンゲ・クッタ法のわずかなバリエーションも1901年にクッタによって考案され、3/8則と呼ばれています。[19]この方法の主な利点は、ほとんどすべての誤差係数が一般的な方法よりも小さいことですが、時間ステップごとにわずかに多くのFLOP(浮動小数点演算)が必要です。そのブッチャー・タブローは

0
1/31/3
2/3−1/31
11−11
1/83/83/81/8

しかし、最も単純なルンゲ・クッタ法は(順方向)オイラー法であり、式 で与えられます。これは、1段階の唯一の一貫した陽的ルンゲ・クッタ法です。対応する表は

0
1

2段階の2次法

2段階の2次法の例としては、明示的中点法が挙げられます。

対応するタブローは

0
1/21/2
01

中点法は、2段階の2次ルンゲ・クッタ法の唯一の方法ではない。αでパラメータ化され、式[20]で与えられるそのような方法のファミリーが存在する。

そのブッチャータブローは

0

この族では、中点法を与えHeun法[5]を与え、はRalston法を与える。

使用

例として、ラルストン法としても知られる、α = 2/3の2段階2次ルンゲ・クッタ法を考えてみましょう。これは次の表で与えられます

0
2/32/3
1/43/4

対応する方程式で

この方法は初期値問題を解くために使用される

ステップ サイズh = 0.025 なので、この方法では 4 つのステップを実行する必要があります。

この方法は次のように進行します。

数値解は下線部の値に対応します。

適応型ルンゲ・クッタ法

適応型ルンゲ・クッタ法は、単一のルンゲ・クッタステップの局所的な打ち切り誤差の推定値を生成するように設計されています。これは、次数と次数 の2つの方法を用いることで行われます。これらの方法は相互に絡み合っており、つまり共通の中間ステップを持っています。これにより、高次法を用いたステップと比較して、誤差の推定にかかる計算コストは​​ほとんど、あるいは無視できるほどになります

積分中、ステップサイズは推定誤差がユーザー定義の閾値を下回るように調整されます。誤差が大きすぎる場合は、ステップサイズを小さくしてステップを繰り返します。誤差がはるかに小さい場合は、時間を節約するためにステップサイズを大きくします。これにより、(ほぼ)最適なステップサイズが得られ、計算時間を節約できます。さらに、ユーザーは適切なステップサイズを見つけるために時間を費やす必要がありません。

低次のステップは次のように与えられる。

ここで、高階法の場合と同じです。すると、誤差は

これは である。この種の方法のブッチャー表は の値を与えるように拡張される

0

ルンゲ・クッタ・フェールベルグ法には、 5 次と 4 次の 2 つの方法があります。その拡張ブッチャー表は次のとおりです。

0
1/41/4
3/83/329/32
12/131932/2197−7200/21977296/2197
1439/216−83680/513-845/4104
1/2−8/272−3544/25651859/4104−11/40
16/13506656/1282528561/56430−9/502/55
25/21601408/25652197/4104−1/50

しかし、最も単純な適応型ルンゲ・クッタ法は、2次のホイン法1次のオイラー法を組み合わせたものです。その拡張ブッチャー・タブローは次のとおりです

0
11
1/21/2
10

他の適応型ルンゲ・クッタ法には、ボガッキ・シャンパイン法(3次と2次)、キャッシュ・カープ法ドルマンド・プリンス法(どちらも5次と4次) があります

非合流型ルンゲ・クッタ法

ルンゲ・クッタ法は、すべてのが異なる場合、非合流型 [21]であると言われます

ルンゲ・クッタ・ニストローム法

ルンゲ・クッタ・ニストロム法は、2階微分方程式に最適化されている特殊なルンゲ・クッタ法である。[22] [23] 2階常微分方程式系に対する一般的な(つまり、明示的バージョンと暗黙的バージョンの両方を含む)ルンゲ・クッタ・ニストロム法

順序 は「ステージ」の数であり、次の式で表されます。

この方法の明示的なバージョンでは、の式における和の上限を に置き換えることができる[24]すなわち、和を に置き換えることができる。これは、次の形式のブッチャー表を形成する。

次のブッチャー テーブルには、2 つの 4 次明示的 RKN 法が示されています。

これら2つのスキームは、元の方程式が保存的な古典力学システムから導かれる場合、すなわち

あるスカラー関数に対して[25]

陰的ルンゲ・クッタ法

これまでに述べたルンゲ・クッタ法はすべて陽的手法です。陽的ルンゲ・クッタ法は、絶対安定領域が狭く、特に有界であるため、一般的に硬い方程式の解法には適していません[26]この問題は、偏微分方程式の解法において特に重要です

陽的ルンゲ・クッタ法の不安定性は、陰的ルンゲ・クッタ法の開発の動機となった。陰的ルンゲ・クッタ法は以下の形をとる。

ここで

[27]

陽解法との違いは、陽解法ではjの和がi -1までしか上がらないことです。 [28]これはブッチャー・テーブルにも現れています。陽解法の係数行列は下三角行列です。陰解法では、 jの和はsまで上がり、係数行列は三角行列ではないため、ブッチャー・テーブルは次のようになります。[18]

行の説明については、上記の適応型ルンゲ・クッタ法を参照してください

この違いの結果として、各ステップで代数方程式系を解かなければなりません。これにより計算コストが大幅に増加します。s段階の手法を用いてm個要素を持つ微分方程式を解くと、代数方程式系はms個の要素を持つことになります。これは、暗黙的線形多段階法(常微分方程式のためのもう一つの大きな手法群)とは対照的です。暗黙的s段階線形多段階法は、 m個の要素のみを持つ代数方程式系を解く必要があるため、ステップ数が増加しても方程式系のサイズは増加しません。[29]

暗黙的ルンゲ・クッタ法の最も単純な例は後退オイラー法です

これに対するブッチャーのタブローは単純です:

このブッチャーのタブローは、次の式に対応しています。

これを変形すると、上記の後退オイラー法の式が得られます。

暗黙的ルンゲ・クッタ法のもう一つの例は台形則です。そのブッチャー表は次のようになります。

台形則は(その記事で議論されているように)選点法の一種である。すべての選点法は暗黙的ルンゲ・クッタ法であるが、すべての暗黙的ルンゲ・クッタ法が選点法であるわけではない。[30]

ガウス・ルジャンドル法は、ガウス積分法に基づく選点法の一種である。s段階のガウス・ルジャンドル法は、次数が2である(したがって、任意の高次数を持つ方法を構築できる)。[31] 2段階(したがって次数が4)の方法は、ブッチャー・タブローを持つ。

[29]

安定性

陰的ルンゲ・クッタ法が陽的ルンゲ・クッタ法よりも優れている点は、特に硬い方程式に適用した場合の安定性が高いことです。線形テスト方程式を考えてみましょう。この方程式にルンゲ・クッタ法を適用すると、反復回数は となりrは次のように与えられます

[32]

ここでeは1のベクトルを表します。関数rは安定性関数と呼ばれます[33]式から、rは2つのs次多項式の商であり、その方法はs段階です。陽解法は厳密に下三角行列Aを持ち、det( IzA ) = 1であり、安定性関数は多項式であることを意味します。[34]

線形検定方程式の数値解は、z = h λ において | r ( z ) | < 1 のときゼロに減衰する。このようなzの集合は絶対安定領域と呼ばれる。特に、Re( z ) < 0 となるすべてのz が絶対安定領域内にあるとき、この方法は絶対安定であると言われる。陽的ルンゲ・クッタ法の安定関数は多項式であるため、陽的ルンゲ・クッタ法はA安定にはなり得ない。[34]

この方法がp次数を持つ場合、安定関数はを満たす。したがって、指数関数を最もよく近似する、与えられた次数の多項式の商を調べることは興味深い。これらはパデ近似として知られている。分子がm次、分母がn次のパデ近似がA安定であるための必要十分条件は、mnm + 2である。[35]

s段階のガウス・ルジャンドル法は2sの位数を持つため、その安定性関数はm = n = sのパデ近似となる。したがって、この方法はA安定である。[36]これは、A安定ルンゲ・クッタ法が任意の高位数を持つことができることを示している。対照的に、A安定線形多段階法の位数は2を超えることはできない。[37]

B安定性

微分方程式の解におけるA安定性の概念は、線形自律方程式に関連しています。Dahlquist (1963) は、単調性条件を満たす非線形システムに適用された場合の数値スキームの安定性の調査を提案しました。対応する概念は、マルチステップ法(および関連するワンレッグ法)の場合はG安定性、ルンゲ・クッタ法の場合はB安定性(Butcher, 1975)として定義されました。非線形システムに適用され、が成り立つことが証明されるルンゲ・クッタ法は、この条件が2つの数値解に対して成り立つ場合、 B安定と呼ばれます

、、をそれぞれ定義される3つの行列 とします。ルンゲ・クッタ法は、行列 と がともに非負定値であるとき、代数的に安定であるといわれます[ 38 ] 。B安定の十分条件[39]は、と がともに非負定値であることです。

ルンゲ・クッタ4次法の導出

一般に、ルンゲ・クッタ法は次のように記述できます。

ここで:

は、の階微分を評価することで得られる増分です

我々は、上で説明したように、任意の区間の開始点、中点、終了点で評価された一般的な公式を使用して、ルンゲ・クッタ4次法の導出[40]を展開します。したがって、次のように選択します。

そうでなければ、まず以下の量を定義します。

ここで次のように定義します。

また、前の関係については、 まで次の等式が成り立つことが示せますここで、は の時間に関する全微分です。

今導出した式を使って一般的な式を表現すると、次のようになります。

これを の周りテイラー級数と比較すると次のようになります

係数に関する制約システムが得られます。

これを解くと上記のようになります。

参照

注釈

  1. ^ 「ルンゲ・クッタ法」Dictionary.com2021年4月4日閲覧
  2. ^ DEVRIES, Paul L.; HASBUN, Javier E. 『計算物理学入門』第2版. Jones and Bartlett Publishers, 2011. p. 215.
  3. ^ プレス他。 2007、p. 908; Süli & Mayers 2003、p. 328
  4. ^ ab Atkinson (1989, p. 423)、Hairer, Nørsett & Wanner (1993, p. 134)、Kaw & Kalu (2008, §8.4)、Stoer & Bulirsch (2002, p. 476) は、段階の定義において係数hを省略している。Ascher & Petzold (1998, p. 81)、Butcher (2008, p. 93)、Iserles (1996, p. 38) は、y値を段階として用いている。
  5. ^ ab Süli & Mayers 2003、p. 328
  6. ^ プレス他 2007年、907ページ
  7. ^ イゼルレス 1996、38ページ
  8. ^ イゼルレス 1996、39ページ
  9. ^ 反例として、 と をランダムに選択した任意の明示的2段階ルンゲ・クッタ法を考えてみましょうこの方法は矛盾がなく、(一般に)1次収束します。一方、 を とする1段階法は矛盾しており、 が自明に成立しているにもかかわらず収束しません
  10. ^ ブッチャー 2008、187ページ
  11. ^ abc ブッチャー 1965年、408ページ
  12. ^ ブッチャー 1985
  13. ^ ブッチャー 2008、187–196ページ
  14. ^ ブッチャー 1964
  15. ^ カーティス 1970、268ページ
  16. ^ ハイラー、ノーセット、ワナー、1993、p. 179
  17. ^ ブッチャー 1996、247ページ
  18. ^ ab Süli & Mayers 2003、p. 352
  19. ^ Hairer、Nørsett & Wanner (1993、p. 138) は Kutta (1901) を参照。
  20. ^ スーリ&メイヤーズ 2003、327ページ
  21. ^ ランバート 1991, 278ページ
  22. ^ Dormand, JR; Prince, PJ (1978年10月). 「力学天文学における数値シミュレーションのための新しいルンゲ・クッタアルゴリズム」.天体力学. 18 (3): 223– 232. Bibcode :1978CeMec..18..223D. doi :10.1007/BF01230162. S2CID  120974351.
  23. ^ Fehlberg, E. (1974年10月). 一般2階微分方程式に対するステップサイズ制御による古典的7次、6次、5次ルンゲ・クッタ・ニストローム公式(報告書)(NASA TR R-432版). マーシャル宇宙飛行センター、アラバマ州:アメリカ航空宇宙局.
  24. ^ ブッチャー 2008、94ページ
  25. ^ Qin, Meng-Zhao; Zhu, Wen-Jie (1991-01-01). 「2階常微分方程式に対する正準ルンゲ・クッタ・ニストローム(RKN)法」 . Computers & Mathematics with Applications . 22 (9): 85– 95. doi :10.1016/0898-1221(91)90209-M. ISSN  0898-1221.
  26. ^ Süli & Mayers 2003、pp. 349–351
  27. ^ イゼルレス、1996、p. 41; Süli & Mayers 2003、351–352 ページ
  28. ^ ブッチャー 2008、94ページ
  29. ^ ab Süli & Mayers 2003、p. 353
  30. ^ イゼルレス 1996、43~44ページ
  31. ^ イゼルレス 1996、47ページ
  32. ^ ヘアラー&ワナー 1996年、40–41ページ
  33. ^ ヘアラー&ワナー 1996年、40ページ
  34. ^ イゼルレス 1996、60ページ
  35. ^ イゼルレス 1996、62~63ページ
  36. ^ イゼルレス 1996、63ページ
  37. ^ この結果はDahlquist (1963)によるものです。
  38. ^ ランバート 1991, 275ページ
  39. ^ ランバート 1991, 274ページ
  40. ^ Lyu, Ling-Hsiao (2016年8月). 「付録C. 数値積分公式の導出」(PDF) .宇宙プラズマの数値シミュレーション(I)講義ノート. 国立中央大学宇宙科学研究所. 2022年4月17日閲覧

参考文献

  • Runge、Carl David Tolmé (1895)、「Über die numerische Auflösung von Differentialgleichungen」、Mathematische Annalen46 (2)、Springer : 167–178doi :10.1007/BF01446807、S2CID  119924854
  • Kutta、Wilhelm (1901)、「Beitrag zur näherungsweisen Integration totaler Differentialgleichungen」、数学と物理学に関する研究46 : 435–453
  • Ascher, Uri M.; Petzold, Linda R. (1998)、「常微分方程式と微分代数方程式のコンピュータ手法」、フィラデルフィア:産業応用数学協会ISBN 978-0-89871-412-8
  • アト​​キンソン、ケンドール・A.(1989年)『数値解析入門』(第2版)、ニューヨーク:ジョン・ワイリー・アンド・サンズISBN 978-0-471-50023-0
  • ブッチャー、ジョン・C.(1963年5月)、「ルンゲ・クッタ積分過程の研究のための係数」、オーストラリア数学会誌3(2):185-201doi10.1017/S1446788700027932
  • ブッチャー、ジョン・C.(1964年5月)、「高次のルンゲ・クッタ過程について」、オーストラリア数学会誌4(2):179-194doi10.1017/S1446788700023387
  • ブッチャー、ジョン・C.(1975)、「暗黙的ルンゲ・クッタ法の安定性特性」、BIT15(4):358-361doi:10.1007/bf01931672、S2CID  120854166
  • ブッチャー, ジョン・C. (2000)「20世紀における常微分方程式の数値解析法」, J. Comput. Appl. Math. , 125 ( 1– 2): 1– 29, Bibcode :2000JCoAM.125....1B, doi : 10.1016/S0377-0427(00)00455-6
  • ブッチャー、ジョン・C.(2008年)、常微分方程式の数値解析法、ニューヨーク:ジョン・ワイリー・アンド・サンズISBN 978-0-470-72335-7
  • Cellier, F.; Kofman, E. (2006),連続システムシミュレーション, Springer Verlag , ISBN 0-387-26102-8
  • Dahlquist, Germund (1963)、「線形多段階法の特殊な安定性問題」、 BIT 3 : 27–43 doi : 10.1007/BF01963532、hdl : 10338.dmlcz/103497ISSN0006-3835  、S2CID120241743
  • フォーサイス、ジョージ E.; マルコム、マイケル A.; モーラー、クレーブ B. (1977)、『数学的計算のためのコンピュータ手法』プレンティス・ホール(第6章を参照)。
  • ハイラー、エルンスト。ノーセット、シベール・ポール。 Wanner、Gerhard (1993)、常微分方程式の解法 I: Nonstiff 問題、ベルリン、ニューヨーク: Springer-VerlagISBN 978-3-540-56670-0
  • ヘアラー、エルンスト、ワーナー、ゲルハルト(1996年)、常微分方程式の解法 II:スティフ問題と微分代数問題(第2版)、ベルリン、ニューヨーク:シュプリンガー・フェアラークISBN 978-3-540-60452-5
  • イザーレス、アリエ(1996年)、微分方程式の数値解析入門ケンブリッジ大学出版局Bibcode:1996fcna.book.....I、ISBN 978-0-521-55655-2
  • ランバート、JD (1991)、『常微分システムの数値解析法:初期値問題』John Wiley & SonsISBN 0-471-92990-5
  • Kaw, Autar; Kalu, Egwu (2008)、『数値解析法とその応用』(第1版)、autarkaw.com
  • Press, William H.; Teukolsky, Saul A .; Vetterling, William T.; Flannery, Brian P. (2007)「Section 17.1 Runge-Kutta Method」、Numerical Recipes: The Art of Scientific Computing (第3版)、ケンブリッジ大学出版局ISBN 978-0-521-88068-8また、セクション17.2「ルンゲ・クッタ法の適応ステップサイズ制御」も参照してください。
  • ステア、ジョセフ。 Bulirsch、Roland (2002)、数値解析入門(第 3 版)、ベルリン、ニューヨーク: Springer-VerlagISBN 978-0-387-95452-3
  • スーリ、エンドレ、メイヤーズ、デイヴィッド(2003年)『数値解析入門ケンブリッジ大学出版局ISBN 0-521-00794-1
  • Tan, Delin; Chen, Zheng (2012)「4次ルンゲ・クッタ法の一般公式について」(PDF) , Journal of Mathematical Science & Mathematics Education , 7 (2): 1– 10
  • 離散数学上級 ignou 参考書(コード:mcs033)
  • ジョン・C・ブッチャー:「Bシリーズ:数値解析法の代数的解析」、Springer(SSCM、第55巻)、ISBN 978-3030709556(2021年4月)
  • ブッチャー, JC (1985)、「10段階8次陽的ルンゲ・クッタ法の非存在」BIT数値数学25 (3): 521– 540、doi :10.1007/BF01935372
  • ブッチャー, JC (1965)、「ルンゲ・クッタ法の到達可能な順序について」、計算数学19 (91): 408– 417、doi :10.1090/S0025-5718-1965-0179943-X
  • Curtis, AR (1970)、「ステップごとに11回の関数評価を行う8次ルンゲ・クッタ過程」Numerische Mathematik16 (3): 268– 277、doi :10.1007/BF02219778
  • クーパー, GJ; ヴァーナー, JH (1972)、「高次の明示的ルンゲ・クッタ法」SIAM Journal on Numerical Analysis9 (3): 389– 405、Bibcode :1972SJNA....9..389C、doi :10.1137/0709037
  • ブッチャー, JC (1996)、「ルンゲ・クッタ法の歴史」応用数値数学20 (3): 247– 260、doi :10.1016/0168-9274(95)00108-5
  • 「ルンゲ・クッタ法」数学百科事典EMSプレス、2001 [1994]
  • ルンゲ・クッタ4次法
  • Matlab での Tracker コンポーネント ライブラリの実装 — に 32 個の埋め込み Runge Kutta アルゴリズムRungeKStep、に 24 個の埋め込み Runge-Kutta Nyström アルゴリズムRungeKNystroemSStep、に 4 個の汎用 Runge-Kutta Nyström アルゴリズムを実装しますRungeKNystroemGStep
Retrieved from "https://en.wikipedia.org/w/index.php?title=Runge–Kutta_methods&oldid=1317325865#Explicit_Runge.E2.80.93Kutta_methods"