§E20.4一変数非線形方程式

最終更新

区間の両端で符号の異なる連続関数は、その区間に零点をもつ。しかし、零点が存在することと、その値を数として得ることは別の問題である。そこで、零点に収束する点列を一項ずつ有限の計算で定め、適当な段で打ち切った項を近似値として用いる。区間を半分ずつ狭める二分法、ある写像を繰り返し施す不動点反復、接線の零点へ移る Newton 法、二点を通る直線の零点へ移る割線法は、いずれもこのような反復である。

反復を比べるときには、誤差がどれだけ速く減るかと、打ち切った項の誤差をどこまで保証することができるかが問われる。前者は収束の次数と漸近定数によって測られる。x2−2x^2-2にx0=1x_0=1から Newton 法を施すと、4回の反復で誤差は約1.59×10−121.59\times10^{-12}になり、正しい桁数はおよそ倍ずつ増える。区間[1,2][1,2]の二分法では、中点の誤差の上界がこの値以下になるのは40個目の中点である。一方で、Newton 法は初期値が零点から遠いと周期をもつ列や発散する列を生じることがある。

打ち切った項の誤差の保証については、残差や反復差が小さいことが、どのような仮定の下で零点との距離が小さいことを意味するかが問いになり、前の記事で得た残差からの誤差評価がここで用いられる。

本記事では、一変数の方程式の零点を求める代表的な反復を定め、その収束と停止について解説する。

1 収束の次数

定義 1.1.r∈Rr\in\Rとし、(xk)k∈N≥0(x_k)_{k\in\N}をrrに収束する実数列で、すべてのk∈N≥0k\in\Nに対してxk≠rx_k\ne rを満たすものとする。ek:=xk−re_k:=x_k-rと置く。

  1. 実数q>1q>1とC∈(0,+∞)C\in(0,+\infty)についてlim⁡k→∞∣ek+1∣/∣ek∣q=C\lim_{k\to\infty}\lvert e_{k+1}\rvert/\lvert e_k\rvert^q=Cが成り立つとき、(xk)(x_k)はrrへ 次数 (order of convergence)qqで収束するといい、CCを 漸近定数 (asymptotic error constant) という。次数22で収束することを 二次収束 (quadratic convergence) という。
  2. C∈(0,1)C\in(0,1)についてlim⁡k→∞∣ek+1∣/∣ek∣=C\lim_{k\to\infty}\lvert e_{k+1}\rvert/\lvert e_k\rvert=Cが成り立つとき、(xk)(x_k)はrrへ次数11で収束する、または 線形収束 (linear convergence) するといい、CCを漸近定数という。
  3. lim⁡k→∞∣ek+1∣/∣ek∣=0\lim_{k\to\infty}\lvert e_{k+1}\rvert/\lvert e_k\rvert=0が成り立つとき、(xk)(x_k)はrrへ 超線形収束 (superlinear convergence) するという。

補題 1.2.r∈Rr\in\Rとし、(xk)k∈N≥0(x_k)_{k\in\N}をrrに収束する実数列で、すべてのk∈N≥0k\in\Nに対してxk≠rx_k\ne rを満たすものとする。

  1. (xk)(x_k)がrrへ次数qq、漸近定数CCで収束し、次数q′q'、漸近定数C′C'でも収束するならば、q=q′q=q'かつC=C′C=C'である。
  2. (xk)(x_k)がrrへ次数q>1q>1で収束するならば、(xk)(x_k)はrrへ超線形収束する。

証明. 演習とする(問題 8.1)。▨

命題 1.3.r∈Rr\in\Rとし、(xk)k∈N≥0(x_k)_{k\in\N}をrrに収束する実数列で、すべてのk∈N≥0k\in\Nに対してxk≠rx_k\ne rを満たすものとする。ek:=xk−re_k:=x_k-r、dk:=−log⁡10∣ek∣d_k:=-\log_{10}\lvert e_k\rvertと置く。

  1. (xk)(x_k)が漸近定数CCで線形収束するならば、lim⁡k→∞(dk+1−dk)=−log⁡10C>0\lim_{k\to\infty}(d_{k+1}-d_k)=-\log_{10}C>0である。
  2. (xk)(x_k)が次数q>1q>1、漸近定数CCで収束するならば、lim⁡k→∞(dk+1−qdk)=−log⁡10C\lim_{k\to\infty}(d_{k+1}-qd_k)=-\log_{10}Cであり、lim⁡k→∞dk+1/dk=q\lim_{k\to\infty}d_{k+1}/d_k=qである。

証明.q≥1q\ge1に対してdk+1−qdk=−log⁡10(∣ek+1∣/∣ek∣q)d_{k+1}-qd_k=-\log_{10}(\lvert e_{k+1}\rvert/\lvert e_k\rvert^q)であり、log⁡10\log_{10}は(0,+∞)(0,+\infty)で連続であるから、∣ek+1∣/∣ek∣q→C>0\lvert e_{k+1}\rvert/\lvert e_k\rvert^q\to C>0ならばdk+1−qdk→−log⁡10Cd_{k+1}-qd_k\to-\log_{10}Cである。q=1q=1の場合が(1)であり、C<1C<1であるから−log⁡10C>0-\log_{10}C>0である。q>1q>1とする。∣ek∣→0\lvert e_k\rvert\to0であるからdk→+∞d_k\to+\inftyであり、あるKKが存在してk≥Kk\ge Kならばdk>0d_k>0である。k≥Kk\ge Kに対して

dk+1dk=q+dk+1−qdkdk\frac{d_{k+1}}{d_k}=q+\frac{d_{k+1}-qd_k}{d_k}

であり、右辺の第二項の分子は収束し分母は+∞+\inftyに発散するから、dk+1/dk→qd_{k+1}/d_k\to qである。▨

注意 1.4.xk:=1/(k+1)x_k:=1/(k+1)(k∈N≥0k\in\N)は00に収束し、すべてのkkでxk≠0x_k\ne0を満たし、∣ek+1∣/∣ek∣=(k+1)/(k+2)→1\lvert e_{k+1}\rvert/\lvert e_k\rvert=(k+1)/(k+2)\to1である。極限11は(0,1)(0,1)に属さず00でもないから、(xk)(x_k)は線形収束も超線形収束もしない。q>1q>1に対してはk+2≤2(k+1)k+2\le2(k+1)から∣ek+1∣/∣ek∣q=(k+1)q/(k+2)≥(k+1)q−1/2→+∞\lvert e_{k+1}\rvert/\lvert e_k\rvert^q=(k+1)^q/(k+2)\ge(k+1)^{q-1}/2\to+\inftyであり、(xk)(x_k)は次数qqで収束しない。

定義 1.5.d∈N≥1d\in\NNとし、Rd\R^dのノルム∥⋅∥\lVert\cdot\rVertを一つ固定する。x∗∈Rdx_*\in\R^dとし、(xk)k∈N≥0(x_k)_{k\in\N}をx∗x_*に収束するRd\R^dの点列とする。実数C≥0C\ge0とk0∈N≥0k_0\in\Nが存在して、k≥k0k\ge k_0を満たすすべてのk∈N≥0k\in\Nに対して

∥xk+1−x∗∥≤C∥xk−x∗∥2\lVert x_{k+1}-x_*\rVert\le C\lVert x_k-x_*\rVert^2

が成り立つとき、(xk)(x_k)はx∗x_*へ 少なくとも二次で収束する (converge at least quadratically) という。

命題 1.6.

  1. r∈Rr\in\Rとし、(xk)k∈N≥0(x_k)_{k\in\N}をrrに収束する実数列で、すべてのk∈N≥0k\in\Nに対してxk≠rx_k\ne rを満たすものとする。(xk)(x_k)がrrへ次数22で収束するならば、(xk)(x_k)はR\Rの絶対値についてrrへ少なくとも二次で収束する。
  2. d∈N≥1d\in\NNとし、Rd\R^dのノルム∥⋅∥\lVert\cdot\rVertを一つ固定する。Rd\R^dの点列(xk)k∈N≥0(x_k)_{k\in\N}がx∗∈Rdx_*\in\R^dへ少なくとも二次で収束し、k1∈N≥0k_1\in\Nが存在してk≥k1k\ge k_1を満たすすべてのkkに対してxk≠x∗x_k\ne x_*であるならば、lim⁡k→∞∥xk+1−x∗∥/∥xk−x∗∥=0\lim_{k\to\infty}\lVert x_{k+1}-x_*\rVert/\lVert x_k-x_*\rVert=0である。

証明.(1)を示す。ek:=xk−re_k:=x_k-rと置く。次数22で収束することにより、極限L:=lim⁡k→∞∣ek+1∣/∣ek∣2L:=\lim_{k\to\infty}\lvert e_{k+1}\rvert/\lvert e_k\rvert^2は実数として存在する。したがってk0∈N≥0k_0\in\Nが存在して、k≥k0k\ge k_0を満たすすべてのkkに対して∣ek+1∣/∣ek∣2≤L+1\lvert e_{k+1}\rvert/\lvert e_k\rvert^2\le L+1、すなわち∣ek+1∣≤(L+1)∣ek∣2\lvert e_{k+1}\rvert\le(L+1)\lvert e_k\rvert^2である。(xk)(x_k)はrrに収束するから、(xk)(x_k)はC=L+1C=L+1とk0k_0についてrrへ少なくとも二次で収束する。

(2)を示す。C≥0C\ge0とk0∈N≥0k_0\in\Nを、k≥k0k\ge k_0を満たすすべてのkkに対して∥xk+1−x∗∥≤C∥xk−x∗∥2\lVert x_{k+1}-x_*\rVert\le C\lVert x_k-x_*\rVert^2が成り立つようにとる。k≥max⁡{k0,k1}k\ge\max\{k_0,k_1\}ならば∥xk−x∗∥>0\lVert x_k-x_*\rVert>0であり、

0≤∥xk+1−x∗∥∥xk−x∗∥≤C∥xk−x∗∥0\le\frac{\lVert x_{k+1}-x_*\rVert}{\lVert x_k-x_*\rVert}\le C\lVert x_k-x_*\rVert

である。∥xk−x∗∥→0\lVert x_k-x_*\rVert\to0であるから右辺は00に収束し、主張を得る。▨

例 1.7.j∈N≥0j\in\Nに対してa2j:=1a_{2j}:=1、a2j+1:=2a_{2j+1}:=2と置き、実数列(ek)k∈N≥0(e_k)_{k\in\N}をe0:=1/4e_0:=1/4、ek+1:=akek2e_{k+1}:=a_ke_k^2で定める。0<ek≤1/40<e_k\le1/4ならば、0<ak≤20<a_k\le2と2ek≤1/22e_k\le1/2から0<ek+1≤2ek⋅ek≤ek/2≤1/40<e_{k+1}\le2e_k\cdot e_k\le e_k/2\le1/4である。kkに関する帰納法により、すべてのk∈N≥0k\in\Nで0<ek≤1/40<e_k\le1/4かつek+1≤ek/2e_{k+1}\le e_k/2であり、ek≤2−k/4→0e_k\le2^{-k}/4\to0である。したがって(ek)(e_k)は00に収束し、すべてのkkで∣ek+1∣=ak∣ek∣2≤2∣ek∣2\lvert e_{k+1}\rvert=a_k\lvert e_k\rvert^2\le2\lvert e_k\rvert^2を満たすから、R\Rの絶対値について00へ少なくとも二次で収束する。一方、すべてのkkでek≠0e_k\ne0であり、∣ek+1∣/∣ek∣2=ak\lvert e_{k+1}\rvert/\lvert e_k\rvert^2=a_kは11と22を交互にとって収束しないから、(ek)(e_k)は00へ次数22で収束しない。

2 二分法

