クラフチック法について

公開日:
最終更新日:

目次

  1. はじめに
  2. 記法のリスト
  3. クラフチック法
  4. 参考文献

はじめに

この記事では,非線形方程式の解を精度保証つき数値計算で求めるのによく使われる,クラフチック法 (Krawczyk method) を証明する.

記法のリスト

  1. 集合SRS\subseteq\mathbb{R}の直径sup{xyx,yS}\sup\lbrace\lvert x-y\rvert\mid x,y\in S\rbracediamS\operatorname{diam}Sと書く.
  2. 集合SRnS\subseteq\mathbb{R}^{n}の内部をintS\operatorname{int}Sと書く.
  3. 写像ffの始域に含まれる集合AAについて,像{f(a)aA}\lbrace f(a)\mid a\in A\rbracef(A)f(A)と書く.

次の記法は独自のものなので,注意されたい.ベクトル値関数

f(x)=(f1(x)f2(x)fn(x))(x=(x1x2xn)T) f(\bm{x}) = \mathopen{}\mathclose{\left(\begin{matrix}f_{1}(\bm{x})\\ f_{2}(\bm{x})\\ \vdots\\ f_{n}(\bm{x})\end{matrix}\right)}\quad(\bm{x}=(\begin{matrix}x_{1} & x_{2} & \cdots & x_{n}\end{matrix})^{\mathsf{T}})

に対して,If(X)\bm{I_{\mathnormal{f}}}(\bm{X})

If(X)=((f1(x1))T(f2(x2))T(fn(xn))T)(X=(x1x2xn)) \bm{I_{\mathnormal{f}}}(\bm{X}) = \mathopen{}\mathclose{\left(\begin{matrix}(\nabla f_{1}(\bm{x_{\mathrm{1}}}))^{\mathsf{T}}\\ (\nabla f_{2}(\bm{x_{\mathrm{2}}}))^{\mathsf{T}}\\ \vdots\\ (\nabla f_{n}(\bm{x_{\mathnormal{n}}}))^{\mathsf{T}}\end{matrix}\right)}\quad(\bm{X}=(\begin{matrix}\bm{x_{\mathrm{1}}} & \bm{x_{\mathrm{2}}}& \cdots & \bm{x_{\mathnormal{n}}}\end{matrix}))

で定義する.x1=x2==xn=x\bm{x_{\mathrm{1}}}=\bm{x_{\mathrm{2}}}=\dotsb=\bm{x_{\mathnormal{n}}}=\bm{x}のとき,If(X)\bm{I_{\mathnormal{f}}}(\bm{X})f(x)f(\bm{x})のヤコビ行列である.

クラフチック法

クラフチック法を示す前に,補題を一つ証明する.

I=[a,b]RnI=\lbrack\bm{a},\bm{b}\rbrack\subseteq\mathbb{R}^{n}を内部が空でない有界閉区間とする.また,関数f ⁣:IRnf\colon I\to\mathbb{R}^{n}IIで連続,intI\operatorname{int}Iで偏微分可能とする.このとき,行列Cint(I)n\bm{C}\in\operatorname{int}( I)^{n}が存在して

f(b)f(a)=If(C)(ba) f(\bm{b})-f(\bm{a}) = \bm{I_{\mathnormal{f}}}(\bm{C})(\bm{b}-\bm{a})

を満たす.

ベクトルf(x)f(\bm{x})の第ii成分をfi(x)f_{i}(\bm{x})とおく.仮定から,関数gi(t)=fi(a+t(ba))g_{i}(t)=f_{i}(\bm{a}+t(\bm{b}-\bm{a}))は閉区間[0,1]\lbrack 0,1\rbrack上で連続,開区間(0,1)(0,1)上で微分可能である.よって,平均値の定理よりgi(1)gi(0)=gi(θi)g_{i}(1)-g_{i}(0)=g_{i}'(\theta_i)を満たすθi(0,1)\theta_{i}\in(0,1)が存在する.ci=a+θi(ba)\bm{c_{\mathnormal{i}}}=\bm{a}+\theta_{i}(\bm{b}-\bm{a})とおくと

fi(b)fi(a)=(fi(x))Tx=ci(ba) f_{i}(\bm{b})-f_{i}(\bm{a}) = (\nabla f_{i}(\bm{x}))^{\mathsf{T}}\rvert_{\bm{x}=\bm{c_{\mathnormal{i}}}}(\bm{b}-\bm{a})

なので,C=(c1c2cn)\bm{C}=(\begin{matrix}\bm{c_{\mathrm{1}}} & \bm{c_{\mathrm{2}}} & \cdots & \bm{c_{\mathnormal{n}}}\end{matrix})とおくと

f(b)f(a)=If(C)(ba) f(\bm{b})-f(\bm{a}) = \bm{I_{\mathnormal{f}}}(\bm{C})(\bm{b}-\bm{a})

