本稿では,非線形方程式の解を精度保証つき数値計算で求めるのによく使われる,クラフチック法(Krawczyk method)を証明する.なお,本稿では以下の記法を用いる.
次の記法は独自のものなので,注意されたい.ベクトル値関数f(x)=(f1(x)f2(x)⋯fn(x))T(x=(x1x2⋯xn)T)に対して,If(X)をIf(X)=((∇f1)x1(∇f2)x2⋯(∇fn)xn)T(X=(x1x2⋯xn))で定義する.x1=x2=⋯=xn=xのとき,If(X)はf(x)のヤコビ行列である.
I=[a,b]⊆Rnを内部が空でない有界閉区間とする.また,関数f:I→RnはIで連続,intIで偏微分可能とする.このとき,行列C∈int(I)nが存在してf(b)−f(a)=If(C)(b−a)を満たす.
ベクトルf(x)の第i成分をfi(x)とおく.仮定から,関数gi(t)=fi(a+t(b−a))は閉区間[0,1]上で連続,開区間(0,1)上で微分可能である.よって,平均値の定理よりgi(1)−gi(0)=gi′(θi)を満たすθi∈(0,1)が存在する.ci=a+θi(b−a)とおくとfi(b)−fi(a)=(∇fi)ciT(b−a)なので,C=(c1c2⋯cn)とおくとf(b)−f(a)=If(C)(b−a)である.
I=I1×I2×⋯×In⊆Rnを内部が空でない有界閉区間,cをその中心とする.また,Rn値関数fはIを含むある開区間上で定義され,C1級であるとする.仮に,あるn次正方行列Aが存在し,関数,K(X,y)=c−Af(c)+(I−AIf(X))(y−c)(X∈In,y∈I)が条件K[In×I]⊆intIを満たすのであれば,I上にfの零点がただ一つ存在する.
仮定が成り立つとき,関数g(x)=x−Af(x)(x∈I)は縮小写像かつ,Aは正則であることを示す.これが示せれば,バナッハの不動点定理からx∗−Af(x∗)=x∗を満たすx∗∈Iがただ一つ存在するので,定理が示せたことになる.
まずg[I]⊆Iを示す.任意にx∈Iをとる.平均値の定理より,f(x)−f(c)=If(C)(x−c)を満たすC∈Inが存在する.g(x)=x−A(f(x)−f(c))−Af(c)=x−AIf(C)(x−c)−Af(c)=c−Af(c)+(I−AIf(C))(x−c)なのでg(x)=K(C,x)∈intIである.これでg[I]⊆Iが示せた.
次に,gが縮小写像であることを示す.任意にx,y∈Iをとる.g(x)−g(y)=Ig(C)(x−y)を満たすC∈Inが存在するから‖g(x)−g(y)‖≤‖Ig(C)‖op‖x−y‖≤supX∈In‖Ig(X)‖op‖x−y‖である(‖⋅‖opは作用素ノルム).fがC1級なので,Xの関数‖Ig(X)‖opは有界閉集合In⊆Rn×n上で最大値をとる.よって,‖Ig(X)‖op<1(X∈In)を証明できれば,gが縮小写像といえる.
X∈Inを任意にとる.新たにノルム‖⋅‖Iを‖(x1x2⋯xn)T‖I=max1≤k≤n|xk|ϕk(ϕk=diamIk)で定義し,ベクトルK(X,y)の第i成分をKi(y)とおく.Ig(X)=I−AIf(X),K(X,y)=Ig(X)y+c−Af(c)−Ig(X)cより,Ig(X)の第i行ベクトルをgiTとおくとdiamKi[I]=diam{giTy∣y∈I}=sup{|giT(y1−y2)|∣y1,y2∈I}=sup{|giT(δ1δ2⋯δk⋯δn)T|∣|δk|≤ϕk}=sup{|giTδ|∣‖δ‖I≤1}だからdiamKi[I]=max{|giTe|∣‖e‖I≤1}である.よってmax1≤i≤ndiamKi[I]ϕi=max1≤i≤n(1ϕimax‖e‖I≤1|giTe|)=max‖e‖I≤1max1≤i≤n|giTe|ϕi=max‖e‖I≤1‖Ig(X)e‖I=‖Ig(X)‖opである.
一方,n変数関数Ki(y)は有界閉区間I上の連続関数なので,I上で最大値と最小値に達する.そのため,仮定K[In×I]⊆intIからdiamKi[I]<diamIi=ϕi,diamKi[I]ϕi<1である.よって‖Ig(X)‖op<1である.これでgが縮小写像であることが示せた.
最後に,Aが正則であることを示す.Aが正則でないと仮定する.このときAIf(X)も正則でないから,連立1次方程式AIf(X)v=0は非自明な解v≠0を持つ.するとIg(X)v=vであるが,これは‖Ig(X)‖op<1に反する.
バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。