オイラー法

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

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

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

幾何学的記述

目的とそれが機能する理由

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

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

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

一次プロセス

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

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

高階プロセス

オイラー法は一階常微分方程式を積分しますが、任意の階数の常微分方程式は一階常微分方程式の連立方程式として表すことができます

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

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

一次例

初期値問題

を近似するためにオイラー法を使いたい[5]

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

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

オイラー法は

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

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

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

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

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

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

0101112
1212124
2424148
38381816

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

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

(図3)同じ図

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

ステップサイズオイラー法の結果エラー
116時38.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]

高階の例

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

これから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]

変更と拡張

上記の安定性の問題を解決するオイラー法の単純な修正法は、後退オイラー法です。

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

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

より複雑な手法を用いることで、より高い次数(およびより高い精度)を実現できます。一つの可能​​性として、関数評価を複数回行うことが挙げられます。これは、この記事で既に述べた中点法で例証されています。

これにより、ルンゲ・クッタ法のファミリーが生まれます

もう 1 つの可能性は、2 段階の Adams-Bashforth 法で示されているように、より多くの過去の値を使用することです。

この手法は線形多段階法のファミリーにつながる。メモリ使用量を最小限に抑えるために圧縮センシングの技術を用いた他の改良法もある[21]。

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

参照

注記

  1. ^ ブッチャー 2003, p. 45; ヘアラー、ノーセット、ワナー 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=1302899022"