Newton法(高校数学)

同義語:ニュートン法(高校数学)Newton's method (high school mathematics)

概要

Newton法(Newton's method)とは、方程式 $f(x)=0$ の解を、漸化式 $x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}$ で近似する方法で、$x_{n+1}$ は点 $(x_n,f(x_n))$ での接線と $x$ 軸の交点である。$f(\alpha)=0$、$f''$ が連続、区間 $[\alpha,b]$ で $f'>0$ かつ $f''\ge0$ なら、$\alpha<x_0\le b$ から始めた数列は単調に減少して $\alpha$ に収束し、$f'$ の最小値 $m$ と $f''$ の最大値 $M$ で $0\le x_{n+1}-\alpha\le\frac{M}{2m}(x_n-\alpha)^2$ が成り立つ。正しい桁数は 1 回ごとにほぼ 2 倍になる。凸の条件を外すと巡回・発散が起こりうる。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 接線・法線と曲線の凹凸, 関数の近似とテイラー展開, 関数の連続性と中間値の定理(高校数学), 平均値の定理

高校での出発点:接線で解に近づく

方程式 $x^2=2$ の正の解は $\sqrt2=1.41421356\ldots$ である。この値を、グラフの接線だけを使って求めてみる。曲線 $y=x^2-2$ は $x$ 軸と $x=\sqrt2$ で交わる。解の近くでは曲線は接線とほとんど重なるので、「曲線と $x$ 軸の交点」の代わりに「接線と $x$ 軸の交点」を求め、それを次の出発点にする。

$\sqrt2$ を接線で求める

$f(x)=x^2-2$ とする。$f'(x)=2x$ である。
1 回目。$x_0=2$ から始める。点 $(2,f(2))=(2,2)$ での接線は、傾きが $f'(2)=4$ なので
$$ y=2+4(x-2)=4x-6 $$
である。$y=0$ とおくと $x=\dfrac32$ なので、$x_1=1.5$ とする。
2 回目。点 $\left(\dfrac32,\dfrac14\right)$ での接線は、傾きが $f'\left(\dfrac32\right)=3$ なので $y=\dfrac14+3\left(x-\dfrac32\right)=3x-\dfrac{17}4$ である。$y=0$ とおくと $x=\dfrac{17}{12}$ なので、$x_2=\dfrac{17}{12}=1.41666\ldots$ とする。
3 回目以降も同じ計算を続けると、次のようになる。

$n$$x_n$小数誤差 $x_n-\sqrt2$
$0$$2$$2$$5.9\times10^{-1}$
$1$$\dfrac32$$1.5$$8.6\times10^{-2}$
$2$$\dfrac{17}{12}$$1.41666666\ldots$$2.5\times10^{-3}$
$3$$\dfrac{577}{408}$$1.41421568\ldots$$2.1\times10^{-6}$
$4$$\dfrac{665857}{470832}$$1.414213562374689\ldots$$1.6\times10^{-12}$

$x_4$ は $\sqrt2$ と小数第 11 位まで一致する。

赤・橙・緑の直線はそれぞれ x0、x1、x2 での接線で、接線と x 軸の交点が次の近似値になり、√2 に右側から近づく 赤・橙・緑の直線はそれぞれ x0、x1、x2 での接線で、接線と x 軸の交点が次の近似値になり、√2 に右側から近づく
ex-nwh-start では、誤差が $10^{-1}$、$10^{-3}$、$10^{-6}$、$10^{-12}$ と、指数がほぼ 2 倍ずつ大きくなっている。つまり、正しい桁数が 1 回ごとにほぼ 2 倍になる。図 1 では、近似値はいつも $\sqrt2$ の右側にあり、右から単調に近づいている。この記事で答える問いは次の 3 つである。

  1. 接線を使う計算を、一般の方程式 $f(x)=0$ に対して式で書くとどうなるか。→ def-nwh-newton
  2. どんな条件のもとで、近似値は解に近づくと保証できるか。誤差は本当に「2 乗で」減るのか。→ thm-nwh-main、cor-nwh-digits
  3. 条件を外すと、どう失敗するか。→ ex-nwh-cx-cycle、ex-nwh-cx-arctan、ex-nwh-cx-double
    高校の計算この記事の言葉大学の言葉
    接線と $x$ 軸の交点を求めるNewton 法の漸化式反復法、関数 $g(x)=x-\frac{f(x)}{f'(x)}$ の不動点
    グラフが下に凸近似値が単調に減って解に近づく大域的な収束の条件
    誤差が $10^{-3}$ から $10^{-6}$ へ誤差の 2 乗の評価2 次収束
    区間を半分にしていく二分法(比べる相手)1 次収束

Newton 法の式

ex-nwh-start の計算を一般の関数で書く。関数 $y=f(x)$ のグラフの、点 $(a,f(a))$ での接線は
$$ y=f(a)+f'(a)(x-a) $$
である(接線・法線と曲線の凹凸)。$f'(a)\ne0$ なら、この接線は $x$ 軸と 1 点で交わる。$y=0$ とおくと $f'(a)(x-a)=-f(a)$ なので、両辺を $f'(a)$ で割って
$$ x=a-\frac{f(a)}{f'(a)} $$
が交点の $x$ 座標である。

Newton 法

$f$ を微分可能な関数とし、初期値 $x_0$ を決める。漸化式
$$ x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}\qquad(n=0,1,2,\ldots) $$
で数列 $x_0,x_1,x_2,\ldots$ を作る方法を Newton 法 という。$x_{n+1}$ は、点 $(x_n,f(x_n))$ での接線と $x$ 軸の交点の $x$ 座標である。途中で $f'(x_n)=0$ になると、次の項は定義されない。

漸化式の形を 2 つの見方で確かめておく。

  • $f(x_n)=0$ なら $x_{n+1}=x_n$ である。解にたどり着いたら、その後は動かない。
  • 両辺を移項すると $f(x_n)=f'(x_n)(x_n-x_{n+1})$ である。これは「接線に沿って $x_n$ から $x_{n+1}$ まで進むと、高さがちょうど $f(x_n)$ だけ下がる」ことを表す。この形は、後で極限を調べるときに使う。
平方根と立方根の漸化式
  1. $c>0$ とし、$f(x)=x^2-c$ とする。$f'(x)=2x$ なので
    $$ x_{n+1}=x_n-\frac{x_n^2-c}{2x_n}=\frac{2x_n^2-x_n^2+c}{2x_n}=\frac12\left(x_n+\frac{c}{x_n}\right) $$
    である。$x_n$ と $\dfrac c{x_n}$ の積はいつも $c$ なので、一方が $\sqrt c$ より大きければ他方は小さい。その 2 つの平均を次の近似値にしている。$c=2$、$x_0=2$ とすると $x_1=\dfrac12(2+1)=\dfrac32$、$x_2=\dfrac12\left(\dfrac32+\dfrac43\right)=\dfrac{17}{12}$ で、ex-nwh-start と一致する。
  2. $f(x)=x^3-2$ とする。$f'(x)=3x^2$ なので
    $$ x_{n+1}=x_n-\frac{x_n^3-2}{3x_n^2}=\frac{2x_n^3+2}{3x_n^2}=\frac13\left(2x_n+\frac{2}{x_n^2}\right) $$
    である。$x_0=2$ から始めると
    $$ x_1=\frac13\left(4+\frac24\right)=\frac32,\qquad x_2=\frac13\left(3+\frac89\right)=\frac{35}{27}=1.2962\ldots $$
    で、続けると $x_3=1.26093\ldots$、$x_4=1.2599218\ldots$、$x_5=1.259921049895\ldots$ となる。$\sqrt[3]2=1.259921049894\ldots$ との誤差は $x_3$ で $1.0\times10^{-3}$、$x_4$ で $8.1\times10^{-7}$、$x_5$ で $5.2\times10^{-13}$ である。
  1. の漸化式 $x_{n+1}=\dfrac12\left(x_n+\dfrac c{x_n}\right)$ は、筆算で 1 桁ずつ求める 開平法:平方根の筆算 とは別の手順である。漸化式を縮小写像として調べる一般の方法は 縮小写像と漸化式 にあり、この漸化式への当てはめは rem-nwh-order の折りたたみで述べる。この記事では、漸化式の形によらず、グラフの形(下に凸)だけから収束を示す。

主定理:下に凸なら単調に減って解に近づく

この記事で使う事実

この記事で使う事実

次の 4 つは証明せずに使う。

  1. (Taylor の定理、1 次の場合)$f$ が区間 $I$ で 2 回微分可能で $f''$ が連続なら、$I$ の 2 点 $a$、$x$ に対し、$a$ と $x$ を両端とする閉区間の中の点 $c$ で
    $$ f(x)=f(a)+f'(a)(x-a)+\frac{f''(c)}2(x-a)^2 $$
    を満たすものがある(関数の近似とテイラー展開 の定理「Lagrange の形の剰余項」で $n=1$ としたもの)。
  2. (導関数が正なら増加)区間 $I$ で $f'>0$ なら、$I$ の 2 点 $u< v$ について $f(u)< f(v)$ である(平均値の定理 から従う)。
  3. (最大値・最小値)閉区間で連続な関数は、その区間で最大値と最小値をとる。
  4. (実数の連続性)単調に減少し、下に有界な数列は収束する(関数の連続性と中間値の定理(高校数学) の「この記事で認める事実」)。

1 の式は、$f(x)$ と「$a$ での接線の値」$f(a)+f'(a)(x-a)$ との差が、ちょうど $\dfrac{f''(c)}2(x-a)^2$ であることを言っている。$f''\ge0$ ならこの差は $0$ 以上で、グラフは接線より上にある。Newton 法の誤差の評価は、この 1 行から出てくる。

接線との差を確かめる

$f(x)=x^2-2$ では $f''(x)=2$ なので、1 の式の $c$ がどこでも $\dfrac{f''(c)}2(x-a)^2=(x-a)^2$ である。実際、$a=2$ での接線 $4x-6$ との差は
$$ (x^2-2)-(4x-6)=x^2-4x+4=(x-2)^2 $$
で、どの $x$ でも $0$ 以上である。$x=\sqrt2$ を代入すると、左辺は $0-(4\sqrt2-6)=6-4\sqrt2$ で、右辺は $(\sqrt2-2)^2=6-4\sqrt2$ と一致する。

定理と証明

下に凸な関数での Newton 法の収束

$\alpha< b$ とし、関数 $f$ は次を満たすとする。
(R1) $f$ は閉区間 $[\alpha,b]$ で 2 回微分可能で、$f''$ は連続である。
(R1) $f(\alpha)=0$ である。
(R1) $[\alpha,b]$ のすべての $x$ で $f'(x)>0$ かつ $f''(x)\ge0$ である。
$m$ を $[\alpha,b]$ での $f'$ の最小値、$M$ を $f''$ の最大値とする。初期値 $x_0$ を $\alpha< x_0\le b$ にとると、Newton 法の数列 $(x_n)$ はすべての項が定義されて次が成り立つ。
(1) $\alpha\le x_{n+1}\le x_n\le b$(単調に減少し、$\alpha$ より小さくならない)。
(2) $\displaystyle\lim_{n\to\infty}x_n=\alpha$。
(3) $0\le x_{n+1}-\alpha\le\dfrac{M}{2m}(x_n-\alpha)^2$。

条件 (iii) は、$[\alpha,b]$ でグラフが右上がりで、下に凸であることを言っている(接線・法線と曲線の凹凸)。$m$ と $M$ は、rem-nwh-facts の 3 により存在する($f'$ と $f''$ は閉区間で連続である)。$m$ は $f'$ の値の 1 つなので $m>0$ である。

1 歩ごとに Taylor の定理を当てる

方針:まず、$x_n$ が $[\alpha,b]$ にあれば $x_{n+1}$ も $[\alpha,x_n]$ にあることと、誤差の式 (3) を、1 歩について示す(段 1・段 2)。それを帰納法でつなぎ(段 3)、単調で有界な数列の極限を調べる(段 4)。
段 1($x_{n+1}\le x_n$)。$\alpha\le x_n\le b$ とする。条件 (iii) より $f'(x_n)>0$ なので $x_{n+1}$ は定義される。$f'>0$ なので $f$ は $[\alpha,b]$ で増加し(rem-nwh-facts の 2)、$x_n\ge\alpha$ から $f(x_n)\ge f(\alpha)=0$ である。よって
$$ x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}\le x_n $$
である(引く数 $\dfrac{f(x_n)}{f'(x_n)}$ が $0$ 以上)。
段 2($x_{n+1}\ge\alpha$ と誤差の式)。rem-nwh-facts の 1 を $a=x_n$、$x=\alpha$ として使うと、$\alpha$ と $x_n$ の間の点 $c$ で
$$ 0=f(\alpha)=f(x_n)+f'(x_n)(\alpha-x_n)+\frac{f''(c)}2(\alpha-x_n)^2 $$
を満たすものがある。両辺を $f'(x_n)>0$ で割って移項すると
$$ x_n-\frac{f(x_n)}{f'(x_n)}-\alpha=\frac{f''(c)}{2f'(x_n)}(x_n-\alpha)^2 $$
となる。左辺は $x_{n+1}-\alpha$ である。よって
$$ x_{n+1}-\alpha=\frac{f''(c)}{2f'(x_n)}(x_n-\alpha)^2 $$
が成り立つ。$c$ と $x_n$ は $[\alpha,b]$ にあるので $0\le f''(c)\le M$、$f'(x_n)\ge m>0$ である。右辺の分子を $M$ に、分母を $2m$ に取り替えると右辺は大きくなるか変わらないので
$$ 0\le x_{n+1}-\alpha\le\frac{M}{2m}(x_n-\alpha)^2 $$
である。特に $x_{n+1}\ge\alpha$ である。
段 3(帰納法)。$x_0$ は $[\alpha,b]$ にある。$x_n$ が $[\alpha,b]$ にあれば、段 1・段 2 から $\alpha\le x_{n+1}\le x_n\le b$ で、$x_{n+1}$ も $[\alpha,b]$ にある。よって、すべての $n$ で $x_n$ は定義され、(1) と (3) が成り立つ。
段 4(極限)。(1) により $(x_n)$ は単調に減少し、$\alpha$ より小さくならないので、rem-nwh-facts の 4 により収束する。極限を $L$ とおくと、$\alpha\le x_n\le b$ から $\alpha\le L\le b$ である。漸化式を
$$ f(x_n)=f'(x_n)(x_n-x_{n+1}) $$
と書き直す。$n\to\infty$ とすると、$f$ と $f'$ は $L$ で連続なので左辺は $f(L)$ に、右辺は $f'(L)(L-L)=0$ に近づく。よって $f(L)=0$ である。$f$ は $[\alpha,b]$ で増加するので、$f(x)=0$ となる $x$ は $[\alpha,b]$ に $\alpha$ しかない($x>\alpha$ なら $f(x)>f(\alpha)=0$)。したがって $L=\alpha$ で、(2) が成り立つ。$\square$

段 2 の等式は、評価の (3) より強いことを言っている。すべての $n$ で $x_n\ne\alpha$ なら、$x_n\to\alpha$ のとき $c$ も $x_n$ も $\alpha$ に近づくので、比 $\dfrac{x_{n+1}-\alpha}{(x_n-\alpha)^2}$ は $\dfrac{f''(\alpha)}{2f'(\alpha)}$ に近づく。

$\sqrt2$ で評価を確かめる

$f(x)=x^2-2$、区間 $[\sqrt2,2]$ で考える。$f'(x)=2x>0$、$f''(x)=2\ge0$ で、thm-nwh-main の条件を満たす。$m=f'(\sqrt2)=2\sqrt2$、$M=2$ なので
$$ \frac{M}{2m}=\frac{2}{4\sqrt2}=\frac{1}{2\sqrt2}=0.35355\ldots $$
である。ex-nwh-start の誤差 $e_n=x_n-\sqrt2$ で (3) を確かめる。

$n$$e_n$$\dfrac{1}{2\sqrt2}e_n^2$$e_{n+1}$比 $\dfrac{e_{n+1}}{e_n^2}$
$0$$0.585786$$0.121320$$0.0857864$$0.25$
$1$$0.0857864$$0.00260191$$0.00245310$$0.33333$
$2$$0.00245310$$2.12759\times10^{-6}$$2.12390\times10^{-6}$$0.35294$
$3$$2.12390\times10^{-6}$$1.594864\times10^{-12}$$1.594862\times10^{-12}$$0.353553$

どの行でも $e_{n+1}$ は上界以下である。比は $\dfrac{f''(\sqrt2)}{2f'(\sqrt2)}=\dfrac{1}{2\sqrt2}$ に近づき、上界はほとんど等号になっていく。

  1. の評価をくり返すと、何回で何桁正しくなるかが分かる。
正しい桁数はほぼ 2 倍ずつ増える

thm-nwh-main の仮定に加えて $M>0$ とし、$K=\dfrac{M}{2m}$ とおくと、すべての $n$ で
$$ x_n-\alpha\le\frac1K\bigl(K(x_0-\alpha)\bigr)^{2^n} $$
である。特に $K(x_0-\alpha)<1$ なら、右辺は $n$ が 1 増えるごとに「$\dfrac1K\times$(1 より小さい数)」の中の指数が 2 倍になって、急速に $0$ に近づく。

帰納法

$d_n=K(x_n-\alpha)$ とおく。thm-nwh-main (3) の両辺に $K$ を掛けると $d_{n+1}\le(K(x_n-\alpha))^2=d_n^2$ である。$d_n\ge0$ なので、$d_n\le d_0^{2^n}$ が成り立てば $d_{n+1}\le d_n^2\le\bigl(d_0^{2^n}\bigr)^2=d_0^{2^{n+1}}$ となる。$n=0$ では $d_0\le d_0^{1}$ で成り立つので、帰納法ですべての $n$ で $d_n\le d_0^{2^n}$ である。両辺を $K$ で割ると結論を得る。$M=0$ なら $[\alpha,b]$ で $f''=0$ なので $f$ は 1 次式で、$x_1=\alpha$ となり 1 回で解に着く。$\square$

回数の見積もり

ex-nwh-bound で $K=\dfrac1{2\sqrt2}$、$x_0=2$ とすると $d_0=\dfrac{2-\sqrt2}{2\sqrt2}=0.2071\ldots$ である。cor-nwh-digits により
$$ x_4-\sqrt2\le2\sqrt2\,(0.2071\ldots)^{16}=3.2\ldots\times10^{-11} $$
で、実際の $1.6\times10^{-12}$ はこの範囲に入っている。$n=5$ では上界は $2\sqrt2\,(0.2071\ldots)^{32}=3.7\ldots\times10^{-22}$ になる。

$f(x)=x^2-2$、$x_0=2$ の場合に、数列が単調に減少して $\sqrt2$ に収束することを、漸化式を直接変形して示す証明が Leb26a の Example 2.2.8 にあり、そこでもこの数列が Newton 法であることが注意されている。thm-nwh-main は、同じ筋を「グラフが下に凸」という条件だけで一般の $f$ に広げたものである。

二分法と比べる

方程式の解を追い込む方法としては、区間を半分にしていく 二分法 もある。二分法の手順と、それが中間値の定理の証明そのものになっていることは 関数の連続性と中間値の定理(高校数学) で扱った。ここでは $\sqrt2$ を例に、2 つの方法の速さを比べる。

$\sqrt2$ を二分法と Newton 法で求める

二分法は区間 $[1,2]$ から始める($1^2<2<2^2$)。$n$ 回の操作の後、$\sqrt2$ は幅 $2^{-n}$ の区間に閉じ込められる。Newton 法は ex-nwh-start のとおり $x_0=2$ から始める。

回数 $n$二分法で残る区間区間の幅Newton 法の誤差 $x_n-\sqrt2$
$1$$[1,\,1.5]$$0.5$$8.6\times10^{-2}$
$2$$[1.25,\,1.5]$$0.25$$2.5\times10^{-3}$
$3$$[1.375,\,1.5]$$0.125$$2.1\times10^{-6}$
$4$$[1.375,\,1.4375]$$0.0625$$1.6\times10^{-12}$
$5$$[1.40625,\,1.4375]$$0.03125$$9.0\times10^{-25}$

二分法で区間の幅を $10^{-10}$ 以下にするには、$2^{-n}\le10^{-10}$、つまり $n\ge10\log_210=33.2\ldots$ から $34$ 回の操作が要る($2^{-34}=5.8\times10^{-11}$)。Newton 法は $4$ 回で誤差が $1.6\times10^{-12}$ になる。

片対数のグラフで、二分法の区間の幅は直線的に減り、Newton 法の誤差は下向きに曲がって急に小さくなる 片対数のグラフで、二分法の区間の幅は直線的に減り、Newton 法の誤差は下向きに曲がって急に小さくなる
図 2 の縦軸は対数目盛である。二分法の幅は 1 回ごとに $\dfrac12$ 倍になるので、グラフは傾き一定の直線になる。Newton 法の誤差は指数が 2 倍ずつになるので、下向きに曲がって落ちていく。ただし、二分法にも長所がある。

二分法Newton 法
始めるのに要るもの符号の変わる区間 $[a,b]$初期値 $x_0$ と導関数 $f'$
1 回に計算するもの$f$ の値 1 つ$f$ と $f'$ の値 1 つずつ
誤差の減り方毎回 $\dfrac12$ 倍毎回ほぼ 2 乗(thm-nwh-main (3))
失敗すること$f$ が連続なら失敗しない初期値によっては近づかない(ex-nwh-cx-cycle)

実際の計算では、二分法で解を大まかに追い込んで、thm-nwh-main の条件を満たす区間を見つけてから Newton 法に切り替える、という組み合わせ方もできる。

いろいろな例

方程式 $x=\cos x$

$f(x)=x-\cos x$ とする。$f(0)=-1<0$、$f(1)=1-\cos1>0$ なので、解 $\alpha$ は $0$ と $1$ の間にある(関数の連続性と中間値の定理(高校数学) の例「方程式 $\cos x=x$ の解」)。$f'(x)=1+\sin x$、$f''(x)=\cos x$ で、$0\le x\le1$ では $\sin x\ge0$、$\cos x>0$($1<\dfrac\pi2$)なので、区間 $[\alpha,1]$ で thm-nwh-main の条件を満たす。漸化式は
$$ x_{n+1}=x_n-\frac{x_n-\cos x_n}{1+\sin x_n} $$
で、$x_0=1$ から始めると次のようになる。

$n$$x_n$誤差 $x_n-\alpha$
$0$$1$$2.6\times10^{-1}$
$1$$0.750363867840\ldots$$1.1\times10^{-2}$
$2$$0.739112890911\ldots$$2.8\times10^{-5}$
$3$$0.739085133385\ldots$$1.7\times10^{-10}$
$4$$0.739085133215\ldots$$6.4\times10^{-21}$

$\alpha=0.7390851332\ldots$ である。この区間では $f'$ は増加するので最小値は $m=f'(\alpha)=1+\sin\alpha=1.6736\ldots$、$f''=\cos x$ は減少するので最大値は $M=\cos\alpha=0.7390\ldots$ で、$\dfrac M{2m}=0.2208\ldots$ である。たとえば $n=2$ から $3$ では、$0.2208\times(2.78\times10^{-5})^2=1.70\times10^{-10}$ と実際の誤差 $1.7\times10^{-10}$ がほぼ一致する。

漸化式 $a_{n+1}=\cos a_n$ と比べる

同じ方程式を漸化式 $a_{n+1}=\cos a_n$、$a_0=1$ で解くと、誤差は 1 回ごとにおよそ $\sin\alpha=0.67\ldots$ 倍にしかならず、$a_{10}$ でも誤差は $5.2\times10^{-3}$ である(縮小写像と漸化式)。数値計算では、誤差を $10^{-10}$ 以下にするのに $55$ 回かかる。Newton 法は $3$ 回で $1.7\times10^{-10}$ に届く。

thm-nwh-main は、初期値を解の右側にとる場合を扱っている。初期値が解の左側にあるときは、1 回目で右側に移る。

左から始めても 1 回で右に移る

$a<\alpha$ とし、$f$ は $[a,\alpha]$ で 2 回微分可能で $f''$ が連続、$f(\alpha)=0$、$[a,\alpha]$ で $f'>0$、$f''\ge0$ とする。$a\le x_0<\alpha$ なら $x_1\ge\alpha$ である。

段 2 と同じ等式

rem-nwh-facts の 1 を $a=x_0$、$x=\alpha$ として使い、prf-nwh-main の段 2 と同じ計算をすると、$x_0$ と $\alpha$ の間の点 $c$ で
$$ x_1-\alpha=\frac{f''(c)}{2f'(x_0)}(x_0-\alpha)^2 $$
となる。$f''(c)\ge0$、$f'(x_0)>0$ なので右辺は $0$ 以上で、$x_1\ge\alpha$ である。$\square$

prop-nwh-left で $x_1$ が $[\alpha,b]$ に入り、$[\alpha,b]$ で thm-nwh-main の条件が成り立てば、2 回目以降は thm-nwh-main のとおり単調に減って $\alpha$ に近づく。たとえば $f(x)=x^2-2$ を $x_0=1$ から始めると $x_1=1-\dfrac{-1}{2}=\dfrac32$ で、その後は ex-nwh-start と同じ $\dfrac{17}{12}$、$\dfrac{577}{408}$、… が続く。

右下がりのグラフや上に凸のグラフ

$f$ を $-f$ に取り替えても $\dfrac{f(x)}{f'(x)}$ は変わらないので、Newton 法の数列は同じである。また $g(x)=f(-x)$ に Newton 法を使って得た数列 $y_n$ に対し、$x_n=-y_n$ は $f$ の Newton 法の数列になる($g'(y)=-f'(-y)$ から $y_{n+1}=y_n+\dfrac{f(-y_n)}{f'(-y_n)}$ で、両辺に $-1$ を掛ければよい)。この 2 つの取り替えで、解と $x_0$ を含む区間で $f'$ と $f''$ の符号が一定なら、どの組み合わせも thm-nwh-main に帰着する。まとめると、$f(x_0)$ と $f''$ が同じ符号になる側から始めれば、数列は単調に解に近づく。

図 1 で見ると、下に凸のグラフでは接線がグラフより下にあるので、接線が $x$ 軸と交わる点で、曲線は $x$ 軸より上か $x$ 軸の上にある。そのため、解の右側から始めると、接線と $x$ 軸の交点は解を飛び越えない。

大学数学で見る:縮小写像と 2 次収束

Newton 法は、関数
$$ g(x)=x-\frac{f(x)}{f'(x)} $$
をくり返し当てる漸化式 $x_{n+1}=g(x_n)$ である。$f(\alpha)=0$ なら $g(\alpha)=\alpha$ で、解 $\alpha$ は $g$ で動かない点(不動点)である。縮小写像と漸化式 では、$g$ が区間 $I$ を $I$ に写し、$I$ で $\lvert g'\rvert\le k<1$ となるとき $a_{n+1}=g(a_n)$ が不動点に近づき、誤差が 1 回ごとに $k$ 倍以下になることを示した。Newton 法の $g$ を微分すると、商の微分により
$$ g'(x)=1-\frac{f'(x)^2-f(x)f''(x)}{f'(x)^2}=\frac{f(x)f''(x)}{f'(x)^2} $$
である。$x=\alpha$ では $f(\alpha)=0$ なので $g'(\alpha)=0$ となる。つまり、解に近いほど縮小の割合 $k$ をいくらでも小さくとれる。これが、誤差が「定数倍」ではなく「2 乗」で減る理由である。

1 次収束と 2 次収束

解 $\alpha$ に近づく数列の誤差 $e_n=\lvert x_n-\alpha\rvert$ について、定数 $C$ があって $e_{n+1}\le Ce_n$($0< C<1$)のとき 1 次収束、$e_{n+1}\le Ce_n^2$ のとき 2 次収束 という。二分法の区間の幅や、縮小写像による漸化式は 1 次収束で、thm-nwh-main (3) は、下に凸の条件のもとで Newton 法が 2 次収束することを示している。

縮小写像として見た $\sqrt2$ の Newton 法と、多変数の Newton 法を開く

$f(x)=x^2-2$ の Newton 法の関数 $g(x)=x-\dfrac{x^2-2}{2x}=\dfrac x2+\dfrac1x$ は、$g'(x)=\dfrac12-\dfrac1{x^2}$ なので $x\ge1$ で $\lvert g'(x)\rvert\le\dfrac12$ である。また $x\ge1$ なら相加平均と相乗平均の関係から $g(x)\ge2\sqrt{\dfrac x2\cdot\dfrac1x}=\sqrt2\ge1$ なので、$g$ は $[1,\infty)$ を $[1,\infty)$ に写す縮小写像である。これを縮小写像の不動点定理の演習として扱ったものが Leb26a の Exercise 7.6.9 である。

方程式が 2 つ以上のとき(たとえば未知数 $x,y$ の連立方程式 $F_1(x,y)=0$、$F_2(x,y)=0$)も、接線の代わりに接平面(1 次近似)を使って同じ考えの反復ができる。偏導関数を並べた行列(Jacobi 行列)$J$ を使って、$\boldsymbol{x}_{n+1}=\boldsymbol{x}_n-J(\boldsymbol{x}_n)^{-1}\boldsymbol{F}(\boldsymbol{x}_n)$ とする。解の近くで $J$ の逆行列があれば、やはり 2 次収束する。大学向けの記事 Newton法 で扱う。

例と反例

thm-nwh-main の条件を外すと、何が崩れるかを並べる。

外す条件反例成り立たなくなること
条件 (iii)(解と初期値の間で $f'>0$、$f''\ge0$)$f(x)=x^3-2x+2$、$x_0=0$解に近づく($0,1,0,1,\ldots$ と巡回する)
条件 (iii) の $f''\ge0$$f(x)=\arctan x$、$x_0=2$解に近づく($\lvert x_n\rvert$ が大きくなっていく)
条件 (iii) の $f'>0$ が解 $\alpha$ で崩れる$f(x)=x^2$、$x_0=1$誤差の 2 乗の評価 (3)(誤差は半分ずつにしか減らない)
初期値が $\alpha< x_0\le b$$f(x)=x^2-2$、$x_0=0$次の項が定義される($f'(0)=0$)
反例:巡回して近づかない

$f(x)=x^3-2x+2$ とする。$f'(x)=3x^2-2$ である。$x_0=0$ から始めると
$$ x_1=0-\frac{f(0)}{f'(0)}=0-\frac{2}{-2}=1,\qquad x_2=1-\frac{f(1)}{f'(1)}=1-\frac{1}{1}=0 $$
で、$x_2=x_0$ に戻る。以後 $0,1,0,1,\ldots$ と巡回し、実数の解 $\alpha=-1.7692\ldots$ には近づかない。$0$ と $\alpha$ の間には $f'(x)=0$ となる点 $x=-\sqrt{\dfrac23}$ があり、$x<0$ では $f''(x)=6x<0$ なので、解と初期値の間で条件 (iii) が成り立っていない。解の左側の $x_0=-2$ から始めると、$[-2,\alpha]$ では $f'>0$、$f''<0$ で $f(-2)=-2<0$($f(x_0)$ と $f''$ が同じ符号)なので、rem-nwh-shapes のとおり $-2$、$-1.8$、$-1.76994\ldots$、$-1.769292\ldots$ と単調に近づく。

x0 = 0 での接線は x = 1 で x 軸と交わり、x = 1 での接線は x = 0 で x 軸と交わるので、数列は 0 と 1 を行き来する x0 = 0 での接線は x = 1 で x 軸と交わり、x = 1 での接線は x = 0 で x 軸と交わるので、数列は 0 と 1 を行き来する
y = arctan x の x0 = 2 での接線は x = −3.54 で、そこでの接線は x = 13.95 で x 軸と交わり、数列は解 0 から離れていく y = arctan x の x0 = 2 での接線は x = −3.54 で、そこでの接線は x = 13.95 で x 軸と交わり、数列は解 0 から離れていく
反例:接線が寝て遠くへ飛ぶ

$f(x)=\arctan x$ の解は $\alpha=0$ である。$f'(x)=\dfrac1{1+x^2}>0$ だが、$f''(x)=-\dfrac{2x}{(1+x^2)^2}$ は $x>0$ で負なので、$[0,b]$ で $f''\ge0$ は成り立たない。漸化式は $x_{n+1}=x_n-(1+x_n^2)\arctan x_n$ で、$x_0=2$ から始めると
$$ x_1=2-5\arctan2=-3.5357\ldots,\quad x_2=13.9509\ldots,\quad x_3=-279.344\ldots,\quad x_4=122016.99\ldots $$
と、符号を変えながら $0$ から離れていく。$\lvert x\rvert$ が大きいところではグラフがほとんど水平で、接線の傾き $\dfrac1{1+x^2}$ が小さいため、接線と $x$ 軸の交点が遠くに飛ぶ(図 4)。

初期値を解に近づけた場合を開く

$x_0=1$ から始めると $x_1=1-2\cdot\dfrac\pi4=-0.5707\ldots$、$x_2=0.1168\ldots$、$x_3=-0.00106\ldots$、$x_4=7.96\times10^{-10}$ と、符号を変えながら $0$ に近づく。$\arctan$ は奇関数なので、$x_1=-x_0$ となる初期値では $x_0,-x_0,x_0,\ldots$ と巡回する。その値は方程式 $2x=(1+x^2)\arctan x$ の正の解で、数値では $x_0=1.3917\ldots$ である。

反例:重解では 2 乗で減らない

$f(x)=x^2$ の解 $\alpha=0$ では $f'(0)=0$ である。$x_n\ne0$ なら
$$ x_{n+1}=x_n-\frac{x_n^2}{2x_n}=\frac{x_n}{2} $$
なので、$x_0=1$ から $1,\dfrac12,\dfrac14,\dfrac18,\ldots$ となる。$0$ には近づくが、誤差は 1 回ごとに半分になるだけで、二分法と同じ速さである。$\dfrac{e_{n+1}}{e_n^2}=\dfrac{1}{2e_n}$ は限りなく大きくなるので、$e_{n+1}\le Ke_n^2$ を満たす定数 $K$ はない。thm-nwh-main では、区間 $[0,b]$ での $f'$ の最小値が $m=f'(0)=0$ となり、$\dfrac{M}{2m}$ が定まらない。

反例:接線が水平で次の点がない

$f(x)=x^2-2$ を $x_0=0$ から始めると、点 $(0,-2)$ での接線は $y=-2$ で $x$ 軸と交わらない。式でも $f'(0)=0$ で割ることになり、$x_1$ は定義されない。$x_0$ が $\alpha=\sqrt2$ より右(thm-nwh-main)か、$f'>0$ の範囲で左(prop-nwh-left)にあれば、このことは起こらない。

さらに先へ

  • 多変数の Newton 法:連立方程式では Jacobi 行列を使う(rem-nwh-order の折りたたみ、Newton法)。
  • 割り算を使わない逆数の計算:$f(x)=\dfrac1x-a$ に Newton 法を使うと $x_{n+1}=x_n(2-ax_n)$ となり、掛け算と引き算だけで $\dfrac1a$ に近づく(Newton法 の例)。
  • 近似値の誤差の考え方:計算機の丸め誤差や、誤差が計算でどう伝わるかは 誤差(数値解析) で扱う。
  • 次の記事 台形公式とSimpsonの公式(高校数学) では、同じ「近似の式を作り、誤差を刻み幅で評価する」考え方を、定積分の近似に使う。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する