中点法

応用数学、特に数値計算における中点法（ちゅうてんほう、）は、一段階法（one-step method）による常微分方程式
の数値解析的な解法の一つである。
陽的中点法（explicit midpoint method）は以下の公式に基づく。
陰的中点法（implicit midpoint method）は以下の公式に基づく。
ここで formula_4、formula_5 はステップ幅（step size）と呼ばれる微小量、formula_6、また formula_7 は算出された formula_8 の近似値。陽的中点法は修正オイラー法（modified Euler method）としても知られる。陰的中点法は最も単純な選点法であり、ハミルトン力学におけるに応用される。
この手法の名称は、上掲の公式において傾きを与える関数 formula_9 の値が、formula_10 が既知の点 formula_11 と未知の（これから算出したい）点 formula_12 との中点 formula_13 において計算されることに由来する。
幾何学的に解釈することで直感的な理解がしやすくなるかもしれない（上掲の図を参照）。基本的なオイラー法では、曲線の formula_14 での接線を formula_15 から計算し、次の値 formula_16 を接線と垂線 formula_17 との交点から求める。しかし、2階微分が formula_11 と formula_12 の間で常に正、または（上掲の図のように）常に負であれば、曲線は接線から逸れ続けて formula_5 の増大とともに誤差は拡大する。この図からは、この区間においては中点における接線（上側の緑色の線分）のほうが、ほとんどいつもより正確な曲線の近似となることが見てとれる。この接線は、まず元のオイラー法を使って中点での formula_10 を推定し、次に formula_9 から傾きを計算することで求まる。この改良された接線を使って formula_7 から formula_24 の値が計算される（図中の赤色の弦）。中点での formula_10 の推定に誤差が伴うため、赤色の弦は正確には緑色の線分（真の接線）と平行ではないことに注意する。
中点法における各ステップでの局所的な誤差は formula_26 であり、大域的な誤差は formula_27 となる。このように、中点法はオイラー法と比べて数値計算的に強力でありながら、formula_28 のときの誤差の収束は一般的により速い。
中点法は、ルンゲ＝クッタ法として知られるより高次の手法の一クラスである。
導出.
中点法はオイラー法
を改良したものであり、手順も類似している。 オイラー法を導く鍵は近似式
であり、これは傾きの公式
と formula_32 に注意することで得られる。
中点法の場合、(3) をより正確な
で置き換える。すると (2) は次の式に変わる。
この式を使って formula_35 を求めることはできない。なぜなら formula_36 の formula_37 での値が分からないからである。そのため、ちょうどオイラー法で formula_38 を求めるのと同じように、テイラー展開を使って
と近似する。これを (4) に代入すると
のように陽的中点法 (1e) の公式が得られる。
陰的中点法 (1i) は、ステップの中間点 formula_37 での値を formula_10 と formula_43 とを結ぶ線分の中点
で近似し、
とすることで得られる。formula_46 で formula_47 を近似すると陰的ルンゲ＝クッタ法
が得られるが、前半部分はステップ幅を formula_49 とした後退オイラー法を含んでいる。
陰的中点法では時間についての対称性から formula_5 の偶数乗の局所誤差項は全てキャンセルし、誤差は自動的に formula_26 となる。formula_52 の決定を後退オイラー法ではなく（前進）オイラー法で行うと、再び陽的中点法が得られる。