
数学および計算科学において、オイラー法(前進オイラー法とも呼ばれる)は、与えられた初期値を持つ常微分方程式(ODE)を解くための1次数値手順である。これは、常微分方程式の数値積分のための最も基本的な明示的方法であり、最も単純なルンゲ・クッタ法である。オイラー法は、著書『Institutionum calculi integralis』(1768~1770年出版)で最初にこの方法を提唱したレオンハルト・オイラーにちなんで名付けられた。[ 1 ]
オイラー法は一次法であり、局所誤差(ステップごとの誤差)はステップサイズの二乗に比例し、全体誤差(ある時点での誤差)はステップサイズに比例します。オイラー法は、予測子・修正子法など、より複雑な手法を構築するための基礎としてよく用いられます。
与えられた点から始まり、与えられた微分方程式を満たす未知の曲線の形状を計算する問題を考えてみましょう。ここで、微分方程式は、曲線上の任意の点の位置が計算されれば、その点における曲線の接線の傾きを計算できる公式と考えることができます。
この考え方は、曲線は最初は不明だが、その始点(これをで表す)はは既知である(図1参照)。次に、微分方程式から、曲線の傾きは計算できるので、接線も計算できます。
その接線に沿って小さな一歩を踏み出し、ある地点まで進みます。この小さな段差に沿って傾斜はあまり変化しないので、曲線に近いものになるでしょう。曲線上にあり、ポイントの場合と同じ理由です上記のものが使用できます。いくつかのステップの後、多角形曲線()が計算されます。一般に、この曲線は元の未知の曲線から大きく乖離せず、ステップサイズが十分に小さく、計算区間が有限であれば、2つの曲線間の誤差を小さくすることができます。[ 2 ]
値が与えられた場合そして、そしての導関数は、そしてと表記されるプロセスを開始するには、設定します。次に、値を選択します。t軸に沿った各ステップのサイズを設定し、(または同等の)) 次に、オイラー法を用いて を求めます。からそして: [ 3 ]
価値は時刻における解の近似値であるつまり、オイラー法は明示的である、つまり解はは明示的な関数であるのために。
オイラー法は1階常微分方程式を積分するが、は、1 階常微分方程式のシステムとして表現できます。 階の常微分方程式が与えられた場合定義される
同様に、、 そしてそこで、所望の時間における常微分方程式の解の近似値に到達するまで、以下の式を実行します。
これらの一次システムは、オイラー法、あるいは実際には一次システムのための他のどんな方法でも扱うことができる。[ 4 ]
初期値問題が与えられた場合

オイラー法は
まず最初に計算する必要があるこの単純な微分方程式では、関数定義される。 我々は持っています
上記の手順を実行することで、解曲線に接する点における直線の傾きを求めることができました。傾きは、変化で割った、 または。
次のステップは、上記の値をステップサイズで乗算することです。ここでは、これを1とします。
ステップサイズは変化なのでステップサイズと接線の傾きを掛け合わせると、この値は、初期値に追加されます。計算に使用する次の値を取得する値。
上記の手順を繰り返して見つける必要があります、そして。
このアルゴリズムは反復的な性質を持つため、以下に示すように計算をチャート形式で整理すると、エラーを防ぐのに役立ちます。
この計算の結論は、微分方程式の厳密解は、 それでオイラー法による近似は、特に値のステップサイズが大きいため、この特定のケースではあまり正確ではなかった。図に示すように、その挙動は定性的に正しい。

