本書は機械翻訳によるものであり、英語の原文が正本です。 原文を読む
刻み幅を半減させれば誤差も半減するはずだ。だがツールが示す値は1.73である。
ページにはその比率がそのまま表示されている。h = 0.2 のとき 0.000405、その半分の刻み幅では 0.000234。両者を割ると 2 ではなく 1.73 になるが、何一つ破綻しているわけではない。
オイラー法は1次である。どの教科書にもそう記されている。それが意味するのは、誤差が刻み幅 h に比例するということであり、したがって h を半減させれば誤差も半減するはずである。
既定の設定で Euler's method を開いてみる。y′ = x − y、y(0) = 1、h = 0.2 で40ステップ、x = 8 で終了する。ページには大域誤差が 0.000405 と報告されるが、その後きわめて率直な処理が行われる。同じ計算を h/2 で最初から再実行し、その誤差 0.000234 と、両者の比率を表示するのである。
Eh / Eh/2 = 0.000405 / 0.000234 = 1.731285
2 にはならない。この手法は1次であり、計算も正しく、刻み幅を半減させて得られたのは 50% の減少ではなく 42% の減少にとどまる。
1点を見るのではなく、全域を走査する
2つの数値だけでは大まかな傾向しか掴めない。そこで h が半減するごとにステップ数を2倍にして終点を x = 8 に固定したまま、一連の範囲にわたって比率を算出してみる。
- h = 0.4 → 比率 1.475764
- h = 0.2 → 比率 1.731285
- h = 0.1 → 比率 1.865689
- h = 0.05 → 比率 1.933036
- h = 0.025 → 比率 1.966586
保証されていた 2 という値は極限であり、そこに漸近していく様子がこれである。しかし興味深い列は比率そのものではなく、各測定値が 2 からどれだけ下回っているかという不足分である。
0.524 → 0.269 → 0.134 → 0.067 → 0.033
この値は、h が半減するたびに半減している。「1次」という保証と、1次精度が実際に与えるものとの乖離それ自体が、h の1次なのである。
失われた半分はどこから生じるのか
この次数は打ち切りに由来する。オイラー法は解のテイラー展開の第1項のみを保持し、2階微分以降の項をすべて切り捨てる。Taylor tool を見ればそれが視覚的に理解できる。捨てられた各項には h²、h³ などが含まれている。したがって1ステップごとに h² のオーダーの何かが失われ、x = 8 に達するには 8/h ステップを要するため、1ステップあたりの h² は全体で h になる。1次の「1」とは、すでにこの総和について述べたものなのだ。
ゆえに大域誤差は C·h ではない。実際には
E(h) = C₁h + C₂h² + C₃h³ + ⋯
であり、そのような2つの総和の比は
E(h) / E(h/2) = (C₁h + C₂h² + ⋯) / (C₁h/2 + C₂h²/4 + ⋯)
となる。h が縮小するにつれて h² の項は h の項よりも速く消失するため、この比は 2 に近づく。しかし有限の h においては第2項が依然として内部に残り、分母に対して本来の比例関係以上の寄与をもたらしている。「1次」とは最も長く生き残る項の名称であって、存在する唯一の項という意味ではない。h = 0.4 では、h² による寄与が保証されていたはずの2倍という係数の4分の1を食いつぶし、比率は 1.476 にとどまる。
同じ現象はページのステップ表の誤差の列からも確認できる。累積していく誤差は単調に増加するわけではない。x = 0.8 までにおよそ 0.0804 へと上昇したのち、解が平坦になるにつれて減少し、まとめに示された 0.000405 で終わる。大域誤差とは部分的に相殺し合う局所誤差の総和であり、実際に用いるような刻み幅において、その総和が h の単純な倍数になる理由はない。
これが単なる重箱の隅ではなく重要である理由
直接計算できない誤差を推定する標準的な手法はリチャードソン補外であり、これは比率を仮定することで機能する。h で実行し、h/2 で実行した場合、その手法が p 次であれば、2つの解の差はおよそ細かい側の誤差の (2p − 1) 倍となる。オイラー法では p = 1 であるため、その差は残存する誤差とほぼ同等になる。
その論法に h = 0.4 を代入すると、真の比率が 1.476 であるにもかかわらず、比率が 2 であると仮定したことになる。順を追って計算してみよう。得られる推定値は実際に残っている誤差の 0.476 倍となり、真の誤差をおよそ2分の1と小さめに見積もってしまう。過大評価ではなく過小評価である。答えが実際よりも良好であると信じ込むことになり、刻み幅が粗くなるほどその過信は深まる。それこそが最も避けたい事態であるときに限って。
これに対する防御策こそ、まさにこのページが示しているもの、すなわち比率を仮定せず実測することである。2回の実行で比率が得られ、3回で比率の推移がわかる。想定している p に対して比率が 2p に近くなければ、刻み幅が漸近領域に対して粗すぎるか、手法の次数が信じているものと異なるか、あるいは解析で予期していなかった特異性が解に存在するかのいずれかである。いずれも数値を引き合いに出す前に突き止めておく価値がある。
だからこそ刻み幅を小さくするのではなく、より優れた手法が必要になる
刻み幅を半減させると計算量は2倍になる。1次の手法では、それによって得られるのはせいぜい2倍の改善にとどまる。これは割の合わない取引であり、実用的な現場でオイラー法を用いて積分を行うものが皆無に近いのはそのためである。
Simpson's rule は4次である。その刻み幅を半減させると誤差はおよそ16分の1になるため、同じ計算量の倍加によって、オイラー法がもたらす倍加の8倍もの精度向上を獲得できる。微分方程式に対して同様の役割を果たすのがルンゲとクッタの手法であり、参考文献に挙げられているブッチャーの歴史的記述によれば、その系譜は1895年のルンゲおよび1901年のクッタにまで遡る。
心に留めておくべき全体像は明快である。次数 p の手法において、計算努力の倍加に対する精度の交換比率は 2p であり、p は問題の性質ではなくアルゴリズム固有の性質である。どの手法を選ぶかによって交換比率が決まる。刻み幅の選択はその線上を移動するだけにすぎず、上の走査結果が示すように、h が十分に小さくなってその触れ込みが真実になるまでは、宣伝通りの交換レートで動くことすらできない。