線型多段法
線型多段法(linear multistep method)は、常微分方程式の数値解法の一つである[1][2]。
概要
常微分方程式の数値解法では、初期値から始めて微小な刻み幅の分だけ時間を進め、次の点での解を求める。このステップを繰り返せば解曲線が得られる。
過去の個の時刻における値を用いて次の値を算出する方法を、段法または次の多段法という。特にが1の場合は1段法または単段法と呼ばれる[1][2]。
1段法(single-step method)の例として、オイラー法やルンゲ=クッタ法が挙げられる[1][2]。オイラー法では、過去の1時刻での値のみを用いて最新の値を決定する。ルンゲ=クッタ法では、間にある複数のステップ(例えば中点)の値を用いることで良い近似値を得ているが、2番目のステップの値を得る前に過去の情報を全て捨てている。
多段法では、過去の情報を捨てずに保持して用いることで有効な値を得る。すなわち、多段法では過去の複数の時刻での値を用いる。線型多段法の場合は、それらの線型結合が用いられる。
定義
離散的な時間におけるの値は次のようになる。
ここでは時間の刻み幅であり、とも書かれる。
線型多段法では、求めるの値を計算するためにとの線型結合を用いる。段法では次の値を計算するため、過去の個の値を用いる。そのため、求める最新の値はとなる。
線型多段法は次の形で表される。
個の係数 と がこの方法を定める。各係数は使用者が決めるが、多くの係数がゼロとされることがよくある。が次の多項式であれば、使用者はこれを厳密に補間するように係数を選ぶのが一般的である。
特徴
準備
上記のように、段法では過去の個の時刻における値が必要となる。初期値として1時刻の値のみが与えられている場合は、1段法を回実行するなどして必要な値を用意しておく。
例
2次のアダムス・バッシュフォース(Adams-Bashforth)法
これは簡単な線型2段法の一つである。
この方法では2つの値とを用いてを計算する。しかし初期値問題ではだけが与えられていて、はこの公式では求められない。そこで計算の開始にあたってだけは、別の方法たとえば2次のルンゲクッタ法などで求める必要がある。
脚注
- 山本哲朗『数値解析入門』(増訂版)サイエンス社〈サイエンスライブラリ 現代数学への入門 14〉、2003年6月。ISBN 4-7819-1038-6。
- 森正武『数値解析』共立出版、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.