補題 2.1.a<ba<bを実数、f ⁣:[a,b]→Rf\colon[a,b]\to\Rを連続関数とする。実数列(an)n∈N≥0(a_n)_{n\in\N}、(bn)n∈N≥0(b_n)_{n\in\N}が、すべてのn∈N≥0n\in\Nに対してa≤an≤an+1<bn+1≤bn≤ba\le a_n\le a_{n+1}<b_{n+1}\le b_n\le bとf(an)f(bn)<0f(a_n)f(b_n)<0を満たし、bn−an→0b_n-a_n\to0であるとする。

  1. 各n∈N≥0n\in\Nに対して、開区間(an,bn)(a_n,b_n)はffの零点を含む。
  2. ⋂n∈N≥0[an,bn]\bigcap_{n\in\N}[a_n,b_n]はただ一点rrからなり、f(r)=0f(r)=0、an→ra_n\to r、bn→rb_n\to rである。
  3. 任意のn∈N≥0n\in\Nとx∈[an,bn]x\in[a_n,b_n]に対して∣x−r∣≤bn−an\lvert x-r\rvert\le b_n-a_nであり、∣(an+bn)/2−r∣≤(bn−an)/2\lvert(a_n+b_n)/2-r\rvert\le(b_n-a_n)/2である。

証明.(1)を示す。f(an)<0<f(bn)f(a_n)<0<f(b_n)ならばffの[an,bn][a_n,b_n]への制限に、f(an)>0>f(bn)f(a_n)>0>f(b_n)ならば−f-fの[an,bn][a_n,b_n]への制限に§D1.12 定理 1.1を適用する。

(2)を示す。[an,bn][a_n,b_n]は閉区間の減少列であり、長さは00に収束するから、§D1.7 命題 3.2により共通部分はただ一点rrからなる。an≤r≤bna_n\le r\le b_nであるから0≤r−an≤bn−an0\le r-a_n\le b_n-a_nかつ0≤bn−r≤bn−an0\le b_n-r\le b_n-a_nであり、an→ra_n\to r、bn→rb_n\to rである。ffはrrで連続であるからf(an)f(bn)→f(r)2f(a_n)f(b_n)\to f(r)^2であり、各項が負であるからf(r)2≤0f(r)^2\le0、すなわちf(r)=0f(r)=0である。

(3)を示す。r∈[an,bn]r\in[a_n,b_n]であるから、[an,bn][a_n,b_n]の任意の点とrrの距離はbn−anb_n-a_n以下であり、中点とrrの距離は(bn−an)/2(b_n-a_n)/2以下である。▨

定義 2.2.a<ba<bを実数、f ⁣:[a,b]→Rf\colon[a,b]\to\Rをf(a)f(b)<0f(a)f(b)<0を満たす連続関数とする。a0:=aa_0:=a、b0:=bb_0:=bと置く。n∈N≥0n\in\Nについてan<bna_n<b_nとf(an)f(bn)<0f(a_n)f(b_n)<0を満たすan,bna_n,b_nが定まったとき、mn:=(an+bn)/2m_n:=(a_n+b_n)/2と置いて次のように定める。

  1. f(mn)=0f(m_n)=0ならばmnm_nを出力して停止する。
  2. f(mn)≠0f(m_n)\ne0かつf(an)f(mn)<0f(a_n)f(m_n)<0ならば、an+1:=ana_{n+1}:=a_n、bn+1:=mnb_{n+1}:=m_nと置く。
  3. f(mn)≠0f(m_n)\ne0かつf(an)f(mn)>0f(a_n)f(m_n)>0ならば、an+1:=mna_{n+1}:=m_n、bn+1:=bnb_{n+1}:=b_nと置く。

(3)の場合、f(mn)f(m_n)はf(an)f(a_n)と同符号であり、f(an)f(a_n)はf(bn)f(b_n)と異符号であるから、f(mn)f(bn)<0f(m_n)f(b_n)<0である。したがって(2)と(3)のどちらの場合もan+1<bn+1a_{n+1}<b_{n+1}とf(an+1)f(bn+1)<0f(a_{n+1})f(b_{n+1})<0が成り立ち、次の段が定まる。この手続きを 二分法 (bisection method) という。

定理 2.3.a<ba<bを実数、f ⁣:[a,b]→Rf\colon[a,b]\to\Rをf(a)f(b)<0f(a)f(b)<0を満たす連続関数とし、二分法がどの段でも停止しない、すなわちすべてのn∈N≥0n\in\Nに対してf(mn)≠0f(m_n)\ne0であるとする。

  1. すべてのn∈N≥0n\in\Nに対して[an+1,bn+1]⊂[an,bn][a_{n+1},b_{n+1}]\subset[a_n,b_n]かつbn−an=2−n(b−a)b_n-a_n=2^{-n}(b-a)である。
  2. 各n∈N≥0n\in\Nに対して、開区間(an,bn)(a_n,b_n)はffの零点を含む。
  3. ffの零点rrであって、すべてのn∈N≥0n\in\Nに対してr∈[an,bn]r\in[a_n,b_n]かつ∣mn−r∣≤2−(n+1)(b−a)\lvert m_n-r\rvert\le2^{-(n+1)}(b-a)を満たすものが存在する。特に、τ>0\tau>0とn≥log⁡2((b−a)/τ)−1n\ge\log_2((b-a)/\tau)-1に対して∣mn−r∣≤τ\lvert m_n-r\rvert\le\tauである。

証明.定義 2.2 (2)と定義 2.2 (3)のどちらの場合も[an+1,bn+1][a_{n+1},b_{n+1}]は[an,bn][a_n,b_n]の左半分または右半分であるから、nnに関する帰納法により(1)が成り立つ。定義 2.2によりf(an)f(bn)<0f(a_n)f(b_n)<0であり、(1)によりa≤an≤an+1<bn+1≤bn≤ba\le a_n\le a_{n+1}<b_{n+1}\le b_n\le bかつbn−an→0b_n-a_n\to0であるから、補題 2.1を適用することができる。(2)は補題 2.1 (1)である。補題 2.1 (2)のrrはf(r)=0f(r)=0とすべてのnnでr∈[an,bn]r\in[a_n,b_n]を満たし、補題 2.1 (3)により∣mn−r∣≤(bn−an)/2=2−(n+1)(b−a)\lvert m_n-r\rvert\le(b_n-a_n)/2=2^{-(n+1)}(b-a)である。n≥log⁡2((b−a)/τ)−1n\ge\log_2((b-a)/\tau)-1ならば2−(n+1)(b−a)≤τ2^{-(n+1)}(b-a)\le\tauである。▨

注意 2.4.定理 2.3 (3)の上界2−(n+1)(b−a)2^{-(n+1)}(b-a)は各段で1/21/2倍になるが、誤差∣mn−r∣\lvert m_n-r\rvertは単調に減少するとは限らず、次数をもつとも限らない。f(x)=5x−1f(x)=5x-1を[0,1][0,1]で考え、r:=1/5r:=1/5とする。j∈N≥0j\in\Nに対してs:=16−js:=16^{-j}と置き、[a4j,b4j]=[r−s/5, r+4s/5][a_{4j},b_{4j}]=[r-s/5,\ r+4s/5]であると仮定する(j=0j=0では[0,1][0,1]である)。中点とrrの大小に従って定義 2.2 (2)または定義 2.2 (3)を適用すると、

m4j=r+310s,[a4j+1,b4j+1]=[r−15s, r+310s],m4j+1=r+120s,[a4j+2,b4j+2]=[r−15s, r+120s],m4j+2=r−340s,[a4j+3,b4j+3]=[r−340s, r+120s],m4j+3=r−180s,[a4j+4,b4j+4]=[r−180s, r+120s]\begin{aligned} m_{4j}&=r+\tfrac{3}{10}s, & [a_{4j+1},b_{4j+1}]&=[r-\tfrac15s,\ r+\tfrac{3}{10}s],\\ m_{4j+1}&=r+\tfrac{1}{20}s, & [a_{4j+2},b_{4j+2}]&=[r-\tfrac15s,\ r+\tfrac{1}{20}s],\\ m_{4j+2}&=r-\tfrac{3}{40}s, & [a_{4j+3},b_{4j+3}]&=[r-\tfrac{3}{40}s,\ r+\tfrac{1}{20}s],\\ m_{4j+3}&=r-\tfrac{1}{80}s, & [a_{4j+4},b_{4j+4}]&=[r-\tfrac{1}{80}s,\ r+\tfrac{1}{20}s] \end{aligned}

