次へ: 7 最後に 上へ: CD の溝の長さについて 前へ: 5 数値計算 (PDF ファイル: cd1.pdf)


6 数値計算の際の注意

5 節で紹介した数値計算の計算値は電卓、 及びコンピュータ上での電卓程度のもので求めましたが、 実は、単に $G(x)$$F(x)$ に直接値を代入して引き算したものではありません。 それだと引き算する両者がかなり大きな値になって、 本来出てくる小さい値は誤差が大きくなってしまいます (いわゆる桁落ち)。

5 節でも桁落ちが起こらない、引き算を整理した式

\begin{displaymath}
G(x)-F(x) = \frac{x}{x+\sqrt{1+x^2}}+\log(x+\sqrt{1+x^2})
\end{displaymath}

を紹介しましたが、実はこれも使っていません。

電卓を使ってみればわかりますが、 例えば $x=\hat{R}=216000$ のときに $\sqrt{1+x^2}$ を計算するのは あまり得ではなくて、代わりに $x$ を使えば十分です。 つまり、実際には数式をそのまま計算に使用しているのでなく、 必要な桁数を考えながら近似式を使って計算しています。

この節では、$G(x)-F(x)$ が大きな $x$ に対して どのような近似式で近似できるかを考えてみます。 $x$ が小さければテイラー展開で済みますが、 今回は $x$ は大きな値なのでそうはいきません。

まず、$G(x)-F(x)$ の後ろの対数の項ですが、 $\sqrt{1+x^2}\approx x$ と思えば

\begin{displaymath}
\log(x+\sqrt{1+x^2}) \approx \log(x+x) = \log2 + \log x
\end{displaymath}

となります。実際にこの誤差がどれくらいであるか見てみます。 誤差を

\begin{eqnarray*}\lefteqn{\log(x+\sqrt{1+x^2})-\log2x}
 &=&
\log\frac{x+\sqr...
...og(1+p(h)) \hspace{1zw}\left(p(h)=\frac{\sqrt{h^2+1}-1}{2}\right)\end{eqnarray*}

のように変形すると、 $p(0)=0$ なので、$x$ が大きい、つまり $h$ が小さいときは $p(h)$ も小さくなります。

良く知られているように $X$ が小さいときは

\begin{displaymath}
\sqrt{1+X}=1+\frac{X}{2}+O(X^2)
\end{displaymath}

ですから (マクローリン展開)、

\begin{displaymath}
p(h)=\frac{1+h^2/2+O(h^4)-1}{2}=\frac{h^2}{4}+O(h^4)
\end{displaymath}

となります。一方で、

\begin{displaymath}
\log(1+X)=X-\frac{X^2}{2}+O(X^3)
\end{displaymath}

ですから、

\begin{displaymath}
\log(1+p(h))
= p(h)-\frac{p(h)^2}{2}+O(p(h)^3)
= \frac{h^2}{4}+O(h^4)
\end{displaymath}

よって、
\begin{displaymath}
\log(x+\sqrt{1+x^2})
=\log2 + \log x + \frac{1}{4x^2}+O\left(\frac{1}{x^4}\right)\end{displaymath} (6)

となります。

今度は $G(x)-F(x)$ の最初の項ですが、 これも $\sqrt{1+x^2}\approx x$ と思えば、

\begin{displaymath}
\frac{x}{x+\sqrt{1+x^2}} \approx \frac{1}{2}
\end{displaymath}

となりますので、この誤差を考えます。

\begin{displaymath}
\frac{x}{x+\sqrt{1+x^2}}-\frac{1}{2}
=
\frac{x-\sqrt{1+x^2}}{2(x+\sqrt{1+x^2})}
=
-\frac{1}{2(x+\sqrt{1+x^2})^2}
\end{displaymath}

となるので、$x=1/h$ とすれば、

\begin{displaymath}
\frac{1}{1+X}=1-X+O(X^2)
\end{displaymath}

および $\sqrt{h^2+1}=2p(h)-1$ より

\begin{eqnarray*}\frac{1}{x+\sqrt{1+x^2}}
&=&
\frac{h}{1+\sqrt{h^2+1}}
=
\...
...}{4}+O(h^4)\right)
%\\ &=&
=
\frac{h}{2}-\frac{h^3}{8}+O(h^5)\end{eqnarray*}

となり、よって
\begin{displaymath}
\frac{x}{x+\sqrt{1+x^2}}-\frac{1}{2}
=
-\frac{1}{2}\left(...
...{h^2}{8}+O(h^4)
=
-\frac{1}{8x^2}+O\left(\frac{1}{x^4}\right)\end{displaymath} (7)

となります。結局、(6),(7) により
\begin{displaymath}
G(x)-F(x)
=\log x + \frac{1}{2}+\log2 + \frac{1}{8x^2}+O\left(\frac{1}{x^4}\right)\end{displaymath} (8)

となることがわかります。

このような、大きな $x$ に対する関数の展開式を「漸近展開」と呼びます。 実は 5 節の最後の計算ではこの式を用いて ($1/8x^2$ 以降の項を無視して)、

\begin{displaymath}
G(216000)-F(216000)-(G(86400)-F(86400))
\approx
\log\frac{21600}{86400} = \log 2.50
\end{displaymath}

のような計算を行いました。

$x=8.64\times 10^4$ のような大きな値の場合、$1/8x^2$$10^{-11}$ 程度の小さな値になりますからこれで問題はありません。

数値計算や数式の様子を調べる現場では、テイラー展開だけではなくて、 このような漸近展開も広く使われています。


次へ: 7 最後に 上へ: CD の溝の長さについて 前へ: 5 数値計算
竹野茂治@新潟工科大学
2005年9月23日