ISEGORIA / 数学百科事典
数値解析:計算が誤解を招くとき
時間刻み・桁落ち・補間誤差を調べます。
前提知識: 微積分と初歩的な微分方程式
予想してから操作し、計算例と問いで理解を確かめてください。グラフは数式の図示であり、証明ではありません。
1. 精度と安定性
陽的オイラー法、4次ルンゲ・クッタ法、陰的オイラー法を指数減衰の厳密解と比較します。どの方法も1ステップごとに解を一定の倍率 R(−5h) 倍し、右の図にその倍率を描きます。h を動かし、倍率が |R| < 1 の帯から出て、真の解は減衰するのに数値解が増大する点を探します。
計算例. h=0.5 のオイラー法は毎回−1.5倍になり、発散します。
注意点. 高次の方法でも任意の刻み幅で安定とは限りません。RK4 は陽解法で、h ≈ 0.557 を超えると破綻します。陰的オイラー法はどの h でも減衰しますが、安定であることは正確であることとは違います。
この方程式でオイラー法が厳密に安定となる刻み幅の区間は?
|1−5h|<1 より 0<h<0.4 です。
2. 近い数を引くとき
直接計算と有理化した等価な式を比較します。x が小さくなるほど √(1 + x) と 1 は先頭の多くの桁で一致し、引き算がそれらの桁を捨ててしまいます。桁の表で、直接計算の分子のどの桁が残るかを確かめます。
計算例. x=10⁻¹⁶ では通常の倍精度で 1+x が1に丸められ、直接計算の分子が0になります。
注意点. 誤差は安定な等価式を基準にしています。任意精度計算による保証ではありません。
xを小さくすれば数値的な極限の推定は必ず改善しますか?
いいえ。打切り誤差が小さくなる一方、丸め誤差が支配的になることがあります。
3. 標本点の置き方が重要
ルンゲ関数を多項式で補間します。等間隔点と端点付近に集まるチェビシェフ・ロバット点を比較し、もう一方の点による補間は破線で描きます。右の図は次数を上げたときの最大誤差を追います。一方は発散し、もう一方は収束します。
計算例. 10次の等間隔補間は端点付近で大きく振動します。
注意点. 表示する最大誤差は標本上の値で、厳密な上限ではありません。点を増やすだけで改善するとは限りません。
すべての点で完全に一致しても誤解を招くのはなぜですか?
点の間で大きく振動し得るためです。データへの一致と関数全体の近似は別の要件です。