線型多段法
線型多段法(linear multistep method)は、常微分方程式の数値解法の一つである[1][2]。
概要
編集常微分方程式の数値解法では、初期値から始めて微小な刻み幅の分だけ時間を進め、次の点での解を求める。このステップを繰り返せば解曲線が得られる。
過去の 個の時刻における値を用いて次の値を算出する方法を、 段法または 次の多段法という。特に が1の場合は1段法または単段法と呼ばれる[1][2]。
1段法(single-step method)の例として、オイラー法やルンゲ=クッタ法が挙げられる[1][2]。オイラー法では、過去の1時刻での値のみを用いて最新の値を決定する。ルンゲ=クッタ法では、間にある複数のステップ(例えば中点)の値を用いることで良い近似値を得ているが、2番目のステップの値を得る前に過去の情報を全て捨てている。
多段法では、過去の情報を捨てずに保持して用いることで有効な値を得る。すなわち、多段法では過去の複数の時刻での値を用いる。線型多段法の場合は、それらの線型結合が用いられる。
定義
編集離散的な時間 における の値は次のようになる。
ここで は時間の刻み幅であり、 とも書かれる。
線型多段法では、求める の値を計算するために と の線型結合を用いる。 段法では次の値を計算するため、過去の 個の値 を用いる。そのため、求める最新の値は となる。
線型多段法は次の形で表される。
個の係数 と がこの方法を定める。各係数は使用者が決めるが、多くの係数がゼロとされることがよくある。 が 次の多項式であれば、使用者はこれを厳密に補間するように係数を選ぶのが一般的である。
特徴
編集準備
編集上記のように、 段法では過去の 個の時刻における値が必要となる。初期値として1時刻の値のみが与えられている場合は、1段法を 回実行するなどして必要な値を用意しておく。
陽公式と陰公式
編集であればこの方法は陽公式と呼ばれる。陽公式は を直接算出できる。
の値がゼロでなければ、 の値は の値に依存する。この方法は陰公式と呼ばれ、 を求めるための式があらかじめ解かれていなければならない。陰公式を解くためにはニュートン法のような反復法がよく用いられる。
陽公式は の値を「予測」するために用いられることがある。陽公式から求めた の値(予測子)を陰公式の に代入すれば、より正確な に「修正」できる。これが予測子修正子法である[1][2]。
収束性
編集出発値を一定の誤差以内に選べば 次の安定な線形多段法は 次収束することが知られている[1][3](ただし 次のルンゲ=クッタ法は出発値に関係なく 次収束する[1])。
Dahlquist barrier
編集次の安定な 次多段法において、 が偶数の時 、 が奇数の時 である[1][4][5]。よって 次より高次の安定な線形 段法は存在しない[1]。
例
編集2次のアダムス・バッシュフォース(Adams-Bashforth)法
編集これは簡単な線型2段法の一つである。
この方法では2つの値 と を用いて を計算する。しかし初期値問題では だけが与えられていて、 はこの公式では求められない。そこで計算の開始にあたって だけは、別の方法たとえば2次のルンゲクッタ法などで求める必要がある。
脚注
編集- ^ a b c d e f g h 山本哲朗『数値解析入門』(増訂版)サイエンス社〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月。ISBN 4-7819-1038-6。
- ^ a b c d 森正武『数値解析』共立出版、2002年2月。ISBN 4-320-01701-3。
- ^ Ortega, J. M. (1990). Numerical analysis: a second course. Society for Industrial and Applied Mathematics.
- ^ Dahlquist, Germund (1956), "Convergence and stability in the numerical integration of ordinary differential equations", Mathematica Scandinavica, 4: 33--53.
- ^ Hairer, Ernst; Nørsett, Syvert Paul; Wanner, Gerhard (1993), Solving ordinary differential equations I: Nonstiff problems (2nd ed.), Berlin: Springer Verlag, ISBN 978-3-540-56670-0.