序論で述べたように、ステップサイズが小さいほどオイラー法の精度は高くなります。の方が小さい。下の表は、異なるステップサイズでの結果を示している。一番上の行は前のセクションの例に対応し、2番目の行は図に示されている。
表の最後の列に記録されている誤差は、正確な解とそしてオイラー近似。表の下部では、ステップサイズは前の行のステップサイズの半分であり、誤差も前の行の誤差の約半分です。これは、少なくともステップサイズがかなり小さい値の場合、誤差がステップサイズにほぼ比例することを示唆しています。これは一般的に、他の式にも当てはまります。詳細については、「グローバル打ち切り誤差」のセクションを参照してください。
図にも示されている中点法などの他の手法は、より良好な挙動を示します。中点法の全体誤差は、ステップサイズの二乗にほぼ比例します。このため、オイラー法は一次法、中点法は二次法と呼ばれます。
上記の表から、小数点以下3桁まで正確な答えを得るために必要なステップサイズは約0.00001であり、400,000ステップが必要であることが推測できます。このステップ数が多いと計算コストが高くなります。そのため、特に高い精度が求められる場合は、ルンゲ・クッタ法や線形多段階法などの高次法が用いられます。[ 6 ]
この3次方程式の例では、以下の情報が与えられていると仮定します。
これからy '''を分離して、次の式を得ることができます。
それを使って、: そして、その解決策を使って解決策は:必要に応じて同じ公式を使用してこのプロセスを続けることで、望ましい。
オイラー法は様々な方法で導出できる。
この考え方をさらに進めると、さまざまな線形多段階法にたどり着くことができる。
オイラー法の局所打ち切り誤差は、1ステップで発生する誤差です。これは、1ステップ後の数値解と、、そして時刻における正確な解数値解は次のように与えられる。
正確な解を求めるには、上記の「導出」の項で述べたテイラー展開を用います。
オイラー法によって生じる局所打ち切り誤差(LTE)は、以下の式の差によって与えられる。
この結果が有効なのは、3階微分が有界である。[ 10 ]
これは、小さい場合局所的な打ち切り誤差は、おおよそ次の値に比例します。このため、オイラー法は、ルンゲ・クッタ法や線形多段階法などの高次手法よりも精度が低くなります。これらの手法では、局所的な打ち切り誤差はステップサイズのより高いべき乗に比例します。
局所打ち切り誤差のわずかに異なる定式化は、テイラーの定理の剰余項にラグランジュ形式を用いることで得られる。連続な2階微分を持つならば、[ 11 ]
上記の誤差の式において、未知の厳密解の2階微分はは、微分方程式の右辺を含む式に置き換えることができる。実際、次の式から、[ 12 ]
グローバル打ち切り誤差は、固定時間における誤差です。初期時刻からその時刻に到達するまでにメソッドが必要とするステップ数に達した後。グローバルな切り捨て誤差は、各ステップで発生したローカルな切り捨て誤差の累積効果である。[ 13 ]ステップ数は容易に決定できる。これは、、各ステップで発生するエラーは、(前のセクションを参照)。したがって、グローバルな切り捨て誤差は、[ 14 ]
この直感的な推論は、より正確にすることができます。有界な2階微分を持ち、が第2引数に関してリプシッツ連続である場合、グローバルな打ち切り誤差(と表記される)) は、
どこは、の2階微分の上限です。与えられた区間において、はリプシッツ定数である[ 15 ]あるいはもっと簡単に言うと、値(は定数として扱われます)。対照的に、関数は、変数。
この境界の正確な形式は、ほとんどの場合、オイラー法によって実際に発生する誤差を大幅に過大評価するため、実際的な重要性はほとんどありません。[ 16 ]重要なのは、グローバルな打ち切り誤差が(おおよそ)に比例することを示している点です。このため、オイラー法は一次法であると言われている。[ 17 ]
微分方程式が、そして正確な解、そして私たちは見つけたいと思っていますそして次のような場合。 したがって、 t = 2.5、h = 0.5 における誤差範囲を求めることができます。
t 0は 2 に等しいこと に注意してください。これは t の下限です。。

オイラー法は、特に硬い方程式の場合、数値的に不安定になることがあります。これは、厳密解がそうでない方程式でも、数値解が非常に大きくなることを意味します。これは、線形方程式を用いて説明できます。 正確な解はこれは、しかし、この方程式にステップサイズでオイラー法を適用するとすると、数値解は定性的に誤りとなります。振動して増大します(図を参照)。これが不安定であるということです。例えば、より小さなステップサイズを使用すると、すると、数値解はゼロに収束する。

オイラー法を線形方程式に適用すると積が地域外です 右図に示す。この領域は(線形)安定領域と呼ばれる。[ 18 ]この例では、なので、もしそれからこれは安定領域外にあるため、数値解は不安定である。
この制限は、誤差の収束が遅いことと相まって、これは、オイラー法が数値積分の簡単な例として以外はあまり使われないことを意味します。物理システムのモデルには、急速に減衰する要素(つまり、大きな負の指数引数を持つ要素)を表す項が含まれていることがよくあります。これらの要素が全体の解において重要でない場合でも、それらが引き起こす可能性のある不安定性のため、オイラー法を使用する場合は非常に小さな時間ステップが必要になります。
歩調を合わせてオイラー法の場合、丸め誤差はおおよそ次の大きさになります。どこは機械のイプシロンです。丸め誤差が独立した確率変数であると仮定すると、期待される合計丸め誤差はに比例します。[ 19 ]したがって、ステップサイズが極めて小さい場合、切り捨て誤差は小さくなりますが、丸め誤差の影響は大きくなる可能性があります。オイラー法の式で補正加算を使用すれば、丸め誤差の影響のほとんどを容易に回避できます。 [ 20 ]
上記のような安定性の問題を解消するオイラー法の簡単な改良版として、後退オイラー法がある。 これは、(標準的な、または前方)オイラー法とは異なり、関数がステップの開始点ではなく、終了点で評価されます。後退オイラー法は陰解法であり、後退オイラー法の式は次のようになります。両辺に方程式が存在するため、後退オイラー法を適用する際には方程式を解く必要があります。そのため、実装コストが高くなります。
安定性を向上させるためのオイラー法のその他の改良版としては、指数オイラー法や半陰解法オイラー法などがある。
より複雑な手法を用いることで、より高い次数(およびより高い精度)を実現できます。その一つの方法として、関数評価回数を増やすことが挙げられます。これは、本稿で既に触れた 中点法によって例示されます。これはルンゲ・クッタ法 と呼ばれる手法群につながる。
もう一つの可能性は、2段階のアダムス・バッシュフォース法で示されているように、過去の値をより多く利用することです。 これにより、線形多段階法 のファミリーが導き出されます。メモリ使用量を最小限に抑えるために圧縮センシングの技術を使用する他の修正もあります[ 21 ]。
映画『ドリーム』では、キャサリン・ジョンソンが宇宙飛行士ジョン・グレンの地球軌道からの再突入を計算する際にオイラー法を用いる。[ 22 ]