第18章 近似と誤差

入門

18.1 線形近似

線形近似(一次近似)

$f$ が $a$ の近くで微分可能なとき、$x$ が $a$ に近い範囲では:

$$f(x) \approx f(a) + f'(a)(x-a)$$

ここで $\Delta x=x-a$、$\Delta f=f(a+\Delta x)-f(a)$ と定義すると:

$$\Delta f \approx f'(a)\,\Delta x$$

この近似の誤差は、$\Delta x$ を $0$ に近づけると、$\Delta x$ よりもずっと速く $0$ に近づく(誤差を $\Delta x$ で割った値も $0$ に近づく)。

例:$\sqrt{4.1}$ の近似

$f(x) = \sqrt{x}$, $a = 4$, $x = 4.1$

$f(4) = 2$, $f'(x) = \dfrac{1}{2\sqrt{x}}$, $f'(4) = \dfrac{1}{4}$

$\sqrt{4.1} \approx 2 + \dfrac{1}{4}(0.1) = 2.025$

(実際の値:2.02485...)

18.2 誤差の評価

線形近似の誤差

$f$ が $a$ と $x$ の間で 2 回微分できるとき、テイラーの定理により、$a$ と $x$ の間のある点 $c$ を使って次のように表せる:

$$f(x)-L(x)=\dfrac{f''(c)}{2}(x-a)^2$$

したがって、区間内で $|f''(t)|\le M$ となる定数 $M$ が分かっていれば、誤差の上界は:

$$|f(x)-L(x)|\le\dfrac{M}{2}(x-a)^2$$

最初の式は、誤差そのものをある点 $c$ の二階導関数で表す等式であり、$M$ を使った式が事前に評価できる誤差上界である。

18.3 ニュートン法

ニュートン法(ニュートン-ラフソン法)

方程式 $f(x)=0$ の解を求める反復法:

$$x_{n+1}=x_n-\dfrac{f(x_n)}{f'(x_n)}$$

ただし、各反復で $f'(x_n)\ne0$ が必要である。初期値の選び方によっては収束しないこともあり、この反復式だけで収束が保証されるわけではない。

ニュートン法のイメージ x₀ x₁ 解 接線とx軸の交点が次の近似解
図1: $f(x) = x^2 - 2$ でのニュートン法。グラフ上の点 $(x_0, f(x_0))$ で接線を引き、接線と $x$ 軸の交点を次の近似値 $x_1$ とする。$x_1$ は $x_0$ より解 $\sqrt{2}$ に近い。
例:$\sqrt{2}$ をニュートン法で計算

$f(x) = x^2 - 2$ の零点を求める

$f'(x) = 2x$

反復式:$x_{n+1} = x_n - \dfrac{x_n^2 - 2}{2x_n} = \dfrac{x_n^2 + 2}{2x_n} = \dfrac{x_n + \dfrac{2}{x_n}}{2}$

$x_0 = 1$ から開始:

  • $x_1 = \dfrac{1 + 2}{2} = 1.5$
  • $x_2 = \dfrac{1.5 + 1.333...}{2} = 1.4167$
  • $x_3 = 1.41422...$

急速に $\sqrt{2} \approx 1.41421...$ に収束

よくある質問

線形近似の誤差はどのくらいか

$f$ が 2 回微分できるとき、$a$ と $a+h$ の間のある点 $c$ を使って、誤差は $\left|f''(c)\right|h^2/2$ と表せる(テイラーの定理)。さらに区間内で $|f''(t)|\le M$ なら、誤差は $Mh^2/2$ 以下である。$h$ が小さいほど誤差が小さく、$|f''|$ が大きいほど誤差が大きくなる。

高次近似を使うのはどんな場合か

線形近似(1次近似)では精度が不十分なとき、2次・3次近似を使う。例えば $x=0$ のまわりでは $\sin x \approx x - \dfrac{x^3}{6}$(3次近似)となり、十分小さい $x$ では1次近似より高い精度が得られる。ただしテイラー近似が有効なのは展開点の近くだけで、どこまで使えるかは誤差項で評価する。数値計算・物理の摂動論で高次展開が必要になる。

打ち切り誤差と丸め誤差の違いは?

打ち切り誤差はテイラー展開を有限項で打ち切ることによる誤差(数学的誤差)である。丸め誤差はコンピュータが有限桁数しか表現できないことによる誤差(実装上の誤差)である。数値計算ではこの 2 種類の誤差のバランスが重要である。

練習問題

練習1

線形近似を使って $\ln(1.1)$ を近似せよ。

練習2

ニュートン法で $\sqrt[3]{5}$ を $x_0 = 2$ から2回反復して求めよ。

解答を見る

練習1の解答

$f(x) = \ln x$, $a = 1$

$f(1) = 0$, $f'(1) = 1$

$\ln(1.1) \approx 0 + 1 \times 0.1 = 0.1$

(実際:0.0953...)

練習2の解答

$f(x) = x^3 - 5$, $f'(x) = 3x^2$

$x_{n+1} = x_n - \dfrac{x_n^3 - 5}{3x_n^2}$

$x_0 = 2$: $x_1 = 2 - \dfrac{8-5}{12} = 2 - 0.25 = 1.75$

$x_1 = 1.75$: $x_2 = 1.75 - \dfrac{5.359-5}{9.1875} \approx 1.711$

($\sqrt[3]{5} \approx 1.71$)