である.

I=I1×I2××InRnI=I_{1}\times I_{2}\times\dotsb\times I_{n}\subseteq\mathbb{R}^{n}を内部が空でない有界閉区間,c\bm{c}をその中心とする.また,Rn\mathbb{R}^{n}値関数ffIIを含むある開区間上で定義され,C1C^{1}級であるとする.仮に,あるnn次正方行列A\bm{A}が存在し,関数

K(X,y)=cAf(c)+(IAIf(X))(yc) K(\bm{X},\bm{y}) = \bm{c}-\bm{A}f(\bm{c})+(\bm{I}-\bm{A}\bm{I_{\mathnormal{f}}}(\bm{X}))(\bm{y}-\bm{c})

が条件K(In×I)intIK(I^{n}\times I)\subseteq\operatorname{int}Iを満たすのであれば,II上にffの零点がただ一つ存在する.

仮定が成り立つとき,関数g(x)=xAf(x)g(\bm{x})=\bm{x}-\bm{A}f(\bm{x})xI\bm{x}\in I)は縮小写像かつ,A\bm{A}は正則であることを示す.これが示せれば,バナッハの不動点定理からxAf(x)=x\bm{x^{\mathnormal{\ast}}}-\bm{A}f(\bm{x^{\mathnormal{\ast}}})=\bm{x^{\mathnormal{\ast}}}を満たすxI\bm{x^{\mathnormal{\ast}}}\in Iがただ一つ存在するので,定理が示せたことになる.

まずg(I)Ig(I)\subseteq Iを示す.任意にxI\bm{x}\in Iをとる.平均値の定理より,f(x)f(c)=If(C)(xc)f(\bm{x})-f(\bm{c})=\bm{I_{\mathnormal{f}}}(\bm{C})(\bm{x}-\bm{c})を満たすCIn\bm{C}\in I^{n}が存在する.

g(x)=xA(f(x)f(c))Af(c)=xAIf(C)(xc)Af(c)=cAf(c)+(IAIf(C))(xc) \begin{aligned} g(\bm{x}) &= \bm{x}-\bm{A}(f(\bm{x})-f(\bm{c}))-\bm{A}f(\bm{c})\\ &= \bm{x}-\bm{A}\bm{I_{\mathnormal{f}}}(\bm{C})(\bm{x}-\bm{c})-\bm{A}f(\bm{c})\\ &= \bm{c}-\bm{A}f(\bm{c})+(\bm{I}-\bm{A}\bm{I_{\mathnormal{f}}}(\bm{C}))(\bm{x}-\bm{c}) \end{aligned}

なのでg(x)=K(C,x)intIg(\bm{x})=K(\bm{C},\bm{x})\in\operatorname{int}Iである.これでg(I)Ig(I)\subseteq Iが示せた.

次に,ggが縮小写像であることを示す.任意にx,yI\bm{x},\bm{y}\in Iをとる.g(x)g(y)=Ig(C)(xy)g(\bm{x})-g(\bm{y})=\bm{I_{\mathnormal{g}}}(\bm{C})(\bm{x}-\bm{y})を満たすCIn\bm{C}\in I^{n}が存在するから

g(x)g(y)Ig(C)opxysupXInIg(X)opxy \begin{aligned} \lVert g(\bm{x})-g(\bm{y})\rVert &\leq \lVert\bm{I_{\mathnormal{g}}}(\bm{C})\rVert_{\mathrm{op}}\lVert\bm{x}-\bm{y}\rVert\\ &\leq \sup_{\bm{X}\in I^{n}}\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}}\lVert\bm{x}-\bm{y}\rVert \end{aligned}

である(op\lVert\mathord{\,\cdot\,}\rVert_{\mathrm{op}}は作用素ノルム).ffC1C^1級なので,X\bm{X}の関数Ig(X)op\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}}は有界閉集合InRn×nI^{n}\subseteq\mathbb{R}^{n\times n}上で最大値をとる.よって,Ig(X)op<1\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}}\lt 1XIn\bm{X}\in I^{n})を証明できれば,ggが縮小写像といえる.

XIn\bm{X}\in I^{n}を任意にとる.新たにノルムI\lVert\mathord{\,\cdot\,}\rVert_I

(x1x2xn)TI=max1knxkϕk(ϕk=diamIk) \lVert(\begin{matrix}x_{1} & x_{2} & \cdots & x_{n}\end{matrix})^{\mathsf{T}}\rVert_{I} = \max_{1\leq k\leq n}\frac{\lvert x_{k}\rvert}{\phi_{k}}\quad(\phi_{k}=\operatorname{diam}I_{k})

で定義し,ベクトルK(X,y)K(\bm{X},\bm{y})の第ii成分をKi(y)K_i(\bm{y})とおく.

