打ち切り誤差(離散化誤差)

この章の目標

打ち切り誤差の定義を理解し、テイラー展開の打ち切りや反復法の早期停止による誤差の見積もり方を学ぶ。丸め誤差との違いを明確にする。

前提知識

目次

1. 定義

打ち切り誤差(Truncation Error)とは、無限の数学的過程を有限の近似で置き換えた際に生じる誤差である。

打ち切り誤差の発生源

  • 無限級数を有限項で打ち切る(テイラー展開の打ち切り)
  • 微分を差分で近似する(差分法)
  • 積分を有限個の点での重み付き和で近似する(数値積分)
  • 常微分方程式の連続解を離散時間ステップで近似する

打ち切り誤差は離散化誤差(discretization error)とも呼ばれ、丸め誤差とは本質的に異なる誤差源である。打ち切り誤差は数学的モデルの近似に由来し、丸め誤差は有限桁の浮動小数点演算に由来する。

2. テイラー展開と打ち切り誤差

関数 $f(x)$ の点 $a$ まわりのテイラー展開を $n$ 次の項まで取ると

$$f(x) = \displaystyle\sum_{k=0}^{n} \dfrac{f^{(k)}(a)}{k!}(x-a)^k + R_n(x)$$

ここで $R_n(x)$ が打ち切り誤差(剰余項)であり、ラグランジュの剰余項の形では

$$R_n(x) = \dfrac{f^{(n+1)}(\xi)}{(n+1)!}(x-a)^{n+1}, \quad \xi \in (a, x)$$

と表される。

例: $e^x$ のテイラー展開

$e^x = 1 + x + \dfrac{x^2}{2!} + \dfrac{x^3}{3!} + \cdots$ を $n$ 項で打ち切ると、打ち切り誤差は

$$R_n = \dfrac{e^\xi}{(n+1)!} x^{n+1}$$

$x = 1$ で $n = 4$ とすると、$R_4 \le e / 120 \approx 0.0227$ であり、4次近似 $1 + 1 + 0.5 + 1/6 + 1/24 = 2.7083\ldots$ に対して真値 $e \approx 2.7183$ であるから、実際の誤差 $\approx 0.010$ は上界の範囲内である。

3. 数値微分における打ち切り誤差

前進差分公式の打ち切り誤差は $O(h)$ である(導出は丸め誤差の章 §4を参照)。差分公式の選択により打ち切り誤差のオーダーは変わる。

差分公式近似式打ち切り誤差
前進差分$\dfrac{f(x+h) - f(x)}{h}$$O(h)$
後退差分$\dfrac{f(x) - f(x-h)}{h}$$O(h)$
中心差分$\dfrac{f(x+h) - f(x-h)}{2h}$$O(h^2)$

中心差分は前進・後退差分より1次高い精度をもつ。これは $f(x+h)$ と $f(x-h)$ のテイラー展開で奇数次の項が相殺されるためである。

4. 数値積分における打ち切り誤差

代表的な数値積分公式の打ち切り誤差を以下にまとめる。

公式局所打ち切り誤差大域打ち切り誤差
台形則$O(h^3)$$O(h^2)$
シンプソン則$O(h^5)$$O(h^4)$
ガウス求積($n$点)$O(h^{2n+1})$$O(h^{2n})$

$h$ を半分にすると、台形則の誤差は約 $1/4$ に、シンプソン則の誤差は約 $1/16$ に減少する。

5. 局所打ち切り誤差と大域打ち切り誤差

常微分方程式の数値解法において、2種類の打ち切り誤差が区別される。

局所打ち切り誤差(Local Truncation Error: LTE)

1ステップあたりの誤差。前のステップの値が正確であると仮定した場合の、1ステップ後の誤差を指す。

大域打ち切り誤差(Global Truncation Error: GTE)

すべてのステップの誤差の累積。実際の最終的な誤差を指す。

オイラー法の場合、LTE は $O(h^2)$、GTE は $O(h)$ である。全区間 $[a, b]$ のステップ数は $(b-a)/h$ であるから、LTE を $N = (b-a)/h$ 回累積すると GTE $= O(h^2) \times O(1/h) = O(h)$ となる。

代表的な ODE ソルバの打ち切り誤差

手法LTEGTE次数
オイラー法$O(h^2)$$O(h)$1次
改良オイラー法(ホイン法)$O(h^3)$$O(h^2)$2次
ルンゲ・クッタ法(RK4)$O(h^5)$$O(h^4)$4次

6. 打ち切り誤差と丸め誤差のトレードオフ

数値計算における全誤差は、打ち切り誤差と丸め誤差の和である。$h$ を小さくすると打ち切り誤差は減少するが、丸め誤差は増大するため、全誤差を最小化する最適な $h$ が存在する。

トレードオフの定量的な分析(数値微分における $O(h)$ vs $O(\varepsilon/h)$ の導出、対数-対数スケールでのグラフ、最適 $h^* \sim \sqrt{\varepsilon}$ の計算、級数打ち切りの場合)は丸め誤差の章 §4で詳しく扱っている。

7. よくある質問

Q1. 打ち切り誤差とは何ですか?

無限の数学的過程を有限の近似で置き換えた際に生じる誤差である。テイラー級数の有限項での打ち切り、微分の差分近似、積分の数値近似などで発生する。離散化誤差とも呼ばれる。

Q2. 打ち切り誤差と丸め誤差の違いは何ですか?

打ち切り誤差は数学モデルの離散化に由来し、刻み幅を小さくすれば減少する。丸め誤差は有限桁の浮動小数点演算に由来し、刻み幅を小さくしすぎると逆に増大する。両者のバランスが最適精度を決定する。

Q3. 局所打ち切り誤差と大域打ち切り誤差の違いは何ですか?

局所打ち切り誤差は1ステップあたりの誤差であり、大域打ち切り誤差はすべてのステップの誤差の累積である。オイラー法では局所打ち切り誤差が $O(h^2)$ で大域打ち切り誤差は $O(h)$ となる。

8. 参考資料

  • Wikipedia「打ち切り誤差」(日本語版)
  • Wikipedia「Truncation error」(英語版)
  • Wikipedia「Discretization error」(英語版)
  • R. L. Burden & J. D. Faires, Numerical Analysis, 10th ed., Cengage, 2016.
  • A. Quarteroni, R. Sacco & F. Saleri, Numerical Mathematics, 2nd ed., Springer, 2007.