オイラー法

(図1) オイラー法の図解。未知の曲線は青で、その多角形近似は赤で示されています。

数学および計算科学においてオイラー法前進オイラー法とも呼ばれる)は、与えられた初期値を持つ常微分方程式(ODE)を解くための一次数値計算手法である。これは常微分方程式の数値積分における最も基本的な明示的手法であり、最も単純なルンゲ・クッタ法である。オイラー法は、レオンハルト・オイラーが著書『積分計算の原理』 (1768~1770年出版)で初めて提唱したことにちなんで名付けられた。 [1]

オイラー法は一次近似法であり、局所誤差(ステップごとの誤差)はステップサイズの2乗に比例し、大域誤差(特定の時点における誤差)はステップサイズに比例します。オイラー法は、予測子修正子法など、より複雑な手法を構築するための基礎としてよく用いられます。

幾何学的記述

目的と機能の理由

与えられた点から始まり、与えられた微分方程式を満たす未知の曲線の形状を計算する問題を考えてみましょう。ここで、微分方程式とは、曲線上の任意の点の位置が計算されれば、その点における曲線の接線傾きを計算できる式と考えることができます

考え方としては、曲線は最初は未知ですが、その始点(図1参照)は既知です。そして、微分方程式から、曲線の傾き( )を計算し、接線を求めることができます。

その接線に沿って点まで小さなステップを踏みます。この小さなステップでは傾きはあまり変化しないため、曲線に近くなります。がまだ曲線上にあると仮定すると、上記の点の場合と同じ推論が適用できます。いくつかのステップを踏むと、折れ線曲線)が計算されます。一般に、この曲線は元の未知の曲線から大きく逸脱することはなく、ステップサイズが十分に小さく、計算間隔が有限であれば、2つの曲線間の誤差は小さく抑えることができます。[2]

一次過程

の値が与えられている場合、 の導関数は と の与えられた関数であり、 と表記されます。 を設定することで処理を開始します。次に、 t軸に沿ったすべてのステップのサイズの値を選択し、 (または同等の)を設定します。ここで、オイラー法を使用して と から を求めます[ 3 ]

の値は、時刻 における解の近似値、すなわち です。オイラー法は明示的です。すなわち、 の解はに対しての明示的な関数です

高階過程

オイラー法は1階常微分方程式を積分しますが、任意の階数の常微分方程式は1階常微分方程式の系として表すことができます。次のように定義される階数の常微分方程式が与えられたとき

、、およびと同様に、希望する時刻における常微分方程式の解の近似値に達するまで、次の式を実行します。

これらの一次システムはオイラー法、あるいは実際には一次システムのための他の任意の手法で扱うことができる。[4]

一次例

初期値問題が与えられた場合

オイラー法を用いて近似したい[5]

