seegongsik
単語帳
工業数学

誤差は刻み幅が決める

誤差は刻み幅の次数だけ小さくなる、精度と安定性と費用の綱引き

この講のすべての方法は、一つの約束で結ばれています。誤差はおよそ C 掛ける h の p 乗、つまり error≈C·hᵖ であり、ここで p はその方法の次数です。オイラーは1次、RK2 は2次、RK4 とシンプソンは4次。なぜ大切か。対数-対数の平面に誤差と歩み h を打つと直線になり、その傾きがまさに次数 p です。次数=傾き。だから歩みを半分にすると p 次の誤差は2の p 乗倍に減ります。4次法なら実に16倍。では h を限りなく小さくすればよい?いいえ。小さすぎると丸め誤差が床から跳ね上がり、明示法は安定限界を越えると爆発します。おまけに歩数は 1/h に比例して増え、計算費用が急騰します。結局、精度と費用の均衡点を見つけること、それが数値解析の本当の技です。

横軸は log h、縦軸は log(誤差)です。error=C·hᵖ の両辺に対数を取ると直線になり、その傾きがまさに次数 p です。三本の直線はそれぞれ1次・2次・4次。セグメントで一つの次数を強調し、h スライダーで直線上の点を動かしてください。同じだけ h を減らしても、4次の点ははるかに急に下がります。次数が高いほど、同じ労力で誤差がずっと速く落ちるということです。この一枚が講全体の地図です。

次数の論理だけ見れば、h を 0 へ送れば誤差も 0 になりそうです。現実は違います。全体の誤差は打ち切り誤差 C·h² に丸め誤差 ε/h を足したものです。h を小さくすると第一項は下がりますが第二項は上がり、曲線は U 字の谷を描きます。h スライダーを谷の左端まで引いてください。点が赤くなり丸め誤差の床に当たって誤差が再び大きくなります。無限に精密なものはありません。谷底がその機械の出せる最善です。

壁は精度だけではありません。減衰式 y'=−ky に k=5 を使い、明示的オイラーで解きます。上の帯が歩みの軸です。緑の区域は安定かつ正確、赤の区域は不安定で、境界は h = 2/k = 0.4 です。スライダーの点を緑の中で動かすと、小さいほど真の解に張り付きます。しかし 0.4 を越えて赤へ入ると、精度に関係なく数値解は符号を振りながら爆発します。小さな歩みは精密さだけでなく、発散を防ぐ安全線でもあります。

今度は四つの方法を一つの平面に集めて比べます。Euler(1次)・RK2(2次)・RK4(4次)・シンプソン(4次)の誤差直線が一緒に描かれます。セグメントで方法を選ぶとその直線が強調され、h スライダーがすべての直線上の点を同時に動かします。大きな h では差は小さいですが、h を小さくするほど高次法が圧倒的に正確になります。同じ4次でもシンプソンの直線が RK4 より少し下なのは、係数 C が小さいからです。次数が傾きを、係数が高さを決めます。

最後は実務の綱引きです。二本の棒が現れます。誤差 = C·h² は h を減らすと縮み、費用 = 歩数 ∝ 1/h は h を減らすと増えます。下の曲線は両者の加重和、総損失です。h スライダーを両端まで引いてください。一方の端は誤差過多、もう一方は費用過多、そして真ん中のどこかにスイートスポットがあります。点が緑に変わるその地点が、精密さと費用を同時に満たす最善の歩みです。これが講全体が指していた結論です。

実際に使うこの講のすべての方法は error≈C·hᵖ で結ばれます。p は次数で、対数-対数での誤差対 h の直線の傾きとして見えます。次数=傾き。p 次の誤差は h を半分にすると 2ᵖ 倍に減ります。しかし h を限りなく小さくはできません。小さすぎると丸め誤差が床から上がり、明示法は安定限界を越えると爆発します。おまけに歩数は 1/h で増え費用が急騰します。だから実務は、誤差と費用の加重和が最小になるスイートスポットを探すことです。テイラーが一歩の誤差を、オイラー・RK・シンプソンがその次数を、この講が全体の収束と限界を説明します。
工業数学
このページがお役に立ったなら支援する