であり、[a4j+4,b4j+4]=[r−s′/5, r+4s′/5][a_{4j+4},b_{4j+4}]=[r-s'/5,\ r+4s'/5](s′=16−(j+1)s'=16^{-(j+1)})である。jjに関する帰納法によりこの表はすべてのjjで成り立ち、どの中点もrrに一致しないから二分法は停止しない。誤差∣mn−r∣\lvert m_n-r\rvertはn=4j,4j+1,4j+2,4j+3n=4j,4j+1,4j+2,4j+3に対して310s,120s,340s,180s\frac{3}{10}s,\frac{1}{20}s,\frac{3}{40}s,\frac{1}{80}sであり、∣mn+1−r∣/∣mn−r∣\lvert m_{n+1}-r\rvert/\lvert m_n-r\rvertはnnが偶数のとき1/61/6、奇数のとき3/23/2である。比3/2>13/2>1をとる段で誤差は増加する。比は収束しないから(mn)(m_n)は線形収束も超線形収束もせず、q>1q>1に対しては∣mn+1−r∣/∣mn−r∣q≥16∣mn−r∣1−q→+∞\lvert m_{n+1}-r\rvert/\lvert m_n-r\rvert^q\ge\frac16\lvert m_n-r\rvert^{1-q}\to+\inftyであるから次数qqでも収束しない。

3 不動点反復

定義 3.1.D⊂RD\subset\R、g ⁣:D→Rg\colon D\to\Rとし、x0∈Dx_0\in Dとする。x0,…,xk∈Dx_0,\dots,x_k\in Dが定まったときxk+1:=g(xk)x_{k+1}:=g(x_k)と置く。すべてのk∈N≥0k\in\Nに対してxk∈Dx_k\in Dであるとき、列(xk)k∈N≥0(x_k)_{k\in\N}をx0x_0から始まるggの 不動点反復 (fixed-point iteration) という。f ⁣:D→Rf\colon D\to\Rと、すべてのx∈Dx\in Dに対してλ(x)≠0\lambda(x)\ne0を満たすλ ⁣:D→R\lambda\colon D\to\Rに対してg(x):=x−λ(x)f(x)g(x):=x-\lambda(x)f(x)と置くと、g(x)=xg(x)=xであることとλ(x)f(x)=0\lambda(x)f(x)=0であることは同値であり、λ(x)≠0\lambda(x)\ne0であるから、ggの不動点全体はffの零点全体に一致する。

補題 3.2.I⊂RI\subset\Rを区間、g ⁣:I→Rg\colon I\to\RをII上で連続かつIIの内部で微分可能な関数とし、実数L≥0L\ge0がIIの内部の任意のttに対して∣g′(t)∣≤L\lvert g'(t)\rvert\le Lを満たすとする。このとき、任意のx,y∈Ix,y\in Iに対して∣g(x)−g(y)∣≤L∣x−y∣\lvert g(x)-g(y)\rvert\le L\lvert x-y\rvertが成り立つ。

証明.x<yx<yとしてよい。[x,y]⊂I[x,y]\subset Iであり(x,y)(x,y)はIIの内部に含まれるから、§D1.14 定理 3.1によりg(y)−g(x)=g′(c)(y−x)g(y)-g(x)=g'(c)(y-x)を満たすc∈(x,y)c\in(x,y)が存在し、∣g(y)−g(x)∣≤L(y−x)\lvert g(y)-g(x)\rvert\le L(y-x)である。▨

定理 3.3.

  1. I⊂RI\subset\Rを空でない閉区間、g ⁣:I→Ig\colon I\to Iを写像とし、q∈[0,1)q\in[0,1)が任意のx,y∈Ix,y\in Iに対して∣g(x)−g(y)∣≤q∣x−y∣\lvert g(x)-g(y)\rvert\le q\lvert x-y\rvertを満たすとする。このときggはIIにただ一つの不動点x∗x^*をもち、任意のx0∈Ix_0\in Iから始まるggの不動点反復(xk)(x_k)はx∗x^*に収束して、 ∣xk−x∗∣≤qk1−q∣x1−x0∣(k∈N≥0),∣xk−x∗∣≤q1−q∣xk−xk−1∣(k∈N≥1)\lvert x_k-x^*\rvert\le\frac{q^k}{1-q}\lvert x_1-x_0\rvert\quad(k\in\N),\qquad\lvert x_k-x^*\rvert\le\frac{q}{1-q}\lvert x_k-x_{k-1}\rvert\quad(k\in\NN) を満たす。
  2. U⊂RU\subset\Rを開区間、g ⁣:U→Rg\colon U\to\RをC1C^1級の関数、x∗∈Ux^*\in Uをg(x∗)=x∗g(x^*)=x^*かつ∣g′(x∗)∣<1\lvert g'(x^*)\rvert<1を満たす点とする。∣g′(x∗)∣<q<1\lvert g'(x^*)\rvert<q<1を満たす任意のqqに対して、δ>0\delta>0が存在して、J:=[x∗−δ,x∗+δ]J:=[x^*-\delta,x^*+\delta]はJ⊂UJ\subset Uとg(J)⊂Jg(J)\subset Jを満たし、任意のx0∈Jx_0\in Jから始まるggの不動点反復は、すべてのk∈N≥0k\in\Nに対して∣xk−x∗∣≤qk∣x0−x∗∣\lvert x_k-x^*\rvert\le q^k\lvert x_0-x^*\rvertを満たす。
  3. (2)の仮定の下でg′(x∗)≠0g'(x^*)\ne0ならば、(2)のδ\deltaを、JJのすべての点ttでg′(t)≠0g'(t)\ne0となるようにとることができる。このとき任意のx0∈J∖{x∗}x_0\in J\setminus\{x^*\}に対して、すべてのkkでxk≠x∗x_k\ne x^*であり、ek:=xk−x∗e_k:=x_k-x^*はek+1/ek→g′(x∗)e_{k+1}/e_k\to g'(x^*)を満たし、(xk)(x_k)はx∗x^*へ漸近定数∣g′(x∗)∣\lvert g'(x^*)\rvertで線形収束する。g′(x∗)=0g'(x^*)=0であり、x0∈Jx_0\in Jから始まる不動点反復がすべてのkkでxk≠x∗x_k\ne x^*を満たすならば、(xk)(x_k)はx∗x^*へ超線形収束する。

証明.(1)を示す。IIはR\Rの閉集合であり、R\Rは§D1.10 定理 1.1により完備であるから、§E2.5 定理 3.2により距離∣x−y∣\lvert x-y\rvertを入れたIIは空でない完備距離空間である。仮定によりggはこの距離空間の縮小比qqの縮小写像である。§E2.7 定理 2.2によりggはただ一つの不動点x∗x^*をもち、任意のx0∈Ix_0\in Iからの反復列はx∗x^*に収束する。二つの評価は§E2.7 系 2.3である。

(2)を示す。g′g'はx∗x^*で連続であるから、δ>0\delta>0が存在してJ⊂UJ\subset Uかつすべてのt∈Jt\in Jで∣g′(t)∣≤q\lvert g'(t)\rvert\le qである。補題 3.2をJJに適用すると、x∈Jx\in Jに対して∣g(x)−x∗∣=∣g(x)−g(x∗)∣≤q∣x−x∗∣≤qδ\lvert g(x)-x^*\rvert=\lvert g(x)-g(x^*)\rvert\le q\lvert x-x^*\rvert\le q\deltaであり、g(J)⊂Jg(J)\subset Jである。したがってx0∈Jx_0\in Jならば帰納法によりすべてのkkでxk∈Jx_k\in Jかつ∣xk+1−x∗∣≤q∣xk−x∗∣\lvert x_{k+1}-x^*\rvert\le q\lvert x_k-x^*\rvertであり、主張の評価が成り立つ。

(3)を示す。g′g'はx∗x^*で連続でありg′(x∗)≠0g'(x^*)\ne0であるから、δ\deltaを小さくとり直してJJ上でg′≠0g'\ne0とすることができる。x∈J∖{x∗}x\in J\setminus\{x^*\}に対して§D1.14 定理 3.1によりg(x)−x∗=g(x)−g(x∗)=g′(ξ)(x−x∗)g(x)-x^*=g(x)-g(x^*)=g'(\xi)(x-x^*)を満たすξ\xiがxxとx∗x^*の間に存在し、ξ∈J\xi\in Jであるからg(x)≠x∗g(x)\ne x^*である。帰納法により、x0≠x∗x_0\ne x^*ならばすべてのkkでxk≠x∗x_k\ne x^*である。同じ等式をx=xkx=x_kに適用してek+1=g′(ξk)eke_{k+1}=g'(\xi_k)e_k、∣ξk−x∗∣≤∣ek∣\lvert\xi_k-x^*\rvert\le\lvert e_k\rvertを得る。ek→0e_k\to0とg′g'の連続性からek+1/ek=g′(ξk)→g′(x∗)e_{k+1}/e_k=g'(\xi_k)\to g'(x^*)であり、∣g′(x∗)∣∈(0,1)\lvert g'(x^*)\rvert\in(0,1)であるから(xk)(x_k)は漸近定数∣g′(x∗)∣\lvert g'(x^*)\rvertで線形収束する。g′(x∗)=0g'(x^*)=0の場合も、すべてのkkでxk≠x∗x_k\ne x^*ならば同じ等式からek+1/ek=g′(ξk)→0e_{k+1}/e_k=g'(\xi_k)\to0である。▨

命題 3.4.D⊂RD\subset\R、g ⁣:D→Rg\colon D\to\Rとし、x∗∈Dx^*\in Dは、あるδ0>0\delta_0>0について(x∗−δ0,x∗+δ0)⊂D(x^*-\delta_0,x^*+\delta_0)\subset Dを満たし、g(x∗)=x∗g(x^*)=x^*を満たすとする。ggがx∗x^*で微分可能であり∣g′(x∗)∣>1\lvert g'(x^*)\rvert>1であるとする。x0∈Dx_0\in Dから始まるggの不動点反復(xk)(x_k)がx∗x^*に収束するならば、K∈N≥0K\in\Nが存在して、k≥Kk\ge Kを満たすすべてのkkでxk=x∗x_k=x^*である。

証明.1<ρ<∣g′(x∗)∣1<\rho<\lvert g'(x^*)\rvertを満たすρ\rhoをとる。∣(g(x)−g(x∗))/(x−x∗)∣→∣g′(x∗)∣\lvert(g(x)-g(x^*))/(x-x^*)\rvert\to\lvert g'(x^*)\rvert(x→x∗x\to x^*)であるから、0<δ≤δ00<\delta\le\delta_0が存在して、0<∣x−x∗∣<δ0<\lvert x-x^*\rvert<\deltaならば∣g(x)−x∗∣≥ρ∣x−x∗∣\lvert g(x)-x^*\rvert\ge\rho\lvert x-x^*\rvertである。xk→x∗x_k\to x^*であるから、KKが存在してk≥Kk\ge Kならば∣xk−x∗∣<δ\lvert x_k-x^*\rvert<\deltaである。あるj≥Kj\ge Kでxj≠x∗x_j\ne x^*であると仮定する。k≥jk\ge jかつxk≠x∗x_k\ne x^*ならば∣xk+1−x∗∣≥ρ∣xk−x∗∣>0\lvert x_{k+1}-x^*\rvert\ge\rho\lvert x_k-x^*\rvert>0であるから、帰納法によりすべてのk≥jk\ge jで∣xk−x∗∣≥ρk−j∣xj−x∗∣\lvert x_k-x^*\rvert\ge\rho^{k-j}\lvert x_j-x^*\rvertである。ρk−j∣xj−x∗∣→+∞\rho^{k-j}\lvert x_j-x^*\rvert\to+\inftyであるから、あるk≥jk\ge jで∣xk−x∗∣≥δ\lvert x_k-x^*\rvert\ge\deltaとなり、k≥Kk\ge Kで∣xk−x∗∣<δ\lvert x_k-x^*\rvert<\deltaであることと両立しない。したがってすべてのj≥Kj\ge Kでxj=x∗x_j=x^*である。▨

例 3.5.f(x)=x2−2f(x)=x^2-2を(0,+∞)(0,+\infty)で考え、x∗=2x^*=\sqrt2とする。定義 3.1のλ\lambdaの選び方によって、同じ零点をもつ次の不動点形が得られる。

  1. λ(x)=1/x\lambda(x)=1/xのときg1(x)=2/xg_1(x)=2/xであり、g1′(2)=−1g_1'(\sqrt2)=-1である。g1(g1(x))=xg_1(g_1(x))=xであるから、x0>0x_0>0、x0≠2x_0\ne\sqrt2から始まる不動点反復はx2j=x0x_{2j}=x_0、x2j+1=2/x0≠x0x_{2j+1}=2/x_0\ne x_0を満たし、収束しない。
  2. λ=1/2\lambda=1/2のときg2(x)=1+x−x2/2g_2(x)=1+x-x^2/2であり、I:=[4/3,3/2]I:=[4/3,3/2]上でg2′(x)=1−x∈[−1/2,−1/3]g_2'(x)=1-x\in[-1/2,-1/3]である。補題 3.2によりg2g_2はII上で Lipschitz 定数1/21/2をもち、g2′<0g_2'<0であるからg2g_2はII上で減少し、g2(I)=[g2(3/2),g2(4/3)]=[11/8,13/9]⊂Ig_2(I)=[g_2(3/2),g_2(4/3)]=[11/8,13/9]\subset Iである。定理 3.3 (1)をq=1/2q=1/2で適用すると、2\sqrt2はg2g_2のIIにおけるただ一つの不動点であり、任意のx0∈Ix_0\in Iから∣xk−2∣≤∣xk−xk−1∣\lvert x_k-\sqrt2\rvert\le\lvert x_k-x_{k-1}\rvert(k≥1k\ge1)が成り立つ。x0=3/2x_0=3/2からはx1=11/8x_1=11/8、x2=183/128x_2=183/128、x3=46127/32768x_3=46127/32768であり、x3−2≈−6.53×10−3x_3-\sqrt2\approx-6.53\times10^{-3}、∣x3−x2∣≈2.20×10−2\lvert x_3-x_2\rvert\approx2.20\times10^{-2}である。g2(x)−g2(y)=(x−y)(1−(x+y)/2)g_2(x)-g_2(y)=(x-y)\bigl(1-(x+y)/2\bigr)からek+1=(1−(xk+2)/2)eke_{k+1}=\bigl(1-(x_k+\sqrt2)/2\bigr)e_kであり、xkx_kは有理数で2\sqrt2に一致しないから、ek+1/ek→1−2e_{k+1}/e_k\to1-\sqrt2であって、(xk)(x_k)は漸近定数2−1\sqrt2-1で線形収束する。
  3. λ=−1\lambda=-1のときg3(x)=x+x2−2g_3(x)=x+x^2-2であり、g3g_3をR\R上の写像として考えるとg3′(2)=1+22>1g_3'(\sqrt2)=1+2\sqrt2>1である。g3g_3は整数係数の多項式であるから、有理数x0x_0から始まる不動点反復のすべての項は有理数であり、2\sqrt2に一致しない。命題 3.4により、この反復は2\sqrt2に収束しない。
  4. λ(x)=1/(2x)=1/f′(x)\lambda(x)=1/(2x)=1/f'(x)のときg4(x)=(x+2/x)/2g_4(x)=(x+2/x)/2であり、g4′(x)=1/2−1/x2g_4'(x)=1/2-1/x^2からg4′(2)=0g_4'(\sqrt2)=0である。g4g_4はffの Newton 法の写像NfN_f(定義 4.1)に一致する。

例 3.6.g−(x)=x−x3g_-(x)=x-x^3とg+(x)=x+x3g_+(x)=x+x^3はどちらも00を不動点とし、g±′(0)=1g_\pm'(0)=1を満たす。x0∈(0,1)x_0\in(0,1)から始まるg−g_-の不動点反復は0<xk+1=xk(1−xk2)<xk0<x_{k+1}=x_k(1-x_k^2)<x_kを満たす。(−xk)(-x_k)に§D1.7 定理 1.1を適用すると(xk)(x_k)はあるL∈[0,x0]L\in[0,x_0]に収束し、g−g_-の連続性からL=L−L3L=L-L^3、すなわちL=0L=0である。ek+1/ek=1−xk2→1e_{k+1}/e_k=1-x_k^2\to1であるから(xk)(x_k)は線形収束も超線形収束もせず、q>1q>1に対しては∣ek+1∣/∣ek∣q=(1−xk2)xk1−q→+∞\lvert e_{k+1}\rvert/\lvert e_k\rvert^q=(1-x_k^2)x_k^{1-q}\to+\inftyであるから次数qqでも収束しない。x0>0x_0>0から始まるg+g_+の不動点反復はxk+1=xk(1+xk2)>xkx_{k+1}=x_k(1+x_k^2)>x_kを満たす。(xk)(x_k)が上に有界ならば§D1.7 定理 1.1によりあるL≥x0>0L\ge x_0>0に収束し、L=L+L3L=L+L^3からL=0L=0となってL>0L>0と両立しない。したがって(xk)(x_k)は上に有界でなく、+∞+\inftyに発散する。

4 Newton 法

定義 4.1.I⊂RI\subset\Rを開区間、f ⁣:I→Rf\colon I\to\Rを微分可能な関数とする。x∈Ix\in Iがf′(x)≠0f'(x)\ne0を満たすとき、xxにおける接線t↦f(x)+f′(x)(t−x)t\mapsto f(x)+f'(x)(t-x)はただ一つの零点

Nf(x):=x−f(x)f′(x)N_f(x):=x-\frac{f(x)}{f'(x)}

をもつ。x0∈Ix_0\in Iとし、xk∈Ix_k\in Iかつf′(xk)≠0f'(x_k)\ne0であるときxk+1:=Nf(xk)x_{k+1}:=N_f(x_k)と置く。この反復を Newton 法 (Newton's method) という。すべてのk∈N≥0k\in\Nでxk∈Ix_k\in Iかつf′(xk)≠0f'(x_k)\ne0であるとき、Newton 法の反復列(xk)(x_k)が定まるという。D:={x∈I∣f′(x)≠0}D:=\{x\in I\mid f'(x)\ne0\}上でNf(x)=x−λ(x)f(x)N_f(x)=x-\lambda(x)f(x)、λ=1/f′\lambda=1/f'であるから、Newton 法はNfN_fの不動点反復であり、定義 3.1によりNfN_fの不動点全体はDDに属するffの零点全体に一致する。