ステップサイズを1(h = 1

(図2)方程式の数値積分の図解青はオイラー法、緑は中点法、赤は厳密解、ステップサイズは

オイラー法は

まず を計算しなければなりません。この単純な微分方程式では、関数 はで定義されます

上記の手順により、点 における解曲線に接する直線の傾きを求めました。傾きはの変化を の変化で割ったもの、つまり として定義されることを思い出してください

次のステップでは、上記の値にステップ サイズを掛けます。ここではステップ サイズは 1 とします。

ステップサイズは の変化なので、ステップサイズと接線の傾きを掛け合わせると、値の変化が得られます。この値は初期値に加算され、計算に使用する次の値が得られます。

上記の手順を繰り返して、、およびを見つけます

このアルゴリズムは反復的な性質を持つため、エラーを避けるために、以下に示すように計算をチャート形式で整理すると役立ちます。

0101112
1212124
2424148
38381816

この計算の結果は です。微分方程式の正確な解は なので、 となります。オイラー法の近似値は、特に大きな値のステップサイズ のために、この特定のケースではそれほど正確ではありませんでしたが、図が示すように、その動作は定性的に正しいです。

他のステップサイズの使用

(図3)同じ図

導入部で述べたように、オイラー法はステップサイズが小さいほど精度が高くなります。下の表は、ステップサイズを変えた場合の結果を示しています。一番上の行は前のセクションの例に対応し、2行目は図に示されています。

ステップサイズオイラー法の結果誤差
116.0038.60
0.2535.5319.07
0.145.26 9.34
0.0549.56 5.04
0.02551.98 2.62
0.012553.26 1.34

表の最後の列に記録されている誤差は、における正確な解とオイラー近似との差です。表の下部では、ステップサイズは前の行のステップサイズの半分であり、誤差も前の行の誤差の約半分です。これは、少なくともステップサイズがかなり小さい場合、誤差がステップサイズにほぼ比例することを示唆しています。これは一般に当てはまり、他の方程式にも当てはまります。詳細については、「全体的打ち切り誤差」のセクションを参照してください

図にも示されている中点法などの他の手法は、より好ましい挙動を示します。中点法の全体誤差は、ステップサイズの2乗にほぼ比例します。このため、オイラー法は一次法、中点法は二次法と呼ばれます。

上記の表から、小数点以下3桁まで正確な答えを得るために必要なステップサイズは約0.00001であることが推測できます。これは40万ステップ必要であることを意味します。この大きなステップ数は計算コストを増大させます。そのため、特に高い精度が求められる場合は、ルンゲ・クッタ法線形多段階法などの高次手法が用いられます。[6]

高次の例

この三次の例では、以下の情報が与えられていると仮定します

これからy ''' を分離して次の方程式を得ることができます。

これを使用すると、 の解を得ることができますまた、 の解を使用すると、 の解を得ることができます必要なだけ同じ式を使用してこのプロセスを続けることで、希望するものを見つけることができます

導出

オイラー法はいくつかの方法で導出できます。

  1. まず、上記の幾何学的記述があります
  2. もう一つの可能​​性は、 の周りの関数のテイラー展開を考えることです

    微分方程式は と述べている。これをテイラー展開に代入し、二次項と高次項を無視すると、オイラー法が得られる。[7]

    以下では、テイラー展開を使用してオイラー法で発生する誤差を解析しますが、これを拡張してルンゲ・クッタ法を作成することもできます。
  3. これに密接に関連する導出法として、微分方程式の導関数を 前向き差分公式に代入する方法があります。これもまた、オイラー法となります。[8]同様の計算から、中点法後向きオイラー法が得られます。
  4. 最後に、微分方程式を から まで積分し微積分の基本定理を適用すると次の式が得られます。ここで、積分を左辺の長方形法(長方形は1つだけ) で近似します。両方の式を組み合わせると、再びオイラー法が見つかります。[9]

この考え方を継続することで、さまざまな線形多段階法に到達できます。

局所的打ち切り誤差

オイラー法の局所的打ち切り誤差は、1ステップで生じる誤差です。これは、1ステップ後の数値解と時刻における正確な解との差です。数値解は次のように与えられます

正確な解を得るには、上記の導出セクションで説明したテイラー展開を使用します。

オイラー法によって導入される局所的切り捨て誤差 (LTE) は、次の方程式の差で表されます。

この結果は、3次導関数が有界である場合に有効である。[10]

これは、 が小さい場合、局所的な打ち切り誤差が にほぼ比例することを示しています。そのため、オイラー法は、局所的な打ち切り誤差がステップサイズのより高いべき乗に比例するルンゲ・クッタ法線形マルチステップ法などの高次手法よりも精度が低くなります。

局所的打ち切り誤差の若干異なる定式化は、テイラーの定理の剰余項にラグランジュ形式を用いることで得られる。が連続な2次微分を持つ場合、次式を満たすような が存在する[11]。

上記の誤差の式において、未知の厳密解の2階微分は、微分方程式の右辺を含む式に置き換えることができる。実際、この式から[ 12]が導かれる。

全体的切り捨て誤差

全体的切り捨て誤差とは、初期時刻からその時刻に到達するまでに何ステップ必要になったかに関わらず、固定時刻における誤差です。全体的切り捨て誤差は、各ステップで発生する局所的切り捨て誤差の累積的な影響です。 [13]ステップ数は と簡単に決定でき、これは に比例し、各ステップで発生する誤差は に比例します(前のセクションを参照)。したがって、全体的切り捨て誤差は に比例すると予想されます[14]

この直感的な推論は明確に説明できる。解が有界な2次導関数を持ち、その2番目の引数においてリプシッツ連続である場合、大域的打ち切り誤差( と表記)は

ここで、は与えられた区間におけるの二階微分の上界であり、は のリプシッツ定数である[15]あるいはもっと簡単に言えば、 のとき、値( は定数として扱われる)である。対照的に、の関数は変数のみを含む正確な解である

この境界値の正確な形は実用上あまり重要ではない。なぜなら、ほとんどの場合、この境界値はオイラー法によって生じる実際の誤差を大幅に過大評価するからである。[16]重要なのは、この境界値が、大域的打ち切り誤差が(近似的に)に比例することを示していることである。このため、オイラー法は一次法であると言われている。[17]

微分方程式と厳密解 があり、のときの と求めたいとします。 したがって、 t =2.5、h =0.5における誤差境界を求めることができます

t 0は 2 に等しい ことに注意してください。これは、 における t の下限値だからです

数値安定性

(図4)ステップサイズ(青い四角)と(赤い丸)を用いてオイラー法で計算された。黒い曲線は厳密解を示しています

オイラー法は数値的に不安定になる場合があり、特に硬い方程式の場合に不安定になります。つまり、正確な解が ではない方程式の数値解が非常に大きくなります。これは、線形方程式 を使用して説明できます。正確な解は であり、 のときにゼロに減衰します。ただし、ステップ サイズ でこの方程式にオイラー法を適用すると、数値解は質的に間違っています。つまり、振動して増大します (図を参照)。これが不安定であるということです。より小さなステップ サイズ (たとえば ) を使用すると、数値解はゼロに減衰します。

(図 5) ピンク色の円盤はオイラー法の安定領域を示しています。

線形方程式 にオイラー法を適用すると、積が右図の領域外にある場合、数値解は不安定になります。この領域は(線形)安定領域と呼ばれます。[18]この例では、なるので、 となるととなり、 は安定領域外にあるため、数値解は不安定になります。

この制限と、誤差の収束が遅いことから、オイラー法は数値積分の単純な例を除いて、あまり用いられません[要出典]。物理システムのモデルには、減衰の速い要素(つまり、大きな負の指数関数を持つ要素)を表す項が含まれることがよくあります。これらの要素が全体の解において重要でない場合でも、それらが引き起こす不安定性により、オイラー法を用いる場合は非常に小さなタイムステップが必要となる場合があります。

丸め誤差

オイラー法のステップでは、丸め誤差はおおよそ の大きさです。ここで、はマシンイプシロンです。丸め誤差が独立した確率変数であると仮定すると、期待される合計丸め誤差は に比例します[19]したがって、ステップサイズが非常に小さい値の場合、切り捨て誤差は小さくなりますが、丸め誤差の影響は大きくなる可能性があります。オイラー法の式で補正和を使用すれば、丸め誤差の影響のほとんどは簡単に回避できます。 [20]

変更と拡張

上述の安定性の問題を解決するオイラー法の単純な修正法として、後退オイラー法があります。これは、関数がステップの開始点ではなく終了点で評価される点で、(標準的な、あるいは前進的な)オイラー法と異なります。後退オイラー法は暗黙法であり、つまり、後退オイラー法の式は両辺に を持つため、後退オイラー法を適用する際には方程式を解く必要があります。そのため、実装コストは高くなります。

安定性を高めるためにオイラー法に他の修正を加えたものが、指数オイラー法または半暗黙的オイラー法です

より複雑な手法を用いることで、より高い次数(およびより高い精度)を実現できます。一つの可能​​性として、関数評価の回数を増やすことが挙げられます。これは、本稿で既に述べた中点法によって例示されます。これは、ルンゲ・クッタ法の族へと繋がります

もう一つの可能​​性は、2段階のアダムズ・バッシュフォース法で示されるように、より多くの過去の値を使用することです。 これは線形多段階法のファミリーにつながります。メモリ使用量を最小限に抑えるために圧縮センシングの技術を使用する他の修正法もあります[21]

映画『Hidden Figures』の中で、キャサリン・ジョンソンは宇宙飛行士ジョン・グレンの地球軌道からの大気圏再突入を計算する際にオイラー法を用いています[22]

参照

注釈

  1. ^ Butcher 2003, p. 45; Hairer, Nørsett & Wanner 1993, p. 35
  2. ^ アトキンソン 1989, p. 342; ブッチャー 2003, p. 60
  3. ^ ブッチャー 2003, p. 45; ヘアラー、ノーセット、ワナー 1993, p. 36
  4. ^ ブッチャー 2003, p. 3; ヘアラー、ノーセット、ワナー 1993, p. 2
  5. ^ アトキンソン 1989, p. 344 も参照
  6. ^ ハイラー、ノーセット、ワナー、1993、p. 40
  7. ^ アトキンソン 1989, p. 342; ヘアラー、ノーセット、ワナー 1993, p. 36
  8. ^ アトキンソン 1989、342ページ
  9. ^ アトキンソン 1989、343ページ
  10. ^ ブッチャー 2003、60ページ
  11. ^ アトキンソン 1989、342ページ
  12. ^ Stoer & Bulirsch 2002、p. 474
  13. ^ アトキンソン 1989、344ページ
  14. ^ ブッチャー 2003、49ページ
  15. ^ アトキンソン、1989、p. 346;ラコバ 2012、方程式 (1.16)
  16. ^ イゼルレス 1996、7ページ
  17. ^ ブッチャー 2003、63ページ
  18. ^ ブッチャー 2003, p. 70; イザールズ 1996, p. 57
  19. ^ ブッチャー 2003、74~75ページ
  20. ^ ブッチャー 2003、75~78ページ
  21. ^ Unni, MP; Chandra, MG; Kumar, AA (2017年3月). 「圧縮センシングを用いた微分方程式の数値解法におけるメモリ削減」. 2017 IEEE 第13回国際信号処理とその応用コロキウム (CSPA) . pp.  79– 84. doi :10.1109/CSPA.2017.8064928. ISBN 978-1-5090-1184-1. S2CID  13082456.
  22. ^ カーン、アミナ(2017年1月9日)「アメリカ人を宇宙に送り込んだ『Hidden Figures』の数学者に会う」ロサンゼルス・タイムズ2017年2月12日閲覧

参考文献

  • ウィキメディア・コモンズのオイラー法に関連するメディア
  • Rosetta Codeによる様々な言語でのオイラー法の実装
  • 「オイラー法」、数学百科事典EMSプレス、2001 [1994]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Euler_method&oldid=1322588975"