ルンゲ=クッタ法
ルンゲ=クッタ法(Runge-Kutta method)は、常微分方程式の初期値問題に対して近似解を探るための
数値解析手法の一つです。この方法は、1900年代初頭に数学者
カール・ルンゲと
マルティン・クッタによって発展させられました。ルンゲ=クッタ法は、特に高い精度で解を得ることができることから、広く利用されています。
古典的ルンゲ=クッタ法
最も知られているのは、古典的ルンゲ=クッタ法(RK4)です。この方法は、4次の公式に基づいており、以下の初期値問題を考えます。
$$
\begin{align}
y' &= f(t, y), \\
y(t_0) &= y_0.
\end{align}
$$
ここで、$y(t)$は求めたい未知関数であり、$f(t, y)$は$y$の勾配を示します。初期時刻$t_0$での値は$y_0$で与えられており、以降の時刻については、次の公式を用いて計算します。
$$
\begin{align}
y_{n+1} &= y_n + \frac{h}{6}(k_1 + 2k_2 + 2k_3 + k_4), \\
t_{n+1} &= t_n + h.
\end{align}
$$
ここで、$k_1$, $k_2$, $k_3$, $k_4$は次のように定義されます。
$$\begin{align}
k_1 &= f(t_n, y_n), \\
k_2 &= f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_1\right), \\
k_3 &= f\left(t_n + \frac{h}{2}, y_n + \frac{h}{2} k_2\right), \\
k_4 &= f(t_n + h, y_n + h k_3).
\end{align}$$
高精度の特徴
この方法の特筆すべき点は、4次精度を持っていることで、厳密解との誤差が高次の項に比例するため、推定誤差は$O(h^5)$のオーダーであり、全体の誤差は$O(h^4)$になります。
ルンゲ=クッタ法の一般化
一般的なルンゲ=クッタ法は、$s$段として構成され、それぞれの段に対して次の形式が成り立ちます。
$$
y_{n+1} = y_n + h \sum_{i=1}^{s} b_i k_i,
$$
ここでは、$k_i$は勾配の情報を持っています。$a_{ij}$という係数は、方法の特性に応じて適切に選ぶ必要があります。この方法には、陽的ルンゲ=クッタ法(ERK)と陰的ルンゲ=クッタ法(IRK)が存在します。
陽的および陰的ルンゲ=クッタ法
陽的ルンゲ=クッタ法では各係数$a_{ij} = 0$が成り立ち、バッテリー配列も簡素化されます。これに対して陰的ルンゲ=クッタ法は、数値計算における安定性を最大化するために使用されます。
収束性と安定性
ルンゲ=クッタ法は、数値積分において
求積法と関わりが深く、適切に選択した節点と重みを通じて高い精度を保つことが求められます。A-安定性やB-安定性などの安定性条件を満たすことで、特に
硬い方程式に対する解法としても使用されます。
埋め込み型ルンゲ=クッタ法
確実な誤差制御を目的とした埋め込み型ルンゲ=クッタ法では、二つの異なる精度の方法を使い、誤差の推定を行いながら自動的に刻み幅を調整します。これにより煩雑な誤差計算を省き、効率的に数値解を求めることができます。
まとめ
ルンゲ=クッタ法は、
数値解析において強力なツールであり、特に物理学や工学の様々な分野で有用です。高精度計算を行うためのさまざまな手法や応用が存在し、今後もその進化が期待されます。