補題 4.2.I⊂RI\subset\Rを開区間、f ⁣:I→Rf\colon I\to\RをC2C^2級の関数、r∈Ir\in Iをf(r)=0f(r)=0を満たす点とする。x∈Ix\in Iがf′(x)≠0f'(x)\ne0を満たすならば、xxとrrを端点とする閉区間の点ξ\xiが存在して

Nf(x)−r=f′′(ξ)2f′(x)(x−r)2N_f(x)-r=\frac{f''(\xi)}{2f'(x)}(x-r)^2

が成り立つ。

証明.x=rx=rならばf(r)=0f(r)=0からNf(r)=rN_f(r)=rであり、ξ=r\xi=rとすればよい。x≠rx\ne rとする。§D1.16 定理 2.1をn=2n=2、中心xxとして点rrに適用すると、xxとrrの間のξ\xiが存在して

0=f(r)=f(x)+f′(x)(r−x)+f′′(ξ)2(r−x)20=f(r)=f(x)+f'(x)(r-x)+\frac{f''(\xi)}{2}(r-x)^2

である。両辺をf′(x)f'(x)で割るとf(x)/f′(x)=(x−r)−f′′(ξ)2f′(x)(x−r)2f(x)/f'(x)=(x-r)-\frac{f''(\xi)}{2f'(x)}(x-r)^2であり、Nf(x)−r=x−f(x)/f′(x)−rN_f(x)-r=x-f(x)/f'(x)-rに代入して主張を得る。▨

定理 4.3.I⊂RI\subset\Rを開区間、f ⁣:I→Rf\colon I\to\RをC2C^2級の関数、r∈Ir\in Iをf(r)=0f(r)=0かつf′(r)≠0f'(r)\ne0を満たす点とし、K:=(∣f′′(r)∣+1)/∣f′(r)∣K:=(\lvert f''(r)\rvert+1)/\lvert f'(r)\rvertと置く。δ>0\delta>0が存在してJ:=[r−δ,r+δ]⊂IJ:=[r-\delta,r+\delta]\subset Iであり、任意のx0∈Jx_0\in Jに対して、Newton 法の反復列(xk)(x_k)が定まり、ek:=xk−re_k:=x_k-rについて次が成り立つ。

  1. すべてのk∈N≥0k\in\Nでxk∈Jx_k\in J、∣ek+1∣≤Kek2\lvert e_{k+1}\rvert\le Ke_k^2、∣ek+1∣≤∣ek∣/2\lvert e_{k+1}\rvert\le\lvert e_k\rvert/2であり、xk→rx_k\to rである。あるkkでxk=rx_k=rならば、j≥kj\ge kを満たすすべてのjjでxj=rx_j=rである。
  2. すべてのkkでxk≠rx_k\ne rならば、ek+1/ek2→f′′(r)/(2f′(r))e_{k+1}/e_k^2\to f''(r)/(2f'(r))である。したがって、f′′(r)≠0f''(r)\ne0ならば(xk)(x_k)はrrへ次数22、漸近定数∣f′′(r)/(2f′(r))∣\lvert f''(r)/(2f'(r))\rvertで収束する。f′′(r)=0f''(r)=0ならば∣ek+1∣/ek2→0\lvert e_{k+1}\rvert/e_k^2\to0であり、(xk)(x_k)はrrへ超線形収束するが、次数22では収束しない。

証明.f′f'とf′′f''はrrで連続であるから、δ>0\delta>0が存在して、J⊂IJ\subset I、Kδ≤1/2K\delta\le1/2であり、すべてのt∈Jt\in Jで∣f′(t)∣≥∣f′(r)∣/2\lvert f'(t)\rvert\ge\lvert f'(r)\rvert/2かつ∣f′′(t)∣≤∣f′′(r)∣+1\lvert f''(t)\rvert\le\lvert f''(r)\rvert+1である。x∈Jx\in Jならばf′(x)≠0f'(x)\ne0であり、補題 4.2のξ\xiはJJに属するから、

∣Nf(x)−r∣≤∣f′′(r)∣+12⋅∣f′(r)∣/2(x−r)2=K(x−r)2≤Kδ∣x−r∣≤∣x−r∣2\lvert N_f(x)-r\rvert\le\frac{\lvert f''(r)\rvert+1}{2\cdot\lvert f'(r)\rvert/2}(x-r)^2=K(x-r)^2\le K\delta\lvert x-r\rvert\le\frac{\lvert x-r\rvert}{2}

であり、Nf(x)∈JN_f(x)\in Jである。kkに関する帰納法により、反復列が定まり(1)の評価が成り立つ。∣ek∣≤2−k∣e0∣\lvert e_k\rvert\le2^{-k}\lvert e_0\rvertであるからxk→rx_k\to rである。Nf(r)=rN_f(r)=rであるから、xk=rx_k=rならばそれ以後の項はすべてrrである。

すべてのkkでxk≠rx_k\ne rとする。補題 4.2によりek+1/ek2=f′′(ξk)/(2f′(xk))e_{k+1}/e_k^2=f''(\xi_k)/(2f'(x_k))を満たすξk\xi_kがxkx_kとrrの間に存在する。ξk→r\xi_k\to r、xk→rx_k\to rとf′,f′′f',f''の連続性からek+1/ek2→f′′(r)/(2f′(r))e_{k+1}/e_k^2\to f''(r)/(2f'(r))である。f′′(r)≠0f''(r)\ne0ならば、これは定義 1.1 (1)のq=2q=2の場合である。f′′(r)=0f''(r)=0ならば∣ek+1∣/∣ek∣=(∣ek+1∣/ek2)∣ek∣→0\lvert e_{k+1}\rvert/\lvert e_k\rvert=(\lvert e_{k+1}\rvert/e_k^2)\lvert e_k\rvert\to0であり、∣ek+1∣/ek2\lvert e_{k+1}\rvert/e_k^2の極限00は正でないから、次数22の定義を満たさない。▨

例 4.4.f(x)=x2−2f(x)=x^2-2をI=(0,+∞)I=(0,+\infty)で考え、r=2r=\sqrt2とする。Nf(x)=(x+2/x)/2N_f(x)=(x+2/x)/2であり、f′′=2f''=2であるから補題 4.2は

Nf(x)−2=(x−2)22xN_f(x)-\sqrt2=\frac{(x-\sqrt2)^2}{2x}

となる。x0=1x_0=1から

x1=32,x2=1712,x3=577408,x4=665857470832x_1=\frac32,\quad x_2=\frac{17}{12},\quad x_3=\frac{577}{408},\quad x_4=\frac{665857}{470832}

であり、誤差はe1≈8.58×10−2e_1\approx8.58\times10^{-2}、e2≈2.45×10−3e_2\approx2.45\times10^{-3}、e3≈2.12×10−6e_3\approx2.12\times10^{-6}、e4≈1.59×10−12e_4\approx1.59\times10^{-12}である。xkx_kは有理数であり2\sqrt2に一致しないから、上の等式によりk≥1k\ge1でxk>2x_k>\sqrt2であり、ek+1/ek2=1/(2xk)e_{k+1}/e_k^2=1/(2x_k)はk=1,2,3k=1,2,3で1/31/3、6/176/17、204/577204/577であって、1/(22)≈0.3535531/(2\sqrt2)\approx0.353553に収束する。1/(22)=∣f′′(r)/(2f′(r))∣1/(2\sqrt2)=\lvert f''(r)/(2f'(r))\rvertは定理 4.3 (2)の漸近定数である。dk:=−log⁡10ekd_k:=-\log_{10}e_kはk=1,2,3,4k=1,2,3,4で約1.071.07、2.612.61、5.675.67、11.8011.80である。命題 1.3 (2)によりdk+1−2dk→log⁡10(22)≈0.4515d_{k+1}-2d_k\to\log_{10}(2\sqrt2)\approx0.4515であり、d4−2d3≈0.4515d_4-2d_3\approx0.4515である。[1,2][1,2]上の二分法について定理 2.3 (3)の上界2−(n+1)2^{-(n+1)}がe4e_4以下になる最小のnnは3939である(2−40≈9.09×10−132^{-40}\approx9.09\times10^{-13}、2−39≈1.82×10−122^{-39}\approx1.82\times10^{-12})。m39m_{39}を定めるには両端に加えて中点m0,…,m38m_0,\dots,m_{38}でffの符号を評価する。Newton 法はx4x_4を定めるのにx0,…,x3x_0,\dots,x_3でffとf′f'を評価する。

例 4.5.

  1. f(x)=x3−2x+2f(x)=x^3-2x+2とするとf′(x)=3x2−2f'(x)=3x^2-2である。f(0)=2f(0)=2、f′(0)=−2f'(0)=-2からNf(0)=1N_f(0)=1、f(1)=1f(1)=1、f′(1)=1f'(1)=1からNf(1)=0N_f(1)=0であり、x0=0x_0=0から始まる Newton 法の反復列は0,1,0,1,…0,1,0,1,\dotsとなって収束しない。ffの実零点はただ一つである。実際、s:=2/3s:=\sqrt{2/3}と置くとffは[−s,s][-s,s]で減少し[s,+∞)[s,+\infty)で増加するから、[−s,+∞)[-s,+\infty)上でf≥f(s)=2−43s>23f\ge f(s)=2-\frac43s>\frac23である。(−∞,−s](-\infty,-s]上でffは狭義単調増加であり、f(−2)=−2<0<f(−s)f(-2)=-2<0<f(-s)であるから、ffの実零点はただ一つであって(−2,−s)(-2,-s)に属する。
  2. f(x)=arctan⁡xf(x)=\arctan xとするとr=0r=0、f′(x)=1/(1+x2)≠0f'(x)=1/(1+x^2)\ne0であり、Nf(x)=x−(1+x2)arctan⁡xN_f(x)=x-(1+x^2)\arctan xである。0<1<π/30<1<\pi/3とcos⁡\cosの[0,π][0,\pi]での減少からcos⁡1>1/2\cos1>1/2であり、tan⁡1<2\tan1<2、すなわちarctan⁡2>1\arctan2>1である。x≥2x\ge2ならば(1+x2)arctan⁡x>1+x2(1+x^2)\arctan x>1+x^2であるからNf(x)<−(x2−x+1)≤−(x+1)N_f(x)<-(x^2-x+1)\le-(x+1)である。NfN_fは奇関数であるから、∣x∣≥2\lvert x\rvert\ge2ならば∣Nf(x)∣>∣x∣+1\lvert N_f(x)\rvert>\lvert x\rvert+1である。したがって∣x0∣≥2\lvert x_0\rvert\ge2ならば∣x1∣>∣x0∣+1\lvert x_1\rvert>\lvert x_0\rvert+1である。k≥1k\ge1で∣xk∣>∣x0∣+k\lvert x_k\rvert>\lvert x_0\rvert+kならば∣xk∣>2\lvert x_k\rvert>2であり、∣xk+1∣>∣xk∣+1>∣x0∣+k+1\lvert x_{k+1}\rvert>\lvert x_k\rvert+1>\lvert x_0\rvert+k+1である。kkに関する帰納法によりすべてのk≥1k\ge1で∣xk∣>∣x0∣+k\lvert x_k\rvert>\lvert x_0\rvert+kであり、反復列は発散する。

命題 4.6.I⊂RI\subset\Rを開区間、m≥2m\ge2を整数、h ⁣:I→Rh\colon I\to\RをC1C^1級の関数、r∈Ir\in Iをh(r)≠0h(r)\ne0を満たす点とし、f(x):=(x−r)mh(x)f(x):=(x-r)^mh(x)と置く。δ>0\delta>0が存在して、J:=[r−δ,r+δ]⊂IJ:=[r-\delta,r+\delta]\subset Iであり、任意のx0∈J∖{r}x_0\in J\setminus\{r\}に対して Newton 法の反復列(xk)(x_k)が定まり、すべてのkkでxk∈J∖{r}x_k\in J\setminus\{r\}であって、(xk)(x_k)はrrへ漸近定数(m−1)/m(m-1)/mで線形収束する。

証明.f′(x)=(x−r)m−1 D(x)f'(x)=(x-r)^{m-1}\,D(x)、D(x):=mh(x)+(x−r)h′(x)D(x):=mh(x)+(x-r)h'(x)である。D(r)=mh(r)≠0D(r)=mh(r)\ne0でありDDは連続であるから、D≠0D\ne0となるrrの近傍で

Φ(x):=(m−1)h(x)+(x−r)h′(x)D(x)\Phi(x):=\frac{(m-1)h(x)+(x-r)h'(x)}{D(x)}

は連続であってΦ(r)=(m−1)/m\Phi(r)=(m-1)/mである。δ>0\delta>0を、J⊂IJ\subset IでありJJ上でD≠0D\ne0かつ∣Φ(x)−(m−1)/m∣≤1/(2m)\lvert\Phi(x)-(m-1)/m\rvert\le1/(2m)となるようにとる。x∈J∖{r}x\in J\setminus\{r\}ならばf′(x)≠0f'(x)\ne0であり、

Nf(x)−r=(x−r)−(x−r)h(x)D(x)=(x−r)Φ(x)N_f(x)-r=(x-r)-\frac{(x-r)h(x)}{D(x)}=(x-r)\Phi(x)

である。m≥2m\ge2からΦ(x)∈[(2m−3)/(2m),(2m−1)/(2m)]⊂(0,1)\Phi(x)\in[(2m-3)/(2m),(2m-1)/(2m)]\subset(0,1)であるから、Nf(x)∈J∖{r}N_f(x)\in J\setminus\{r\}である。帰納法により反復列が定まり、すべてのkkでxk∈J∖{r}x_k\in J\setminus\{r\}かつ∣ek+1∣≤2m−12m∣ek∣\lvert e_{k+1}\rvert\le\frac{2m-1}{2m}\lvert e_k\rvertであるからxk→rx_k\to rである。ek+1/ek=Φ(xk)→(m−1)/m∈(0,1)e_{k+1}/e_k=\Phi(x_k)\to(m-1)/m\in(0,1)である。▨

5 割線法

定義 5.1.I⊂RI\subset\R、f ⁣:I→Rf\colon I\to\Rとする。相異なるx,y∈Ix,y\in Iに対して

f[x,y]:=f(y)−f(x)y−xf[x,y]:=\frac{f(y)-f(x)}{y-x}

をffのx,yx,yにおける 差商 (divided difference) という。

定義 5.2.I⊂RI\subset\Rを区間、f ⁣:I→Rf\colon I\to\Rとし、相異なるx0,x1∈Ix_0,x_1\in Iをとる。k≥1k\ge1について相異なるxk−1,xk∈Ix_{k-1},x_k\in Iが定まったとき、次のように定める。

  1. f(xk)=0f(x_k)=0ならばxkx_kを出力して停止する。
  2. f(xk)≠0f(x_k)\ne0かつf[xk−1,xk]≠0f[x_{k-1},x_k]\ne0ならば xk+1:=xk−f(xk)f[xk−1,xk]x_{k+1}:=x_k-\frac{f(x_k)}{f[x_{k-1},x_k]} と置く。xk+1x_{k+1}は二点(xk−1,f(xk−1))(x_{k-1},f(x_{k-1}))、(xk,f(xk))(x_k,f(x_k))を通る直線の零点であり、f(xk)≠0f(x_k)\ne0からxk+1≠xkx_{k+1}\ne x_kである。
  3. f(xk)≠0f(x_k)\ne0かつf[xk−1,xk]=0f[x_{k-1},x_k]=0ならば、xk+1x_{k+1}は定まらない。

この反復を 割線法 (secant method) という。xk+1x_{k+1}を定めるまでにffを評価する点はx0,…,xkx_0,\dots,x_kのk+1k+1個であり、f′f'は評価しない。

補題 5.3.I⊂RI\subset\Rを開区間、f ⁣:I→Rf\colon I\to\RをC2C^2級の関数、r∈Ir\in Iをf(r)=0f(r)=0を満たす点とする。ψ ⁣:I→R\psi\colon I\to\Rを、x≠rx\ne rに対してψ(x):=f[x,r]\psi(x):=f[x,r]、ψ(r):=f′(r)\psi(r):=f'(r)と定める。

  1. ψ\psiはII上で微分可能であり、各x∈Ix\in Iに対して、xxとrrを端点とする閉区間の点ccが存在してψ′(x)=f′′(c)/2\psi'(x)=f''(c)/2が成り立つ。特にψ′(r)=f′′(r)/2\psi'(r)=f''(r)/2であり、ψ′\psi'はrrで連続である。
  2. 相異なるx,y∈Ix,y\in Iがf(x)≠f(y)f(x)\ne f(y)を満たすならば、s:=y−f(y)/f[x,y]s:=y-f(y)/f[x,y]は s−r=(x−r)(y−r)ψ[x,y]f[x,y]s-r=(x-r)(y-r)\frac{\psi[x,y]}{f[x,y]} を満たす。

証明.(1)を示す。x≠rx\ne rとする。xxの近傍でψ(t)=f(t)/(t−r)\psi(t)=f(t)/(t-r)であるから、ψ\psiはxxで微分可能でありψ′(x)=(f′(x)(x−r)−f(x))/(x−r)2\psi'(x)=\bigl(f'(x)(x-r)-f(x)\bigr)/(x-r)^2である。§D1.16 定理 2.1をn=2n=2、中心xxとして点rrに適用すると、xxとrrの間のccについて0=f(x)+f′(x)(r−x)+f′′(c)(r−x)2/20=f(x)+f'(x)(r-x)+f''(c)(r-x)^2/2であり、f′(x)(x−r)−f(x)=f′′(c)(x−r)2/2f'(x)(x-r)-f(x)=f''(c)(x-r)^2/2、すなわちψ′(x)=f′′(c)/2\psi'(x)=f''(c)/2である。h≠0h\ne0がr+h∈Ir+h\in Iを満たすとする。§D1.16 定理 2.1をn=2n=2、中心rrとして点r+hr+hに適用すると、rrとr+hr+hの間のchc_hについてf(r+h)=f′(r)h+f′′(ch)h2/2f(r+h)=f'(r)h+f''(c_h)h^2/2であるから、

ψ(r+h)−ψ(r)h=f(r+h)/h−f′(r)h=f′′(ch)2\frac{\psi(r+h)-\psi(r)}{h}=\frac{f(r+h)/h-f'(r)}{h}=\frac{f''(c_h)}{2}

である。h→0h\to0のときch→rc_h\to rであり、f′′f''の連続性からψ′(r)=f′′(r)/2\psi'(r)=f''(r)/2である。前半で得たccは∣c−r∣≤∣x−r∣\lvert c-r\rvert\le\lvert x-r\rvertを満たすから、x→rx\to rのときψ′(x)=f′′(c)/2→f′′(r)/2\psi'(x)=f''(c)/2\to f''(r)/2である。

(2)を示す。すべてのt∈It\in Iでf(t)=(t−r)ψ(t)f(t)=(t-r)\psi(t)である。したがって

f[x,y]−ψ(y)=(y−r)ψ(y)−(x−r)ψ(x)−((y−r)−(x−r))ψ(y)y−x=(x−r)ψ[x,y]f[x,y]-\psi(y)=\frac{(y-r)\psi(y)-(x-r)\psi(x)-\bigl((y-r)-(x-r)\bigr)\psi(y)}{y-x}=(x-r)\psi[x,y]

であり、

s−r=(y−r)−(y−r)ψ(y)f[x,y]=(y−r)f[x,y]−ψ(y)f[x,y]=(x−r)(y−r)ψ[x,y]f[x,y]s-r=(y-r)-\frac{(y-r)\psi(y)}{f[x,y]}=(y-r)\frac{f[x,y]-\psi(y)}{f[x,y]}=(x-r)(y-r)\frac{\psi[x,y]}{f[x,y]}

である。▨

定理 5.4.I⊂RI\subset\Rを開区間、f ⁣:I→Rf\colon I\to\RをC2C^2級の関数、r∈Ir\in Iをf(r)=0f(r)=0かつf′(r)≠0f'(r)\ne0を満たす点とし、C:=(∣f′′(r)∣+1)/∣f′(r)∣C:=(\lvert f''(r)\rvert+1)/\lvert f'(r)\rvertと置く。δ>0\delta>0が存在してJ:=[r−δ,r+δ]⊂IJ:=[r-\delta,r+\delta]\subset Iであり、相異なる任意のx0,x1∈Jx_0,x_1\in Jに対して、割線法の反復列とek:=xk−re_k:=x_k-rについて次が成り立つ。

  1. 定義 5.2 (3)の場合は起こらず、すべての項はJJに属する。k≥1k\ge1について、割線法が第kk段で停止することとxk=rx_k=rであることは同値である。
  2. xk+1x_{k+1}が定まる各k≥1k\ge1について、∣ek+1∣≤C∣ek∣∣ek−1∣\lvert e_{k+1}\rvert\le C\lvert e_k\rvert\lvert e_{k-1}\rvertかつ∣ek+1∣≤∣ek∣/2\lvert e_{k+1}\rvert\le\lvert e_k\rvert/2である。
  3. 割線法がどの段でも停止しないならば、すべてのkkでxk≠rx_k\ne rであり、(xk)(x_k)はrrへ超線形収束する。

証明.f′f'とf′′f''はrrで連続であるから、δ>0\delta>0が存在して、J⊂IJ\subset I、Cδ≤1/2C\delta\le1/2であり、すべてのt∈Jt\in Jで∣f′(t)∣≥∣f′(r)∣/2\lvert f'(t)\rvert\ge\lvert f'(r)\rvert/2かつ∣f′′(t)∣≤∣f′′(r)∣+1\lvert f''(t)\rvert\le\lvert f''(r)\rvert+1である。相異なるx,y∈Jx,y\in Jをとる。§D1.14 定理 3.1によりf[x,y]=f′(α)f[x,y]=f'(\alpha)を満たすα∈J\alpha\in Jがあるから、∣f[x,y]∣≥∣f′(r)∣/2>0\lvert f[x,y]\rvert\ge\lvert f'(r)\rvert/2>0であり、特にf(x)≠f(y)f(x)\ne f(y)である。y≠ry\ne rならば同様にf(y)=f(y)−f(r)=f′(β)(y−r)≠0f(y)=f(y)-f(r)=f'(\beta)(y-r)\ne0であるから、JJ上でf(y)=0f(y)=0であることとy=ry=rであることは同値である。補題 5.3 (1)によりψ\psiは微分可能であるから、§D1.14 定理 3.1によりψ[x,y]=ψ′(γ)\psi[x,y]=\psi'(\gamma)を満たすγ∈J\gamma\in Jがあり、ψ′(γ)=f′′(c)/2\psi'(\gamma)=f''(c)/2を満たすccはγ\gammaとrrの間にあってJJに属するから、∣ψ[x,y]∣≤(∣f′′(r)∣+1)/2\lvert\psi[x,y]\rvert\le(\lvert f''(r)\rvert+1)/2である。補題 5.3 (2)によりs:=y−f(y)/f[x,y]s:=y-f(y)/f[x,y]は

∣s−r∣≤C∣x−r∣∣y−r∣≤Cδ∣y−r∣≤∣y−r∣2\lvert s-r\rvert\le C\lvert x-r\rvert\lvert y-r\rvert\le C\delta\lvert y-r\rvert\le\frac{\lvert y-r\rvert}{2}

を満たし、s∈Js\in Jである。

k≥1k\ge1に関する帰納法で、xk−1,xkx_{k-1},x_kがJJの相異なる点であるとする。xk=rx_k=rならばf(xk)=0f(x_k)=0であり、定義 5.2 (1)により停止する。xk≠rx_k\ne rならばf(xk)≠0f(x_k)\ne0かつf[xk−1,xk]≠0f[x_{k-1},x_k]\ne0であるから定義 5.2 (2)が適用され、上の評価をx=xk−1x=x_{k-1}、y=xky=x_kに適用してxk+1∈Jx_{k+1}\in Jと(2)の二つの評価を得る。xk+1≠xkx_{k+1}\ne x_kであるから帰納法が進み、(1)と(2)が成り立つ。

(3)を示す。割線法が停止しないならば、(1)によりすべてのk≥1k\ge1でxk≠rx_k\ne rである。x0=rx_0=rならば補題 5.3 (2)によりe2=0e_2=0となり第22段で停止するから、x0≠rx_0\ne rである。(2)により∣ek∣≤2−(k−1)∣e1∣→0\lvert e_k\rvert\le2^{-(k-1)}\lvert e_1\rvert\to0であり、∣ek+1∣/∣ek∣≤C∣ek−1∣→0\lvert e_{k+1}\rvert/\lvert e_k\rvert\le C\lvert e_{k-1}\rvert\to0である。▨

補題 5.5.ρ∈[0,1)\rho\in[0,1)とし、実数列(wk)k∈N≥0(w_k)_{k\in\N}と(εk)k∈N≥1(\varepsilon_k)_{k\in\NN}が、すべてのk∈N≥1k\in\NNに対して∣wk∣≤ρ∣wk−1∣+εk\lvert w_k\rvert\le\rho\lvert w_{k-1}\rvert+\varepsilon_kを満たし、εk→0\varepsilon_k\to0であるとする。このときwk→0w_k\to0である。

証明.ε>0\varepsilon>0をとり、k>Kk>Kならばεk≤ε\varepsilon_k\le\varepsilonとなるK∈N≥0K\in\Nをとる。k≥Kk\ge Kに関する帰納法により

∣wk∣≤ρk−K∣wK∣+ε∑i=0k−K−1ρi≤ρk−K∣wK∣+ε1−ρ\lvert w_k\rvert\le\rho^{k-K}\lvert w_K\rvert+\varepsilon\sum_{i=0}^{k-K-1}\rho^i\le\rho^{k-K}\lvert w_K\rvert+\frac{\varepsilon}{1-\rho}

である。ρk−K→0\rho^{k-K}\to0であるからlim sup⁡k→∞∣wk∣≤ε/(1−ρ)\limsup_{k\to\infty}\lvert w_k\rvert\le\varepsilon/(1-\rho)であり、ε>0\varepsilon>0は任意であるからwk→0w_k\to0である。▨

定理 5.6.定理 5.4の仮定に加えてf′′(r)≠0f''(r)\ne0とし、φ:=(1+5)/2\varphi:=(1+\sqrt5)/2、A:=∣f′′(r)/(2f′(r))∣A:=\lvert f''(r)/(2f'(r))\rvertと置く。定理 5.4のJJの相異なる点x0,x1x_0,x_1から始まる割線法がどの段でも停止しないならば、(xk)(x_k)はrrへ次数φ\varphi、漸近定数A1/φ=Aφ−1A^{1/\varphi}=A^{\varphi-1}で収束する。

証明.定理 5.4 (3)により、すべてのkkでek≠0e_k\ne0であり、xk→rx_k\to rである。k≥1k\ge1に対してak:=∣ek+1∣/(∣ek∣∣ek−1∣)a_k:=\lvert e_{k+1}\rvert/(\lvert e_k\rvert\lvert e_{k-1}\rvert)と置く。補題 5.3 (2)によりak=∣ψ[xk−1,xk]∣/∣f[xk−1,xk]∣a_k=\lvert\psi[x_{k-1},x_k]\rvert/\lvert f[x_{k-1},x_k]\rvertである。§D1.14 定理 3.1によりψ[xk−1,xk]=ψ′(γk)\psi[x_{k-1},x_k]=\psi'(\gamma_k)、f[xk−1,xk]=f′(αk)f[x_{k-1},x_k]=f'(\alpha_k)を満たすγk,αk\gamma_k,\alpha_kがxk−1x_{k-1}とxkx_kの間にあり、γk→r\gamma_k\to r、αk→r\alpha_k\to rである。補題 5.3 (1)によりψ′\psi'はrrで連続でψ′(r)=f′′(r)/2\psi'(r)=f''(r)/2であり、f′f'も連続であるから、ak→∣f′′(r)/2∣/∣f′(r)∣=A>0a_k\to\lvert f''(r)/2\rvert/\lvert f'(r)\rvert=A>0である。k∈N≥0k\in\Nに対してyk:=∣ek+1∣/∣ek∣φ>0y_k:=\lvert e_{k+1}\rvert/\lvert e_k\rvert^{\varphi}>0と置く。φ2=φ+1\varphi^2=\varphi+1から1−φ=−1/φ1-\varphi=-1/\varphiであり、k≥1k\ge1に対して

yk=ak∣ek∣∣ek−1∣∣ek∣φ=ak∣ek−1∣∣ek∣−1/φ=ak(∣ek∣∣ek−1∣φ)−1/φ=akyk−1−1/φy_k=\frac{a_k\lvert e_k\rvert\lvert e_{k-1}\rvert}{\lvert e_k\rvert^{\varphi}}=a_k\lvert e_{k-1}\rvert\lvert e_k\rvert^{-1/\varphi}=a_k\left(\frac{\lvert e_k\rvert}{\lvert e_{k-1}\rvert^{\varphi}}\right)^{-1/\varphi}=a_ky_{k-1}^{-1/\varphi}

である。wk:=log⁡yk−(log⁡A)/φw_k:=\log y_k-(\log A)/\varphiと置く。φ2−φ−1=0\varphi^2-\varphi-1=0からlog⁡A−(log⁡A)/φ−(log⁡A)/φ2=0\log A-(\log A)/\varphi-(\log A)/\varphi^2=0であるから、

wk=log⁡ak−log⁡yk−1φ−log⁡Aφ=(log⁡ak−log⁡A)−wk−1φw_k=\log a_k-\frac{\log y_{k-1}}{\varphi}-\frac{\log A}{\varphi}=(\log a_k-\log A)-\frac{w_{k-1}}{\varphi}

であり、∣wk∣≤φ−1∣wk−1∣+∣log⁡ak−log⁡A∣\lvert w_k\rvert\le\varphi^{-1}\lvert w_{k-1}\rvert+\lvert\log a_k-\log A\rvertである。φ−1<1\varphi^{-1}<1であり、log⁡\logの連続性から∣log⁡ak−log⁡A∣→0\lvert\log a_k-\log A\rvert\to0であるから、補題 5.5によりwk→0w_k\to0である。したがってyk→exp⁡((log⁡A)/φ)=A1/φ∈(0,+∞)y_k\to\exp((\log A)/\varphi)=A^{1/\varphi}\in(0,+\infty)であり、1/φ=φ−11/\varphi=\varphi-1である。φ>1\varphi>1であるから、これは定義 1.1 (1)のq=φq=\varphiの場合である。▨

例 5.7.f(x)=x2−2f(x)=x^2-2、r=2r=\sqrt2とする。補題 5.3のψ\psiはψ(x)=x+2\psi(x)=x+\sqrt2であり、ψ[x,y]=1\psi[x,y]=1、f[x,y]=x+yf[x,y]=x+yであるから、補題 5.3 (2)は

ek+1=ekek−1xk−1+xke_{k+1}=\frac{e_ke_{k-1}}{x_{k-1}+x_k}

となる。x0=1x_0=1、x1=2x_1=2から

x2=43,x3=75,x4=5841,x5=816577,x6=4732133461,x7=7722793054608393x_2=\frac43,\quad x_3=\frac75,\quad x_4=\frac{58}{41},\quad x_5=\frac{816}{577},\quad x_6=\frac{47321}{33461},\quad x_7=\frac{77227930}{54608393}

であり、e5≈−2.12×10−6e_5\approx-2.12\times10^{-6}、e6≈−3.16×10−10e_6\approx-3.16\times10^{-10}、e7≈2.37×10−16e_7\approx2.37\times10^{-16}である。A=1/(22)A=1/(2\sqrt2)であり、定理 5.6の漸近定数はA1/φ≈0.5259A^{1/\varphi}\approx0.5259である。yk=∣ek+1∣/∣ek∣φy_k=\lvert e_{k+1}\rvert/\lvert e_k\rvert^{\varphi}はk=2,…,6k=2,\dots,6で約0.8310.831、0.4100.410、0.6160.616、0.4770.477、0.5590.559である。ffの評価回数で比べると、割線法のx6x_6は66回で誤差3.16×10−103.16\times10^{-10}、x7x_7は77回で誤差2.37×10−162.37\times10^{-16}を与える。例 4.4の Newton 法では、ffとf′f'を合わせて66回評価したx3x_3の誤差は2.12×10−62.12\times10^{-6}、88回評価したx4x_4の誤差は1.59×10−121.59\times10^{-12}である。

注意 5.8. Newton 法の一反復はf(xk)f(x_k)とf′(xk)f'(x_k)の二つの評価を要し、割線法の一反復はf(xk)f(x_k)の一つの評価を要する。f′f'の一回の評価の費用がffの一回の評価の費用のθ\theta倍(θ≥0\theta\ge0)であり、評価以外の費用を無視するという仮定を置く。命題 1.3 (2)によりjj反復で正しい桁数はおよそqjq^j倍になるから、ffの評価一回分の費用あたりの倍率は、Newton 法で21/(1+θ)2^{1/(1+\theta)}、割線法でφ\varphiである。θ=1\theta=1ではそれぞれ21/2≈1.4142^{1/2}\approx1.414、φ≈1.618\varphi\approx1.618であり、Newton 法の倍率が割線法の倍率を超えるのはθ<log⁡2/log⁡φ−1≈0.440\theta<\log2/\log\varphi-1\approx0.440のときである。

6 停止判定

定義 6.1.f ⁣:I→Rf\colon I\to\Rの零点を求める反復が点列x0,x1,…x_0,x_1,\dotsを生成し、二分法のように区間を生成する反復ではさらに区間[ak,bk][a_k,b_k]を生成するとする。実数τf≥0\tau_f\ge0、τabs≥0\tau_{\mathrm{abs}}\ge0、τrel≥0\tau_{\mathrm{rel}}\ge0、τw>0\tau_w>0とkmax⁡∈N≥1k_{\max}\in\NNをとる。

  1. ∣f(xk)∣≤τf\lvert f(x_k)\rvert\le\tau_fを 残差判定 (residual test) という。
  2. k≥1k\ge1における∣xk−xk−1∣≤τabs+τrel∣xk∣\lvert x_k-x_{k-1}\rvert\le\tau_{\mathrm{abs}}+\tau_{\mathrm{rel}}\lvert x_k\rvertを 反復差判定 (step test) といい、τabs\tau_{\mathrm{abs}}を 絶対許容誤差 (absolute tolerance)、τrel\tau_{\mathrm{rel}}を 相対許容誤差 (relative tolerance) という。
  3. bk−ak≤τwb_k-a_k\le\tau_wを 区間幅判定 (interval width test) という。
  4. k=kmax⁡k=k_{\max}を 反復回数の上限 (iteration limit) という。

反復は、選んだ判定が初めて成り立つkkで停止し、xkx_kを出力する。ffと反復に関する仮定 (H) と実数ε≥0\varepsilon\ge0について、(H) の下で判定がxkx_kで成り立つならば∣xk−r∣≤ε\lvert x_k-r\rvert\le\varepsilonを満たすffの零点rrが必ず存在するとき、その判定は (H) の下で 誤差を保証 (error guarantee) し、ε\varepsilonをその保証誤差という。ここでε\varepsilonは、許容誤差、(H) に現れる定数、停止時に計算した量だけで定まるものとする。

命題 6.2.定義 6.1の記号を用いる。

  1. (H) を「ffが[ak,bk][a_k,b_k]上で連続であり、f(ak)f(bk)<0f(a_k)f(b_k)<0、xk∈[ak,bk]x_k\in[a_k,b_k]」とする。区間幅判定は (H) の下で誤差τw\tau_wを保証し、xk=(ak+bk)/2x_k=(a_k+b_k)/2ならば誤差τw/2\tau_w/2を保証する。
  2. (H) を「IIは空でない閉区間であり、すべてのx∈Ix\in Iでλ(x)≠0\lambda(x)\ne0を満たすλ ⁣:I→R\lambda\colon I\to\Rについてg(x):=x−λ(x)f(x)g(x):=x-\lambda(x)f(x)がg(I)⊂Ig(I)\subset Iと、あるq∈[0,1)q\in[0,1)についての∣g(x)−g(y)∣≤q∣x−y∣\lvert g(x)-g(y)\rvert\le q\lvert x-y\rvert(x,y∈Ix,y\in I)を満たし、(xk)(x_k)はx0∈Ix_0\in Iから始まるggの不動点反復である」とする。反復差判定は (H) の下で誤差q(τabs+τrel∣xk∣)/(1−q)q(\tau_{\mathrm{abs}}+\tau_{\mathrm{rel}}\lvert x_k\rvert)/(1-q)を保証する。
  3. (H) を「a<ba<bであり、ffは[a,b][a,b]上で連続かつ(a,b)(a,b)で微分可能で、f(a)f(b)<0f(a)f(b)<0を満たし、あるm>0m>0についてすべてのt∈(a,b)t\in(a,b)で∣f′(t)∣≥m\lvert f'(t)\rvert\ge mであり、xk∈[a,b]x_k\in[a,b]」とする。残差判定は (H) の下で誤差τf/m\tau_f/mを保証する。

証明.(1)を示す。§D1.12 定理 1.1をffまたは−f-fに適用して、ffの零点r∈(ak,bk)r\in(a_k,b_k)を得る。xk,r∈[ak,bk]x_k,r\in[a_k,b_k]であるから∣xk−r∣≤bk−ak≤τw\lvert x_k-r\rvert\le b_k-a_k\le\tau_wであり、xkx_kが中点ならば∣xk−r∣≤(bk−ak)/2≤τw/2\lvert x_k-r\rvert\le(b_k-a_k)/2\le\tau_w/2である。

(2)を示す。定理 3.3 (1)によりggはIIに不動点x∗x^*をもち、∣xk−x∗∣≤q∣xk−xk−1∣/(1−q)≤q(τabs+τrel∣xk∣)/(1−q)\lvert x_k-x^*\rvert\le q\lvert x_k-x_{k-1}\rvert/(1-q)\le q(\tau_{\mathrm{abs}}+\tau_{\mathrm{rel}}\lvert x_k\rvert)/(1-q)である。定義 3.1によりx∗x^*はffの零点である。

(3)を示す。§D1.12 定理 1.1をffまたは−f-fに適用して、ffの零点r∈(a,b)r\in(a,b)を得る。xkx_kとrrの間の点は(a,b)(a,b)に属するから、§E20.2 命題 6.1を区間[a,b][a,b]に適用して∣xk−r∣≤∣f(xk)∣/m≤τf/m\lvert x_k-r\rvert\le\lvert f(x_k)\rvert/m\le\tau_f/mを得る。▨

命題 6.3.r∈Rr\in\Rとし、(xk)k∈N≥0(x_k)_{k\in\N}をrrに収束する実数列で、すべてのkkでxk≠rx_k\ne rを満たすものとし、ek:=xk−re_k:=x_k-rと置く。

  1. c∈Rc\in\Rについてek+1/ek→ce_{k+1}/e_k\to cならば、∣xk+1−xk∣/∣ek∣→∣1−c∣\lvert x_{k+1}-x_k\rvert/\lvert e_k\rvert\to\lvert1-c\rvertである。
  2. (xk)(x_k)がrrへ超線形収束するならば、∣xk+1−xk∣/∣ek∣→1\lvert x_{k+1}-x_k\rvert/\lvert e_k\rvert\to1である。

証明.xk+1−xk=ek+1−ekx_{k+1}-x_k=e_{k+1}-e_kであるから∣xk+1−xk∣/∣ek∣=∣ek+1/ek−1∣→∣c−1∣\lvert x_{k+1}-x_k\rvert/\lvert e_k\rvert=\lvert e_{k+1}/e_k-1\rvert\to\lvert c-1\rvertであり、(1)が成り立つ。超線形収束はek+1/ek→0e_{k+1}/e_k\to0を意味するから、(2)はc=0c=0の場合である。▨

例 6.4.

  1. 0<q<10<q<1とし、g(x)=qxg(x)=qxの不動点反復をx0≠0x_0\ne0から始める。x∗=0x^*=0、ek=qkx0e_k=q^kx_0、xk−xk−1=−(1−q)qk−1x0x_k-x_{k-1}=-(1-q)q^{k-1}x_0であるから、∣ek∣=q∣xk−xk−1∣/(1−q)\lvert e_k\rvert=q\lvert x_k-x_{k-1}\rvert/(1-q)であり、命題 6.2 (2)の評価は等号で成り立つ。
  2. 例 3.6のg−(x)=x−x3g_-(x)=x-x^3の不動点反復(x0∈(0,1)x_0\in(0,1))はek+1/ek=1−xk2→1e_{k+1}/e_k=1-x_k^2\to1を満たすから、命題 6.3 (1)により∣xk−xk−1∣/∣ek∣=(∣xk−xk−1∣/∣ek−1∣)(∣ek−1∣/∣ek∣)→0⋅1=0\lvert x_k-x_{k-1}\rvert/\lvert e_k\rvert=(\lvert x_k-x_{k-1}\rvert/\lvert e_{k-1}\rvert)(\lvert e_{k-1}\rvert/\lvert e_k\rvert)\to0\cdot1=0である。M>0M>0を任意にとり、∣ek∣>M∣xk−xk−1∣\lvert e_k\rvert>M\lvert x_k-x_{k-1}\rvertを満たすk≥1k\ge1をとる。反復差∣xj−xj−1∣=xj−13\lvert x_j-x_{j-1}\rvert=x_{j-1}^3はjjについて狭義減少であるから、τrel=0\tau_{\mathrm{rel}}=0、τabs=∣xk−xk−1∣\tau_{\mathrm{abs}}=\lvert x_k-x_{k-1}\rvertの反復差判定はこのkkで初めて成り立ち、g−g_-のただ一つの不動点は00であり、出力xkx_kと00の距離はMτabsM\tau_{\mathrm{abs}}を超える。MMは任意であるから、∣g−′(0)∣=1\lvert g_-'(0)\rvert=1であるこの反復では、反復差判定はτabs\tau_{\mathrm{abs}}の定数倍の誤差を保証しない。
  3. 例 4.5 (1)の反復列0,1,0,1,…0,1,0,1,\dotsはすべてのk≥1k\ge1で∣xk−xk−1∣=1\lvert x_k-x_{k-1}\rvert=1、∣f(xk)∣≥1\lvert f(x_k)\rvert\ge1を満たし、τabs+τrel<1\tau_{\mathrm{abs}}+\tau_{\mathrm{rel}}<1、τf<1\tau_f<1ならば反復回数の上限でだけ停止する。出力xkmax⁡∈{0,1}x_{k_{\max}}\in\{0,1\}とffのただ一つの実零点r∈(−2,−2/3)r\in(-2,-\sqrt{2/3})の距離は2/3\sqrt{2/3}より大きい。
  4. f(x)=10−12(x−1)f(x)=10^{-12}(x-1)は区間[0,2][0,2]で命題 6.2 (3)の仮定をm=10−12m=10^{-12}について満たす。xk=2x_k=2の残差は10−1210^{-12}であり、τf=10−12\tau_f=10^{-12}の保証誤差τf/m=1\tau_f/m=1はxkx_kの誤差11に等しい(§E20.2 例 6.2)。

注意 6.5. 次は CPython の float(binary64、各演算を最近接丸め)で例 4.4の反復xk+1=xk−(xk⋅xk−2)/(2xk)x_{k+1}=x_k-(x_k\cdot x_k-2)/(2x_k)をx0=1x_0=1から計算した観察である。x5x_5は2\sqrt2を最近接丸めした数s^\hat s(16進表記 0x1.6a09e667f3bcdp+0)に一致し、以後の計算値はs^\hat sと、s^\hat sの直前の浮動小数点数s^−2−52\hat s-2^{-52}とを交互にとる。二点での残差の計算値は±2−51≈±4.44×10−16\pm2^{-51}\approx\pm4.44\times10^{-16}であり、真の残差は約2.73×10−162.73\times10^{-16}と−3.55×10−16-3.55\times10^{-16}である。この計算では、τf<2−51\tau_f<2^{-51}の残差判定と、τrel=0\tau_{\mathrm{rel}}=0、τabs<2−52\tau_{\mathrm{abs}}<2^{-52}の反復差判定は成り立たず、反復は反復回数の上限でだけ停止する。

7 区間を保持する Newton 法

定義 7.1.a<ba<bを実数、f ⁣:[a,b]→Rf\colon[a,b]\to\Rを[a,b][a,b]上で連続かつ(a,b)(a,b)で微分可能でf(a)f(b)<0f(a)f(b)<0を満たす関数とし、x0∈(a,b)x_0\in(a,b)をとる。a0:=aa_0:=a、b0:=bb_0:=bと置く。k∈N≥0k\in\Nについてak<xk<bka_k<x_k<b_kとf(ak)f(bk)<0f(a_k)f(b_k)<0を満たすak,xk,bka_k,x_k,b_kが定まったとき、次のように定める。

  1. f(xk)=0f(x_k)=0ならばxkx_kを出力して停止する。
  2. f(xk)≠0f(x_k)\ne0とする。f(ak)f(xk)<0f(a_k)f(x_k)<0ならばak+1:=aka_{k+1}:=a_k、bk+1:=xkb_{k+1}:=x_kと置き、f(ak)f(xk)>0f(a_k)f(x_k)>0ならばak+1:=xka_{k+1}:=x_k、bk+1:=bkb_{k+1}:=b_kと置く。
  3. 次の三条件がすべて成り立つとき、Newton 法の候補点ck:=xk−f(xk)/f′(xk)c_k:=x_k-f(x_k)/f'(x_k)を受理し、xk+1:=ckx_{k+1}:=c_kと置く:f′(xk)≠0f'(x_k)\ne0であること、ak+1<ck<bk+1a_{k+1}<c_k<b_{k+1}であること、bk+1−ak+1≤(bk−ak)/2b_{k+1}-a_{k+1}\le(b_k-a_k)/2であること。
  4. (3)の三条件のいずれかが成り立たないとき、xk+1:=(ak+1+bk+1)/2x_{k+1}:=(a_{k+1}+b_{k+1})/2と置く。

(2)でf(ak)f(xk)>0f(a_k)f(x_k)>0ならば、定義 2.2と同じ理由でf(xk)f(bk)<0f(x_k)f(b_k)<0である。したがってak+1<xk+1<bk+1a_{k+1}<x_{k+1}<b_{k+1}とf(ak+1)f(bk+1)<0f(a_{k+1})f(b_{k+1})<0が成り立ち、次の段が定まる。この手続きを 区間を保持する Newton 法 (safeguarded Newton method) という。

命題 7.2.定義 7.1の仮定の下で、wk:=bk−akw_k:=b_k-a_kと置く。区間を保持する Newton 法が第kk段で停止するならばf(xk)=0f(x_k)=0である。どの段でも停止しないならば、次が成り立つ。

  1. すべてのk∈N≥0k\in\Nで[ak+1,bk+1]⊂[ak,bk][a_{k+1},b_{k+1}]\subset[a_k,b_k]、wk+1<wkw_{k+1}<w_k、wk+2≤wk/2w_{k+2}\le w_k/2であり、wk≤2−⌊k/2⌋(b−a)w_k\le2^{-\lfloor k/2\rfloor}(b-a)である。
  2. ffの零点rrであって、すべてのkkでr∈[ak,bk]r\in[a_k,b_k]かつ∣xk−r∣≤wk\lvert x_k-r\rvert\le w_kを満たすものが存在する。

証明. 停止する場合は定義 7.1 (1)による。停止しないとする。

(1)を示す。定義 7.1 (2)により[ak+1,bk+1][a_{k+1},b_{k+1}]は[ak,xk][a_k,x_k]または[xk,bk][x_k,b_k]であり、ak<xk<bka_k<x_k<b_kであるから[ak+1,bk+1]⊂[ak,bk][a_{k+1},b_{k+1}]\subset[a_k,b_k]かつwk+1<wkw_{k+1}<w_kである。wk+1≤wk/2w_{k+1}\le w_k/2ならばwk+2<wk+1≤wk/2w_{k+2}<w_{k+1}\le w_k/2である。wk+1>wk/2w_{k+1}>w_k/2ならば定義 7.1 (3)の第三条件が成り立たないから、定義 7.1 (4)によりxk+1x_{k+1}は[ak+1,bk+1][a_{k+1},b_{k+1}]の中点であり、wk+2=wk+1/2<wk/2w_{k+2}=w_{k+1}/2<w_k/2である。w2j≤2−j(b−a)w_{2j}\le2^{-j}(b-a)がjjに関する帰納法で従い、wkw_kは減少するからwk≤w2⌊k/2⌋≤2−⌊k/2⌋(b−a)w_k\le w_{2\lfloor k/2\rfloor}\le2^{-\lfloor k/2\rfloor}(b-a)である。

(2)を示す。定義 7.1によりf(ak)f(bk)<0f(a_k)f(b_k)<0であり、(1)によりa≤ak≤ak+1<bk+1≤bk≤ba\le a_k\le a_{k+1}<b_{k+1}\le b_k\le bかつwk→0w_k\to0であるから、補題 2.1 (2)のrrはf(r)=0f(r)=0とすべてのkkでr∈[ak,bk]r\in[a_k,b_k]を満たす。xk∈[ak,bk]x_k\in[a_k,b_k]であるから、補題 2.1 (3)により∣xk−r∣≤wk\lvert x_k-r\rvert\le w_kである。▨

例 7.3.f(x)=x2−2f(x)=x^2-2、[a,b]=[1,2][a,b]=[1,2]、x0=3/2x_0=3/2とする。x>2x>\sqrt2ならばNf(x)−2=(x−2)2/(2x)>0N_f(x)-\sqrt2=(x-\sqrt2)^2/(2x)>0かつNf(x)<xN_f(x)<xであるから、Newton 法の反復列3/2,17/12,577/408,…3/2,17/12,577/408,\dotsはすべて2\sqrt2より大きく狭義単調減少し、f(xk)>0f(x_k)>0である。定義 7.1 (3)の第三条件を除いた二条件だけで受理すると、各段で[ak+1,bk+1]=[1,xk][a_{k+1},b_{k+1}]=[1,x_k]となってこの列の候補はすべて受理され、wk=xk−1−1→2−1w_k=x_{k-1}-1\to\sqrt2-1であるから区間幅は00に収束しない。三条件で受理すると、第00段で[a1,b1]=[1,3/2][a_1,b_1]=[1,3/2]、w1=1/2≤w0/2w_1=1/2\le w_0/2であり、候補17/1217/12を受理する。第11段で[a2,b2]=[1,17/12][a_2,b_2]=[1,17/12]、w2=5/12>w1/2=1/4w_2=5/12>w_1/2=1/4であるから中点x2=29/24x_2=29/24をとる。第22段ではf(29/24)<0f(29/24)<0から[a3,b3]=[29/24,17/12][a_3,b_3]=[29/24,17/12]、w3=5/24=w2/2w_3=5/24=w_2/2であるが、候補Nf(29/24)=1993/1392N_f(29/24)=1993/1392は17/12=1972/139217/12=1972/1392より大きく区間の外にあるから、中点x3=21/16x_3=21/16をとる。

8 演習

問題 8.1.補題 1.2の証明を完成させよ。

解答.

補題 1.2 (1)を示す。線形収束を次数11として扱うと、どちらの場合もq,q′≥1q,q'\ge1について∣ek+1∣/∣ek∣q→C∈(0,+∞)\lvert e_{k+1}\rvert/\lvert e_k\rvert^q\to C\in(0,+\infty)、∣ek+1∣/∣ek∣q′→C′∈(0,+∞)\lvert e_{k+1}\rvert/\lvert e_k\rvert^{q'}\to C'\in(0,+\infty)である。q<q′q<q'と仮定すると、

∣ek+1∣∣ek∣q′=∣ek+1∣∣ek∣q⋅∣ek∣q−q′\frac{\lvert e_{k+1}\rvert}{\lvert e_k\rvert^{q'}}=\frac{\lvert e_{k+1}\rvert}{\lvert e_k\rvert^{q}}\cdot\lvert e_k\rvert^{q-q'}

の右辺の第一因子はC>0C>0に収束し、∣ek∣→0\lvert e_k\rvert\to0、q−q′<0q-q'<0から第二因子は+∞+\inftyに発散するから、左辺は+∞+\inftyに発散し、左辺がC′<+∞C'<+\inftyに収束することと両立しない。q′<qq'<qの場合も同様であるからq=q′q=q'であり、極限の一意性からC=C′C=C'である。

補題 1.2 (2)を示す。∣ek+1∣/∣ek∣=(∣ek+1∣/∣ek∣q)∣ek∣q−1\lvert e_{k+1}\rvert/\lvert e_k\rvert=(\lvert e_{k+1}\rvert/\lvert e_k\rvert^q)\lvert e_k\rvert^{q-1}であり、第一因子はCCに、第二因子はq−1>0q-1>0から00に収束するから、左辺は00に収束する。▨

問題 8.2.c>0c>0とし、f(x)=x2−cf(x)=x^2-cをI=(0,+∞)I=(0,+\infty)で考える。任意のx0>0x_0>0に対して Newton 法の反復列(xk)(x_k)が定まり、k≥1k\ge1ですべてのxkx_kがxk≥cx_k\ge\sqrt cを満たし、ek:=xk−ce_k:=x_k-\sqrt cがk≥1k\ge1で0≤ek+1≤min⁡{ek/2, ek2/(2c)}0\le e_{k+1}\le\min\{e_k/2,\ e_k^2/(2\sqrt c)\}を満たしてxk→cx_k\to\sqrt cとなることを証明せよ。

解答.

x>0x>0ならばf′(x)=2x≠0f'(x)=2x\ne0であり、Nf(x)=(x+c/x)/2>0N_f(x)=(x+c/x)/2>0であるから、反復列は定まり、すべての項は正である。x>0x>0に対して

Nf(x)−c=x2−2c x+c2x=(x−c)22x≥0N_f(x)-\sqrt c=\frac{x^2-2\sqrt c\,x+c}{2x}=\frac{(x-\sqrt c)^2}{2x}\ge0

であるから、k≥1k\ge1でxk≥cx_k\ge\sqrt c、すなわちek≥0e_k\ge0である。k≥1k\ge1に対してek+1=ek2/(2xk)e_{k+1}=e_k^2/(2x_k)であり、xk≥cx_k\ge\sqrt cからek+1≤ek2/(2c)e_{k+1}\le e_k^2/(2\sqrt c)、0≤ek<xk0\le e_k<x_kからek+1≤ek/2e_{k+1}\le e_k/2である。したがって0≤ek≤2−(k−1)e1→00\le e_k\le2^{-(k-1)}e_1\to0であり、xk→cx_k\to\sqrt cである。▨

問題 8.3.f(x)=x+x3f(x)=x+x^3をI=RI=\Rで考え、r=0r=0とする。Nf(x)=2x3/(1+3x2)N_f(x)=2x^3/(1+3x^2)であることを示せ。また、∣x0∣≤1/2\lvert x_0\rvert\le1/2かつx0≠0x_0\ne0ならば、Newton 法の反復列(xk)(x_k)が定まってすべてのkkでxk≠0x_k\ne0かつxk→0x_k\to0であり、(xk)(x_k)が00へ次数33、漸近定数22で収束することを証明せよ。

解答.

f′(x)=1+3x2≥1f'(x)=1+3x^2\ge1であるから、すべてのx∈Rx\in\Rでf′(x)≠0f'(x)\ne0であり、

Nf(x)=x−x+x31+3x2=x+3x3−x−x31+3x2=2x31+3x2N_f(x)=x-\frac{x+x^3}{1+3x^2}=\frac{x+3x^3-x-x^3}{1+3x^2}=\frac{2x^3}{1+3x^2}

である。0<∣x∣≤1/20<\lvert x\rvert\le1/2ならばNf(x)≠0N_f(x)\ne0であり、1+3x2≥11+3x^2\ge1とx2≤1/4x^2\le1/4から

∣Nf(x)∣≤2∣x∣3=2x2∣x∣≤∣x∣2\lvert N_f(x)\rvert\le2\lvert x\rvert^3=2x^2\lvert x\rvert\le\frac{\lvert x\rvert}{2}

である。kkに関する帰納法により、反復列が定まり、すべてのkkで0<∣xk∣≤2−k∣x0∣≤1/20<\lvert x_k\rvert\le2^{-k}\lvert x_0\rvert\le1/2である。したがってすべてのkkでxk≠0x_k\ne0であり、xk→0x_k\to0である。ek:=xk−0=xke_k:=x_k-0=x_kと置くと

ek+1ek3=21+3xk2\frac{e_{k+1}}{e_k^3}=\frac{2}{1+3x_k^2}

であり、xk→0x_k\to0からek+1/ek3→2e_{k+1}/e_k^3\to2、すなわち∣ek+1∣/∣ek∣3→2\lvert e_{k+1}\rvert/\lvert e_k\rvert^3\to2である。2∈(0,+∞)2\in(0,+\infty)であるから、これは定義 1.1 (1)のq=3q=3、C=2C=2の場合である。▨

前提記事