常微分方程式の数値解法
一段法は η i + 1 {\displaystyle \eta _{i+1}} の値を η i {\displaystyle \eta _{i}} だけから定めるものであったが、より多くのステップでの値 η i − 1 {\displaystyle \eta _{i-1}} , ..., η i − r + 1 {\displaystyle \eta _{i-r+1}} を使う積分スキームは多段法 (multistep method) と呼ばれる。この場合、最初の η 0 {\displaystyle \eta _{0}} , ..., η r − 1 {\displaystyle \eta _{r-1}} はこのスキームでは定めることができず、1段法などの他の方法を用いる必要がある。多段法としてはアダムス・バッシュフォース法や、それを応用する予測子修正子法などがある(これはどちらも η i + 1 {\displaystyle \eta _{i+1}} が η i − r + 1 {\displaystyle \eta _{i-r+1}} , ..., η i {\displaystyle \eta _{i}} の線型関数として定まるため、線型多段法と呼ばれる)。
これまで様々な自然現象 (物理現象など) を記述するために多くの常微分方程式が作られ、多くの数学者たちがその解法を探求してきたが、フックス型微分方程式などを除いて、手計算だけで厳密に解ける常微分方程式は多くない。そのため多くの研究者たちが常微分方程式を数値的に解く技術について研究をしてきた。最も標準的な手法はルンゲ・クッタ法であり、MATLABにはode45として搭載されている。しかしこれは万能なソルバーとは言えない。例えばパンルヴェ方程式やリッカチ方程式などは非線形性によって精度の良い計算ができず、数値実験結果だけを見ていると間違った結論 (幻影解) にたどり着く危険がある。そのため、
線型多段法
リープ・フロッグ法
オイラー法の進化系 後退オイラー法 (en) en:semi-implicit Euler method en:Euler–Maruyama method (確率微分方程式に特化した解法)
en:exponential integrator (行列指数関数を使う解法)
狙い撃ち法
en:Bulirsch–Stoer algorithm
シンプレクティック数値積分法
テイラー級数を用いる方法
などの新しい解法に関する研究が進められている。