ニュートン法:接線で根に近づく
解の公式がない方程式もあります。$e^x+x-3=0$ には 2 次方程式のような公式はありませんし、3 次方程式の公式は面倒すぎてほとんど誰も使いません。そんなときは近似します。値を予想し、どれだけずれているかを調べ、予想を修正する。問題は、どうすればうまく修正できるかです。
ニュートンの例
1669 年の『解析について』で、ニュートンは次の方程式を選びました。
$$y^3-2y-5=0.$$試してみると、$2^3-2\cdot2-5=-1$ なので、根は $2$ の近くにあります。そこで彼は $y=2+p$ とおきました。$p$ は足りない修正分です。代入すると、
$$(2+p)^3-2(2+p)-5=p^3+6p^2+10p-1=0.$$$p$ は小さいので、$p^2$ や $p^3$ はさらに小さい。ニュートンはそれらを捨てて $10p-1=0$ を残し、$p=0.1$ を得ました。新しい予想は $y=2.1$。同じ考えを $y=2.1+q$ でくり返すと $q\approx-0.0054$、以下同様です。数ステップで $y\approx2.09455148$ に到達しました。
幾何学的な考え方:接線をたどる
$p^2$ と $p^3$ を捨てることは、曲線をその接線で置き換えることと同じです。接点の近くでは接線は曲線とほとんど重なり、直線が軸と交わる点を求めるのは簡単です。
予想値 $x_n$ から出発すると、その点での $f$ のグラフの接線は
$$y=f(x_n)+f'(x_n)(x-x_n).$$これが横軸と交わるのは $y=0$ のときです。$x$ について解くと、新しい予想が得られます。
$$x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.$$言葉で言えば、新しい予想 = 予想 − f(予想) ÷ f′(予想)。
ニュートンの方程式に、$f(y)=y^3-2y-5$、$f'(y)=3y^2-2$ として適用すると、
| ステップ | $y$ |
|---|---|
| 0 | 2 |
| 1 | 2.1 |
| 2 | 2.0945681 |
| 3 | 2.0945514817 |
| 4 | 2.0945514815 |
1 ステップごとに、正しい小数の桁数がほぼ倍になります。
例:平方根
$\sqrt2$ を求めるには $x^2-2=0$ を解きます。$f'(x)=2x$ なので、公式は
$$x_{n+1}=\frac12\left(x_n+\frac{2}{x_n}\right)$$となり、予想値と「2 ÷ 予想値」の平均になります。$x_0=2$ から始めると、$1.5$、$1.41667$、$1.4142157$。バビロニア人は約 4000 年前にこの方法を使っていました。ニュートン法は、それがずっと一般的な考え方の一例であることを示しています。
| ステップ | x | 残差 x² − 2 |
|---|
同様に、$\sqrt7$ を求めるには $x^2-7=0$ を解きます。$3$ から始めると、$2.6667$、$2.64583$、$2.6457513$。3 ステップで 7 桁が正しくなります。
例:黄金比
ギリシア人はすでに有名な問題を知っていました。線分 $AC$ を点 $B$ で分けて、線分全体と長いほうの部分の比が、長いほうの部分と短いほうの部分の比に等しくなるようにするのです。
$$\frac{AC}{AB}=\frac{AB}{BC}.$$ユークリッドはこれを線分を外中比に分けると呼び、『原論』第 6 巻命題 30 で定規とコンパスによる作図を示しました。面積を使った形は、すでに命題 II.11に現れています。$BC=1$、$AB=x$ とおくと、条件は $\frac{x+1}{x}=x$、すなわち
$$x^2-x-1=0$$となります。正の根が黄金比 $\varphi=\frac{1+\sqrt5}2\approx1.6180340$ です。$f(x)=x^2-x-1$、$f'(x)=2x-1$ として、ニュートン法は
$$x_{n+1}=x_n-\frac{x_n^2-x_n-1}{2x_n-1}=\frac{x_n^2+1}{2x_n-1}$$を与えます。$x_0=2$ から始めて分数で計算すると、
$$x_1=\frac53,\qquad x_2=\frac{34}{21},\qquad x_3=\frac{1597}{987}\approx1.6180344.$$分子も分母もすべてフィボナッチ数列 $1,1,2,3,5,8,13,21,34,\dots$ の数です。各項は前の二つの項の和になっています。ピサのレオナルド、通称フィボナッチは、1202 年の『算盤の書』(Liber abaci)で、ウサギの繁殖の問題としてこの数列を発表しました。となり合う二項の比は $\varphi$ に近づきます:$\frac85=1.6$、$\frac{13}8=1.625$、$\frac{21}{13}\approx1.615$。ニュートン法はこの比から比へと跳び、一歩ごとに正しい桁数がおよそ二倍になります。$x_3$ ではもう小数点以下 6 桁が正しいのです。
例:公式のない方程式
方程式 $e^x+x-3=0$ は指数関数と多項式が混ざっています。このような方程式は超越方程式と呼ばれ、物理学、化学、工学のいたるところに現れます。$f(x)=e^x+x-3$、$f'(x)=e^x+1$ とし、$x_0=0.85$ から始めると、
$$x_1\approx0.7932,\qquad x_2\approx0.79206,\qquad x_3\approx0.7920600.$$1 次方程式なら?
$3x-6=0$ でこの方法を試してみましょう。$f'(x)=3$、予想値を任意の $c$ とすると、
$$c-\frac{3c-6}{3}=c-(c-2)=2.$$どんな予想でも、1 ステップで正確な答えが出ます。当然です。グラフはもともと直線で、その接線は直線そのものだからです。
うまくいかないとき
この方法は速いのですが、万能ではありません。接線が水平($f'(x_n)=0$)なら横軸と交わらず、割り算ができません。悪い予想から始めると、数列が根から離れていったり、いくつかの値の間を行ったり来たりしたりします。実際には、グラフを見るなどして根の近くから始め、連続する二つの予想が必要な精度で一致したら止めます。
練習:x = 1 から √2 に向けて 1 ステップ進めよ
$x_1=\frac12\left(1+\frac21\right)=1.5$。残差は $1^2-2=-1$ から $1.5^2-2=0.25$ になります。予想は根の反対側に跳びましたが、ずっと近づきました。
練習:10 の立方根を求める反復式を作れ
$x^3-10=0$ を解きます。$f'(x)=3x^2$ なので、 $x_{n+1}=x_n-\dfrac{x_n^3-10}{3x_n^2}=\dfrac{2x_n^3+10}{3x_n^2}$。$2$ から始めると $x_1=\dfrac{26}{12}\approx2.1667$、また $\sqrt[3]{10}\approx2.1544$ です。
資料: ニュートンの伝記、MacTutor · ニュートン–ラフソン法の歴史的図解。