01
2 次収束 — ニュートン法が有名になった型
わかっていること: f は滑らかで、根の近くで f′ は 0 から十分に離れており、初期値も十分近い。1 歩ごとに誤差がほぼ 2 乗される。
反復: ek+1 ∝ ek2
計算例: f(x) = x² − 2、x₀ = 1 から → 1.5、1.416667、1.41421569、1.41421356237:正しい桁は 1、3、6、12
この型を開く: 速い収束インタラクティブな数学・理科レッスン (ノ◕ヮ◕)ノ*:・゚✧
ニュートン法 — 桁が倍になるとき、そして逃げていくとき
ニュートン法は接線をたどって軸まで下り、それを繰り返します:xₖ₊₁ = xₖ − f(xₖ)/f′(xₖ)。うまくいくときは見事で、正しい桁数が一歩ごとにおよそ倍になります。失敗の仕方はどれも同じ場所、つまり分母から来ます。f′ がほぼ 0 なら遠くへ飛ばされ、根で f′ が消えるなら這うほど遅くなり、極値の反対側から始めればまったく別の根に着きます。
01
わかっていること: f は滑らかで、根の近くで f′ は 0 から十分に離れており、初期値も十分近い。1 歩ごとに誤差がほぼ 2 乗される。
反復: ek+1 ∝ ek2
計算例: f(x) = x² − 2、x₀ = 1 から → 1.5、1.416667、1.41421569、1.41421356237:正しい桁は 1、3、6、12
この型を開く: 速い収束02
わかっていること: 根が重根なので、そこで f と f′ が同時に 0 になる。向かう先でちょうど接線がほぼ水平になる。
反復: f′(r) = 0 ⇒ ek+1 ≈ (1 − 1/m)ek
計算例: f(x) = x³、x₀ = 0.1 から → 0.0667、0.0444、0.0296、0.0198:誤差は 2 乗されず、毎回 2/3 倍になるだけ
この型を開く: 平坦な傾き03
わかっていること: 根に近づくほど f より f′ のほうが速く崩れるので、補正 f/f′ は反復ごとに行きすぎが大きくなる。
反復: x → −2x
計算例: f(x) = ∛x、x₀ = 0.01 から → −0.02、0.04、−0.08、0.16:更新式はちょうど x → −2x となり、距離は倍、符号は反転し続ける
この型を開く: 発散04
わかっていること: 関数に複数の根があり、初期値が極値の近く、つまり f′ が小さく最初の一歩が巨大になる場所にある。
反復: f′(x₀) = 0
計算例: f(x) = x³ − x は x₀ = 0.7 からは +1 に落ち着くが、x₀ = 0.5 からは最初の一歩で −1 に着地する。ほかの二つの根の向こう側の根
この型を開く: 誤った吸引域ニュートン法を使うと、x³ − x − 2の根が三回の反復で求まる。二分法では10⁻⁶に達するだけでもおよそ二十回かかるが、ニュートン法は二回目でそこを通り過ぎる。この速さはどこから生まれ、何を代償にしているのだろう。
この手法の発想は一つである。曲線をその接線で置き換えて代わりにそれを解く。直線であれば正確に解けるからである。次の推定値は、接線がゼロと交差する位置となる。
1.5 からスタートすると、最初の1ステップでほぼ目的地に到達する。その点での関数の値はわずか −0.125、傾きは 5.75 であり、それらの比によって推定値は約 0.022 移動する。
さらに2ステップ進むと、数値の変動は止まる。ツールが3回の反復と報告するのは、4回目の移動量が許容誤差未満になるからである。
注目すべきなのは近似値そのものではなく、誤差である。追っていけば規則性は明らかになる。誤差は毎回、直前の誤差の二乗にほぼ等しく、正しい桁数は反復ごとに倍になる。2桁、4桁、7桁、そして14桁である。
また、前係数も任意の数値ではない。根の周りで f を展開すると、連続する二乗誤差の比はその点での |f″/2f′| の評価値に収束することが示される。この3次式ではそれが 0.768 となる。実際に観察された比率は 0.786、0.768、0.768 である。
解答
ツールが3回の反復後に示す根は1.52138である。この速さの理由は二次収束にある。二分法は反復ごとに区間を半分にするので、10⁻⁶に達するまでおよそ二十回を要する。一方、ニュートン法では誤差が二乗されるため、二回目でその精度を超える。ただし、収束は保証されない。二分法は根を挟む区間が得られれば失敗しないが、ニュートン法にはその支えがなく、傾きがほぼゼロの点から始めると次の近似値が遠方へ飛んでしまう。数値的な求根法では、この速さと確実性の兼ね合いが核心となる。実用的なソルバーが、まず根を挟み込んでからニュートン法へ切り替えるのはそのためである。
学習の道すじ