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 倍になる。凸の条件を外すと巡回・発散が起こりうる。
前提知識: 接線・法線と曲線の凹凸, 関数の近似とテイラー展開, 関数の連続性と中間値の定理(高校数学), 平均値の定理
方程式 $x^2=2$ の正の解は $\sqrt2=1.41421356\ldots$ である。この値を、グラフの接線だけを使って求めてみる。曲線 $y=x^2-2$ は $x$ 軸と $x=\sqrt2$ で交わる。解の近くでは曲線は接線とほとんど重なるので、「曲線と $x$ 軸の交点」の代わりに「接線と $x$ 軸の交点」を求め、それを次の出発点にする。
$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 に右側から近づく
ex-nwh-start では、誤差が $10^{-1}$、$10^{-3}$、$10^{-6}$、$10^{-12}$ と、指数がほぼ 2 倍ずつ大きくなっている。つまり、正しい桁数が 1 回ごとにほぼ 2 倍になる。図 1 では、近似値はいつも $\sqrt2$ の右側にあり、右から単調に近づいている。この記事で答える問いは次の 3 つである。
| 高校の計算 | この記事の言葉 | 大学の言葉 |
|---|---|---|
| 接線と $x$ 軸の交点を求める | Newton 法の漸化式 | 反復法、関数 $g(x)=x-\frac{f(x)}{f'(x)}$ の不動点 |
| グラフが下に凸 | 近似値が単調に減って解に近づく | 大域的な収束の条件 |
| 誤差が $10^{-3}$ から $10^{-6}$ へ | 誤差の 2 乗の評価 | 2 次収束 |
| 区間を半分にしていく | 二分法(比べる相手) | 1 次収束 |
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$ 座標である。
$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 つの見方で確かめておく。
次の 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$ と一致する。
$\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$ である。
方針:まず、$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)}$ に近づく。
$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}$ に近づき、上界はほとんど等号になっていく。
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 つの方法の速さを比べる。
二分法は区間 $[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 法の誤差は下向きに曲がって急に小さくなる
図 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 法に切り替える、という組み合わせ方もできる。
$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_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 回目で右側に移る。
$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$ である。
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$ 軸の交点は解を飛び越えない。
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 乗」で減る理由である。
解 $\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 次収束することを示している。
$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 を行き来する
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$ である。
$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)にあれば、このことは起こらない。
Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する