next up previous
: プログラム : 数値積分の収束加速法 : 収束性

台形公式の精度向上法:Richardson 補外

さらにオイラー・マクローリンの公式 (1) を使うと収束性を改善できる。つまり、

\begin{displaymath}
I_N= I_\infty + c_1 N^{-2} + c_2 N^{-4} + c_3 N^{-6} \cdots
\end{displaymath}


\begin{displaymath}
I_{2N}= I_\infty + c_1 (2N)^{-2} + c_2 (2N)^{-4} + c_3 (2N)^{-6} \cdots
\end{displaymath}

を比較して、
\begin{displaymath}
I_N^{(1)} = \frac{I_{2N} -I_{N}/4}{1-1/4}
\end{displaymath} (8)

とすると $N^{-2}$ の誤差の項が打ち消されるので、
\begin{displaymath}
I_N^{(1)}- I_\infty = - \frac{c_2}{4} N^{-4}- \frac{5 c_3}{16} N^{-6}\cdots
\end{displaymath} (9)

となり元の $I_N$ より収束が早くなる。この操作を Richardson 加速 [3,4]と呼ぶ。台形公式による数 値積分を Richardson 加速すると、誤差は一般に $N^{-4}$ のように振舞う。

上のようにして得られた $I_N^{(1)}$ の数列を、さらに

\begin{displaymath}
I_N^{(2)} = \frac{I_{2N}^{(1)} -I_{N}^{(1)}/16}{1-1/16}
\end{displaymath} (10)

とすると、誤差が $N^{-6}$ のように振舞う。

特に分割数$N$ $2,4,8,16,32,\cdots$ と2の冪乗$N=2^m$にとると、

\begin{displaymath}
I_{2^m} = I_\infty + \sum_{j=1}^\infty c_j 2^{- 2 j m}
\end{displaymath} (11)

であるので、上の操作を繰り返すことができて、
\begin{displaymath}
I_N^{(k)} = \frac{I_{2N}^{(k-1)} -I_{N}^{(k-1)}/4^{k}}{1-1/4^{k}}
\end{displaymath} (12)

とするとさらに収束を早くできる。



Kiyohide Nomura 平成15年6月6日