next up previous contents
Next: 5.5.1.0.1 歴史 Up: 5.5 典型的なスキーム Previous: 5.5 典型的なスキーム

5.5.1 Runge-Kutta 法とその一族

前節に解説したタイプの公式のうち、$k=1$ の場合、すなわち $1$ 段法を Runge-Kutta 型公式という。いくつかの $(t,x)$ について、右辺 の $f(t,x)$ を計算し、それらの重みつき平均によって、適当な次数の(=その 次数までの真の解の Taylor 展開と一致するような)公式を作っている。具体 的には Runge-Kutta 型公式の一般形は

\begin{displaymath}
\left\{
\begin{array}{lcll}
x_{j+1}&=&x_j+h\dsp\sum_{i=1}^...
...ll}k_\ell\right)
& \hbox{($i=1,\cdots,s$)}
\end{array}\right.
\end{displaymath}

の形に書くことが出来る。ここで $s$段数(number of stages) と呼ぶ。段数とは、要するに $1$ ステップ先に進めるために必要な $f$ の計算回数である5.3

段数 $s$ と係数 $\{\alpha_i; 1\le i\le s\}$, $\{\beta_{i j}; 1\le i,
j\le s\}$, $\{\mu_i; 1\le i\le s\}$ を選ぶとスキームが定まることになる。 それら係数を並べた

\begin{displaymath}
\begin{array}{c}
\alpha_1\\
\alpha_2\\
\vdots \\
\alp...
...{2 s}\\
\vdots \\
\beta_{s s}\\
\mu_s
\end{array}\right.
\end{displaymath}

のような表を Stetter's notation と呼ぶ。


\begin{jtheorem}[Runge-Kutta 型公式の収束のための条件]\upshape
Runge-Kutta 型公...
...$, $\rho'(1)=\dsp\sum_{j=0}^s\beta_j$)
\item
安定
\end{enumerate}\end{jtheorem}

公式が前進型 (陽的explicit)であるとは $\beta_{i j}=0$ ($i<j$) が成り立つこと。そうでない場合を陰的 (implicit) であるという。陰的な場合でも $\beta_{i j}=0$ ($i
\le j$) が成り立つ場合は半陰的(semi-implicit)であ るという。

Runge-Kutta 型公式の特徴として、

  1. 自己出発的(self-starting)である。すなわち、多段法($k\ge 2$) で計算の最初に必要な $x_1$, $x_2$, $\cdots$, $x_{k-1}$ を準備する ことなく、計算が開始できる。
  2. 計算の途中で刻み幅(stepsize) $h$ の変更が簡単である($\rightarrow$ adaptive stepsize control に便利)。
  3. 次数を大きくしようとすると、$f$ の値の計算回数が増える。
    次数 $m$ を与えたとき、explicit で少なくとも何 stage 必要か? 陽的 Runge-Kutta 型公式の場合には、以下のようになる:

    \begin{displaymath}
\begin{array}{cccccccccc}
m&1&2&3&4&5&6&7&8&\cdots\\
s&1&2&3&4&6&7&9&10?&\cdots
\end{array}\end{displaymath}

    ここで $m\ge 5$ のとき $s>m$ となることに注意しよう (この事実が 4次の Runge-Kutta 法が人気のある理由の一つである)。なお、$s$ 段の公式で実現 できる最高の次数を到達可能次数と呼ぶ。上の表から陽的 Runge-Kutta 型公式の到達可能次数が分かる。なお陰的 Runge-Kutta 型公式 では、$s$ 段で $2s$ 次を到達する公式が存在することが分かっている。




next up previous contents
Next: 5.5.1.0.1 歴史 Up: 5.5 典型的なスキーム Previous: 5.5 典型的なスキーム
Masashi Katsurada
平成17年6月2日