Ig(X)=IAIf(X),K(X,y)=Ig(X)y+cAf(c)Ig(X)c \begin{gathered} \bm{I_{\mathnormal{g}}}(\bm{X}) = \bm{I}-\bm{A}\bm{I_{\mathnormal{f}}}(\bm{X}),\\ K(\bm{X},\bm{y}) = \bm{I_{\mathnormal{g}}}(\bm{X})\bm{y} +\bm{c}-\bm{A}f(\bm{c})-\bm{I_{\mathnormal{g}}}(\bm{X})\bm{c} \end{gathered}

より,Ig(X)\bm{I_{\mathnormal{g}}}(\bm{X})の第ii行ベクトルをgiT\bm{g_{\mathnormal{i}}^{\mathsf{T}}}とおくと

diamKi(I)=diam{giTyyI}=sup{giT(y1y2)y1,y2I}=sup{giT(δ1δ2δn)Tδkϕk}=sup{giTδδI1} \begin{aligned} \operatorname{diam}K_{i}(I) &= \operatorname{diam}\lbrace\bm{g_{\mathnormal{i}}^{\mathsf{T}}}\bm{y}\mid\bm{y}\in I\rbrace\\ &= \sup\lbrace\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}(\bm{y_{\mathrm{1}}}-\bm{y_{\mathrm{2}}})\rvert\mid\bm{y_{\mathrm{1}}},\bm{y_{\mathrm{2}}}\in I\rbrace\\ &= \sup\lbrace\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}(\begin{matrix}\delta_{1} & \delta_{2} & \cdots & \delta_{n}\end{matrix})^{\mathsf{T}}\rvert\mid\lvert\delta_{k}\rvert\leq\phi_{k}\rbrace\\ &= \sup\lbrace\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}\bm{\delta}\rvert\mid\lVert\bm{\delta}\rVert_{I}\leq 1\rbrace \end{aligned}

だからdiamKi(I)=max{giTeeI1}\operatorname{diam}K_{i}(I)=\max\lbrace\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}\bm{e}\rvert\mid\lVert\bm{e}\rVert_{I}\leq 1\rbraceである.よって

max1indiamKi(I)ϕi=max1in(1ϕimaxeI1giTe)=maxeI1max1ingiTeϕi=maxeI1Ig(X)eI=Ig(X)op \begin{aligned} \max_{1\leq i\leq n}\frac{\operatorname{diam}K_{i}(I)}{\phi_{i}} &= \max_{1\leq i\leq n}\biggl(\frac{1}{\phi_{i}}\max_{\lVert\bm{e}\rVert_{I}\leq 1}\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}\bm{e}\rvert\biggr)\\ &= \max_{\lVert\bm{e}\rVert_{I}\leq 1}\max_{1\leq i\leq n}\frac{\lvert\bm{g_{\mathnormal{i}}^{\mathsf{T}}}\bm{e}\rvert}{\phi_{i}}\\ &= \max_{\lVert\bm{e}\rVert_{I}\leq 1}\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\bm{e}\rVert_{I}\\ &= \lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}} \end{aligned}

である.

一方,nn変数関数Ki(y)K_{i}(\bm{y})は有界閉区間II上の連続関数なので,II上で最大値と最小値に達する.そのため,仮定K(In×I)intIK(I^{n}\times I)\subseteq\operatorname{int}Iから

diamKi(I)<diamIi=ϕi,diamKi(I)ϕi<1 \operatorname{diam}K_{i}(I) \lt \operatorname{diam}I_{i} = \phi_{i}, \quad\frac{\operatorname{diam}K_{i}(I)}{\phi_{i}} \lt 1

である.よってIg(X)op<1\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}}\lt 1である.これでggが縮小写像であることが示せた.

最後に,A\bm{A}が正則であることを示す.A\bm{A}が正則でないと仮定する.このときAIf(X)\bm{A}\bm{I_{\mathnormal{f}}}(\bm{X})も正則でないから,連立1次方程式AIf(X)v=0\bm{A}\bm{I_{\mathnormal{f}}}(\bm{X})\bm{v}=\bm{0}は非自明な解v0\bm{v}\neq\bm{0}を持つ.するとIg(X)v=v\bm{I_{\mathnormal{g}}}(\bm{X})\bm{v}=\bm{v}であるが,これはIg(X)op<1\lVert\bm{I_{\mathnormal{g}}}(\bm{X})\rVert_{\mathrm{op}}\lt 1に反する.

参考文献

  1. Krawczyk, Robert. Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehlerschranken: Newton-algorithms for evaluation of roots with error bounds. Computing. 1969, vol. 4, p. 187-201.
  2. 大石進一ほか. 精度保証付き数値計算の基礎. コロナ社, 2018, 311p.