線型多段法

線型多段法(linear multistep method)は、常微分方程式の数値解法の一つである。
概要.
常微分方程式の数値解法では、初期値から始めて微小な刻み幅の分だけ時間を進め、次の点での解を求める。このステップを繰り返せば解曲線が得られる。
過去のformula_1個の時刻における値を用いて次の値を算出する方法を、formula_1段法またはformula_1次の多段法という。特にformula_1が1の場合は1段法または単段法と呼ばれる。
1段法(single-step method)の例として、オイラー法やルンゲ＝クッタ法が挙げられる。オイラー法では、過去の1時刻での値のみを用いて最新の値を決定する。ルンゲ＝クッタ法では、間にある複数のステップ（例えば中点）の値を用いることで良い近似値を得ているが、2番目のステップの値を得る前に過去の情報を全て捨てている。
多段法では、過去の情報を捨てずに保持して用いることで有効な値を得る。すなわち、多段法では過去の複数の時刻での値を用いる。線型多段法の場合は、それらの線型結合が用いられる。
定義.
常微分方程式とその初期値問題を次のように定める。
離散的な時間formula_6におけるformula_7の値は次のようになる。
ここでformula_11は時間の刻み幅であり、formula_12とも書かれる。
線型多段法では、求めるformula_13の値を計算するためにformula_14とformula_15の線型結合を用いる。formula_1段法では次の値を計算するため、過去のformula_1個の値formula_18を用いる。そのため、求める最新の値はformula_19となる。
線型多段法は次の形で表される。
formula_21個の係数formula_22 と formula_23がこの方法を定める。各係数は使用者が決めるが、多くの係数がゼロとされることがよくある。formula_7がformula_25次の多項式であれば、使用者はこれを厳密に補間するように係数を選ぶのが一般的である。
特徴.
準備.
上記のように、formula_1段法では過去のformula_1個の時刻における値が必要となる。初期値として1時刻の値のみが与えられている場合は、1段法をformula_28回実行するなどして必要な値を用意しておく。
陽公式と陰公式.
formula_29であればこの方法は陽公式と呼ばれる。陽公式はformula_19を直接算出できる。
formula_31の値がゼロでなければ、formula_19の値はformula_33の値に依存する。この方法は陰公式と呼ばれ、formula_19を求めるための式があらかじめ解かれていなければならない。陰公式を解くためにはニュートン法のような反復法がよく用いられる。
陽公式はformula_19の値を「予測」するために用いられることがある。陽公式から求めたformula_19の値(予測子)を陰公式のformula_33に代入すれば、より正確なformula_19に「修正」できる。これが予測子修正子法である。
収束性.
出発値を一定の誤差以内に選べばformula_39次の安定な線形多段法はformula_39次収束することが知られている（ただしformula_39次のルンゲ＝クッタ法は出発値に関係なくformula_39次収束する）。
Dahlquist barrier.
formula_39次の安定なformula_44次多段法において、formula_44が偶数の時formula_46、formula_44が偶数の時formula_48である。よってformula_49次より高次の安定な線形formula_44段法は存在しない。
例.
2次のアダムス・バッシュフォース（Adams-Bashforth）法.
これは簡単な線型2段法の一つである。
この方法では2つの値formula_52とformula_53を用いてformula_54を計算する。しかし初期値問題ではformula_55だけが与えられていて、formula_56はこの公式では求められない。そこで計算の開始にあたってformula_57だけは、別の方法たとえば2次のルンゲクッタ法などで求める必要がある。