1 一歩と二半歩
命題 1.1. d , p ∈ N ≥ 1 d,p\in\NN d , p ∈ N ≥ 1 とし、R d \R^d R d にノルム∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ を固定する。Ω ⊆ R × R d \Omega\subseteq\R\times\R^d Ω ⊆ R × R d を開集合、f : Ω → R d f\colon\Omega\to\R^d f : Ω → R d を連続写像、Φ : D → R d \Phi\colon D\to\R^d Φ : D → R d をf f f に対する増分関数、Ψ h ( t , u ) = u + h Φ ( t , u , h ) \Psi_h(t,u)=u+h\Phi(t,u,h) Ψ h ( t , u ) = u + h Φ ( t , u , h ) をその一歩写像とする。t 0 < T t_0<T t 0 < T とし、J ⊇ [ t 0 , T ] J\supseteq[t_0,T] J ⊇ [ t 0 , T ] を開区間、y : J → R d y\colon J\to\R^d y : J → R d を、任意のτ ∈ J \tau\in J τ ∈ J について( τ , y ( τ ) ) ∈ Ω (\tau,y(\tau))\in\Omega ( τ , y ( τ )) ∈ Ω とy ′ ( τ ) = f ( τ , y ( τ ) ) y'(\tau)=f(\tau,y(\tau)) y ′ ( τ ) = f ( τ , y ( τ )) を満たすC 1 C^1 C 1 級写像とし、δ y \delta_y δ y をy y y の局所打切り誤差とする。H 0 , ρ > 0 H_0,\rho>0 H 0 , ρ > 0 、C 1 , L c , Λ ≥ 0 C_1,L_c,\Lambda\ge0 C 1 , L c , Λ ≥ 0 と写像c : [ t 0 , T ] → R d c\colon[t_0,T]\to\R^d c : [ t 0 , T ] → R d が次を満たすとする。任意のs , t ∈ [ t 0 , T ] s,t\in[t_0,T] s , t ∈ [ t 0 , T ] について∥ c ( s ) − c ( t ) ∥ ≤ L c ∣ s − t ∣ \|c(s)-c(t)\|\le L_c|s-t| ∥ c ( s ) − c ( t ) ∥ ≤ L c ∣ s − t ∣ である。t ∈ [ t 0 , T ) t\in[t_0,T) t ∈ [ t 0 , T ) と0 < h ≤ min { H 0 , T − t } 0<h\le\min\{H_0,T-t\} 0 < h ≤ min { H 0 , T − t } を満たす任意のt , h t,h t , h と、∥ u − y ( t ) ∥ ≤ ρ \|u-y(t)\|\le\rho ∥ u − y ( t ) ∥ ≤ ρ を満たす任意のu ∈ R d u\in\R^d u ∈ R d について、( t , u , h ) ∈ D (t,u,h)\in D ( t , u , h ) ∈ D であり、
∥ δ y ( t , h ) − c ( t ) h p + 1 ∥ ≤ C 1 h p + 2 , ∥ Φ ( t , u , h ) − Φ ( t , y ( t ) , h ) ∥ ≤ Λ ∥ u − y ( t ) ∥ \bigl\|\delta_y(t,h)-c(t)h^{p+1}\bigr\|\le C_1h^{p+2},\qquad\bigl\|\Phi(t,u,h)-\Phi(t,y(t),h)\bigr\|\le\Lambda\|u-y(t)\| δ y ( t , h ) − c ( t ) h p + 1 ≤ C 1 h p + 2 , Φ ( t , u , h ) − Φ ( t , y ( t ) , h ) ≤ Λ∥ u − y ( t ) ∥ が成り立つ。M c : = max s ∈ [ t 0 , T ] ∥ c ( s ) ∥ M_c:=\max_{s\in[t_0,T]}\|c(s)\| M c := max s ∈ [ t 0 , T ] ∥ c ( s ) ∥ 、
C 2 : = 2 − p − 2 ( 2 C 1 + L c + Λ ( M c + 1 2 C 1 H 0 ) ) C_2:=2^{-p-2}\Bigl(2C_1+L_c+\Lambda\bigl(M_c+\tfrac12C_1H_0\bigr)\Bigr) C 2 := 2 − p − 2 ( 2 C 1 + L c + Λ ( M c + 2 1 C 1 H 0 ) ) と置き、H 1 ∈ ( 0 , H 0 ] H_1\in(0,H_0] H 1 ∈ ( 0 , H 0 ] を( M c + 1 2 C 1 H 1 ) ( H 1 / 2 ) p + 1 ≤ ρ \bigl(M_c+\frac12C_1H_1\bigr)(H_1/2)^{p+1}\le\rho ( M c + 2 1 C 1 H 1 ) ( H 1 /2 ) p + 1 ≤ ρ を満たす数とする。t ∈ [ t 0 , T ) t\in[t_0,T) t ∈ [ t 0 , T ) と0 < h ≤ min { H 1 , T − t } 0<h\le\min\{H_1,T-t\} 0 < h ≤ min { H 1 , T − t } に対して
Y 1 : = Ψ h ( t , y ( t ) ) , Z : = Ψ h / 2 ( t , y ( t ) ) , Y 2 : = Ψ h / 2 ( t + h 2 , Z ) Y_1:=\Psi_h(t,y(t)),\qquad Z:=\Psi_{h/2}(t,y(t)),\qquad Y_2:=\Psi_{h/2}\bigl(t+\tfrac h2,Z\bigr) Y 1 := Ψ h ( t , y ( t )) , Z := Ψ h /2 ( t , y ( t )) , Y 2 := Ψ h /2 ( t + 2 h , Z ) と置く。
Y 1 , Z , Y 2 Y_1,Z,Y_2 Y 1 , Z , Y 2 はすべて定まり、∥ y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 ∥ ≤ C 2 h p + 2 \bigl\|y(t+h)-Y_2-2^{-p}c(t)h^{p+1}\bigr\|\le C_2h^{p+2} y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 ≤ C 2 h p + 2 である。
∥ Y 2 − Y 1 − ( 1 − 2 − p ) c ( t ) h p + 1 ∥ ≤ ( C 1 + C 2 ) h p + 2 \bigl\|Y_2-Y_1-(1-2^{-p})c(t)h^{p+1}\bigr\|\le(C_1+C_2)h^{p+2} Y 2 − Y 1 − ( 1 − 2 − p ) c ( t ) h p + 1 ≤ ( C 1 + C 2 ) h p + 2 である。
e ^ : = ( Y 2 − Y 1 ) / ( 2 p − 1 ) \hat e:=(Y_2-Y_1)/(2^p-1) e ^ := ( Y 2 − Y 1 ) / ( 2 p − 1 ) と置くと、
∥ y ( t + h ) − Y 2 − e ^ ∥ ≤ 2 p C 2 + C 1 2 p − 1 h p + 2 \bigl\|y(t+h)-Y_2-\hat e\bigr\|\le\frac{2^pC_2+C_1}{2^p-1}h^{p+2} y ( t + h ) − Y 2 − e ^ ≤ 2 p − 1 2 p C 2 + C 1 h p + 2
である。
c ( t ) ≠ 0 c(t)\ne0 c ( t ) = 0 かつC 2 h ≤ 2 − p − 1 ∥ c ( t ) ∥ C_2h\le2^{-p-1}\|c(t)\| C 2 h ≤ 2 − p − 1 ∥ c ( t ) ∥ ならば、y ( t + h ) ≠ Y 2 y(t+h)\ne Y_2 y ( t + h ) = Y 2 であり、
∥ e ^ − ( y ( t + h ) − Y 2 ) ∥ ∥ y ( t + h ) − Y 2 ∥ ≤ 2 p + 1 ( 2 p C 2 + C 1 ) ( 2 p − 1 ) ∥ c ( t ) ∥ h \frac{\|\hat e-(y(t+h)-Y_2)\|}{\|y(t+h)-Y_2\|}\le\frac{2^{p+1}(2^pC_2+C_1)}{(2^p-1)\|c(t)\|}h ∥ y ( t + h ) − Y 2 ∥ ∥ e ^ − ( y ( t + h ) − Y 2 ) ∥ ≤ ( 2 p − 1 ) ∥ c ( t ) ∥ 2 p + 1 ( 2 p C 2 + C 1 ) h
である。
証明. (1) を示す。t ′ : = t + h 2 t':=t+\frac h2 t ′ := t + 2 h と置く。t ′ ∈ [ t 0 , T ) t'\in[t_0,T) t ′ ∈ [ t 0 , T ) であり、h ≤ T − t h\le T-t h ≤ T − t からh 2 ≤ min { H 0 , T − t ′ } \frac h2\le\min\{H_0,T-t'\} 2 h ≤ min { H 0 , T − t ′ } である。仮定を( t , h ) (t,h) ( t , h ) と( t , h 2 ) (t,\frac h2) ( t , 2 h ) にu = y ( t ) u=y(t) u = y ( t ) として用いると、Y 1 Y_1 Y 1 とZ Z Z は定まり、y ( t ′ ) − Z = δ y ( t , h 2 ) y(t')-Z=\delta_y(t,\frac h2) y ( t ′ ) − Z = δ y ( t , 2 h ) である。h ≤ H 1 h\le H_1 h ≤ H 1 により
∥ δ y ( t , h 2 ) ∥ ≤ ∥ c ( t ) ∥ ( h 2 ) p + 1 + C 1 ( h 2 ) p + 2 ≤ ( M c + 1 2 C 1 H 1 ) ( H 1 2 ) p + 1 ≤ ρ \bigl\|\delta_y(t,\tfrac h2)\bigr\|\le\|c(t)\|(\tfrac h2)^{p+1}+C_1(\tfrac h2)^{p+2}\le\bigl(M_c+\tfrac12C_1H_1\bigr)(\tfrac{H_1}2)^{p+1}\le\rho δ y ( t , 2 h ) ≤ ∥ c ( t ) ∥ ( 2 h ) p + 1 + C 1 ( 2 h ) p + 2 ≤ ( M c + 2 1 C 1 H 1 ) ( 2 H 1 ) p + 1 ≤ ρ であるから、仮定を( t ′ , h 2 ) (t',\frac h2) ( t ′ , 2 h ) とu = Z u=Z u = Z に用いると、Y 2 Y_2 Y 2 は定まり、∥ Φ ( t ′ , Z , h 2 ) − Φ ( t ′ , y ( t ′ ) , h 2 ) ∥ ≤ Λ ∥ δ y ( t , h 2 ) ∥ \|\Phi(t',Z,\frac h2)-\Phi(t',y(t'),\frac h2)\|\le\Lambda\|\delta_y(t,\frac h2)\| ∥Φ ( t ′ , Z , 2 h ) − Φ ( t ′ , y ( t ′ ) , 2 h ) ∥ ≤ Λ∥ δ y ( t , 2 h ) ∥ である。y ( t + h ) = Ψ h / 2 ( t ′ , y ( t ′ ) ) + δ y ( t ′ , h 2 ) y(t+h)=\Psi_{h/2}(t',y(t'))+\delta_y(t',\frac h2) y ( t + h ) = Ψ h /2 ( t ′ , y ( t ′ )) + δ y ( t ′ , 2 h ) と
Ψ h / 2 ( t ′ , y ( t ′ ) ) − Y 2 = y ( t ′ ) − Z + h 2 ( Φ ( t ′ , y ( t ′ ) , h 2 ) − Φ ( t ′ , Z , h 2 ) ) \Psi_{h/2}(t',y(t'))-Y_2=y(t')-Z+\tfrac h2\bigl(\Phi(t',y(t'),\tfrac h2)-\Phi(t',Z,\tfrac h2)\bigr) Ψ h /2 ( t ′ , y ( t ′ )) − Y 2 = y ( t ′ ) − Z + 2 h ( Φ ( t ′ , y ( t ′ ) , 2 h ) − Φ ( t ′ , Z , 2 h ) ) から、R : = h 2 ( Φ ( t ′ , y ( t ′ ) , h 2 ) − Φ ( t ′ , Z , h 2 ) ) R:=\frac h2\bigl(\Phi(t',y(t'),\frac h2)-\Phi(t',Z,\frac h2)\bigr) R := 2 h ( Φ ( t ′ , y ( t ′ ) , 2 h ) − Φ ( t ′ , Z , 2 h ) ) と置くと
y ( t + h ) − Y 2 = δ y ( t ′ , h 2 ) + δ y ( t , h 2 ) + R , ∥ R ∥ ≤ h 2 Λ ∥ δ y ( t , h 2 ) ∥ y(t+h)-Y_2=\delta_y(t',\tfrac h2)+\delta_y(t,\tfrac h2)+R,\qquad\|R\|\le\tfrac h2\Lambda\bigl\|\delta_y(t,\tfrac h2)\bigr\| y ( t + h ) − Y 2 = δ y ( t ′ , 2 h ) + δ y ( t , 2 h ) + R , ∥ R ∥ ≤ 2 h Λ δ y ( t , 2 h ) である。2 c ( t ) ( h 2 ) p + 1 = 2 − p c ( t ) h p + 1 2c(t)(\frac h2)^{p+1}=2^{-p}c(t)h^{p+1} 2 c ( t ) ( 2 h ) p + 1 = 2 − p c ( t ) h p + 1 であるから
y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 = ( δ y ( t ′ , h 2 ) − c ( t ′ ) ( h 2 ) p + 1 ) + ( c ( t ′ ) − c ( t ) ) ( h 2 ) p + 1 + ( δ y ( t , h 2 ) − c ( t ) ( h 2 ) p + 1 ) + R y(t+h)-Y_2-2^{-p}c(t)h^{p+1}=\bigl(\delta_y(t',\tfrac h2)-c(t')(\tfrac h2)^{p+1}\bigr)+\bigl(c(t')-c(t)\bigr)(\tfrac h2)^{p+1}+\bigl(\delta_y(t,\tfrac h2)-c(t)(\tfrac h2)^{p+1}\bigr)+R y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 = ( δ y ( t ′ , 2 h ) − c ( t ′ ) ( 2 h ) p + 1 ) + ( c ( t ′ ) − c ( t ) ) ( 2 h ) p + 1 + ( δ y ( t , 2 h ) − c ( t ) ( 2 h ) p + 1 ) + R であり、右辺の四つの項のノルムは、仮定とh ≤ H 0 h\le H_0 h ≤ H 0 により、それぞれC 1 ( h 2 ) p + 2 C_1(\frac h2)^{p+2} C 1 ( 2 h ) p + 2 、L c ( h 2 ) p + 2 L_c(\frac h2)^{p+2} L c ( 2 h ) p + 2 、C 1 ( h 2 ) p + 2 C_1(\frac h2)^{p+2} C 1 ( 2 h ) p + 2 、Λ ( M c + 1 2 C 1 H 0 ) ( h 2 ) p + 2 \Lambda\bigl(M_c+\frac12C_1H_0\bigr)(\frac h2)^{p+2} Λ ( M c + 2 1 C 1 H 0 ) ( 2 h ) p + 2 以下である。この四つの上界の和はC 2 h p + 2 C_2h^{p+2} C 2 h p + 2 である。
(2) を示す。Y 2 − Y 1 = δ y ( t , h ) − ( y ( t + h ) − Y 2 ) Y_2-Y_1=\delta_y(t,h)-\bigl(y(t+h)-Y_2\bigr) Y 2 − Y 1 = δ y ( t , h ) − ( y ( t + h ) − Y 2 ) であるから
Y 2 − Y 1 − ( 1 − 2 − p ) c ( t ) h p + 1 = ( δ y ( t , h ) − c ( t ) h p + 1 ) − ( y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 ) Y_2-Y_1-(1-2^{-p})c(t)h^{p+1}=\bigl(\delta_y(t,h)-c(t)h^{p+1}\bigr)-\bigl(y(t+h)-Y_2-2^{-p}c(t)h^{p+1}\bigr) Y 2 − Y 1 − ( 1 − 2 − p ) c ( t ) h p + 1 = ( δ y ( t , h ) − c ( t ) h p + 1 ) − ( y ( t + h ) − Y 2 − 2 − p c ( t ) h p + 1 ) であり、仮定と(1) により右辺のノルムは( C 1 + C 2 ) h p + 2 (C_1+C_2)h^{p+2} ( C 1 + C 2 ) h p + 2 以下である。
(3) を示す。D 2 : = y ( t + h ) − Y 2 D_2:=y(t+h)-Y_2 D 2 := y ( t + h ) − Y 2 と置くとe ^ = ( δ y ( t , h ) − D 2 ) / ( 2 p − 1 ) \hat e=(\delta_y(t,h)-D_2)/(2^p-1) e ^ = ( δ y ( t , h ) − D 2 ) / ( 2 p − 1 ) であるから
D 2 − e ^ = 2 p D 2 − δ y ( t , h ) 2 p − 1 = 2 p ( D 2 − 2 − p c ( t ) h p + 1 ) − ( δ y ( t , h ) − c ( t ) h p + 1 ) 2 p − 1 D_2-\hat e=\frac{2^pD_2-\delta_y(t,h)}{2^p-1}=\frac{2^p\bigl(D_2-2^{-p}c(t)h^{p+1}\bigr)-\bigl(\delta_y(t,h)-c(t)h^{p+1}\bigr)}{2^p-1} D 2 − e ^ = 2 p − 1 2 p D 2 − δ y ( t , h ) = 2 p − 1 2 p ( D 2 − 2 − p c ( t ) h p + 1 ) − ( δ y ( t , h ) − c ( t ) h p + 1 ) であり、(1) と仮定により分子のノルムは( 2 p C 2 + C 1 ) h p + 2 (2^pC_2+C_1)h^{p+2} ( 2 p C 2 + C 1 ) h p + 2 以下である。
(4) を示す。(1) とC 2 h ≤ 2 − p − 1 ∥ c ( t ) ∥ C_2h\le2^{-p-1}\|c(t)\| C 2 h ≤ 2 − p − 1 ∥ c ( t ) ∥ により
∥ D 2 ∥ ≥ 2 − p ∥ c ( t ) ∥ h p + 1 − C 2 h p + 2 ≥ 2 − p − 1 ∥ c ( t ) ∥ h p + 1 > 0 \|D_2\|\ge2^{-p}\|c(t)\|h^{p+1}-C_2h^{p+2}\ge2^{-p-1}\|c(t)\|h^{p+1}>0 ∥ D 2 ∥ ≥ 2 − p ∥ c ( t ) ∥ h p + 1 − C 2 h p + 2 ≥ 2 − p − 1 ∥ c ( t ) ∥ h p + 1 > 0 である。(3) の右辺をこの下界で割ると主張の評価を得る。▨
例 1.2. d = 1 d=1 d = 1 、Ω = R 2 \Omega=\R^2 Ω = R 2 とし、前進 Euler 法の一歩写像Ψ h ( t , u ) = u + h f ( t , u ) \Psi_h(t,u)=u+hf(t,u) Ψ h ( t , u ) = u + h f ( t , u ) に命題 1.1 の記号Y 1 , Z , Y 2 , e ^ Y_1,Z,Y_2,\hat e Y 1 , Z , Y 2 , e ^ をp = 1 p=1 p = 1 として用いる。このときe ^ = Y 2 − Y 1 \hat e=Y_2-Y_1 e ^ = Y 2 − Y 1 である。
f ( t , u ) = u f(t,u)=u f ( t , u ) = u 、y ( τ ) = e τ y(\tau)=e^\tau y ( τ ) = e τ 、t = 0 t=0 t = 0 とする。Y 1 = 1 + h Y_1=1+h Y 1 = 1 + h 、Z = 1 + h 2 Z=1+\frac h2 Z = 1 + 2 h 、Y 2 = ( 1 + h 2 ) 2 Y_2=(1+\frac h2)^2 Y 2 = ( 1 + 2 h ) 2 であるからe ^ = h 2 / 4 \hat e=h^2/4 e ^ = h 2 /4 であり、
y ( h ) − Y 2 − e ^ = e h − 1 − h − h 2 2 = ∑ j ≥ 3 h j j ! > 0 ( h > 0 ) y(h)-Y_2-\hat e=e^h-1-h-\frac{h^2}2=\sum_{j\ge3}\frac{h^j}{j!}>0\qquad(h>0) y ( h ) − Y 2 − e ^ = e h − 1 − h − 2 h 2 = j ≥ 3 ∑ j ! h j > 0 ( h > 0 )
である。h = 0.1 h=0.1 h = 0.1 ではe ^ = 0.0025 \hat e=0.0025 e ^ = 0.0025 、y ( h ) − Y 2 = e 0.1 − 1.1025 = 0.002670918075 … y(h)-Y_2=e^{0.1}-1.1025=0.002670918075\ldots y ( h ) − Y 2 = e 0.1 − 1.1025 = 0.002670918075 … である。絶対許容誤差0.0026 0.0026 0.0026 と比べると、e ^ / 0.0026 = 0.9615 … ≤ 1 \hat e/0.0026=0.9615\ldots\le1 e ^ /0.0026 = 0.9615 … ≤ 1 である一方、y ( h ) − Y 2 > 0.0026 y(h)-Y_2>0.0026 y ( h ) − Y 2 > 0.0026 である。
f ( t , u ) = t 2 f(t,u)=t^2 f ( t , u ) = t 2 、y ( τ ) = y ( 0 ) + τ 3 / 3 y(\tau)=y(0)+\tau^3/3 y ( τ ) = y ( 0 ) + τ 3 /3 とする。D = Ω × ( 0 , ∞ ) D=\Omega\times(0,\infty) D = Ω × ( 0 , ∞ ) 、Φ ( t , u , h ) = t 2 \Phi(t,u,h)=t^2 Φ ( t , u , h ) = t 2 であり、δ y ( t , h ) = ( ( t + h ) 3 − t 3 ) / 3 − h t 2 = t h 2 + h 3 / 3 \delta_y(t,h)=\bigl((t+h)^3-t^3\bigr)/3-ht^2=th^2+h^3/3 δ y ( t , h ) = ( ( t + h ) 3 − t 3 ) /3 − h t 2 = t h 2 + h 3 /3 である。したがってt 0 ≤ 0 < T t_0\le0<T t 0 ≤ 0 < T を満たす任意のt 0 , T t_0,T t 0 , T と任意のH 0 , ρ > 0 H_0,\rho>0 H 0 , ρ > 0 について、c ( t ) = t c(t)=t c ( t ) = t 、C 1 = 1 3 C_1=\frac13 C 1 = 3 1 、L c = 1 L_c=1 L c = 1 、Λ = 0 \Lambda=0 Λ = 0 が命題 1.1 の仮定を満たし、C 2 = 2 − 3 ( 2 3 + 1 ) = 5 24 C_2=2^{-3}(\frac23+1)=\frac5{24} C 2 = 2 − 3 ( 3 2 + 1 ) = 24 5 である。t = 0 t=0 t = 0 ではc ( 0 ) = 0 c(0)=0 c ( 0 ) = 0 であり、Y 1 = Z = y ( 0 ) Y_1=Z=y(0) Y 1 = Z = y ( 0 ) 、Y 2 = y ( 0 ) + h 2 ( h 2 ) 2 Y_2=y(0)+\frac h2(\frac h2)^2 Y 2 = y ( 0 ) + 2 h ( 2 h ) 2 から
e ^ = h 3 8 , y ( h ) − Y 2 = h 3 3 − h 3 8 = 5 h 3 24 \hat e=\frac{h^3}8,\qquad y(h)-Y_2=\frac{h^3}3-\frac{h^3}8=\frac{5h^3}{24} e ^ = 8 h 3 , y ( h ) − Y 2 = 3 h 3 − 8 h 3 = 24 5 h 3
である。命題 1.1 (1) の評価は等号で成り立つ。( e ^ − ( y ( h ) − Y 2 ) ) / ( y ( h ) − Y 2 ) = − 2 5 \bigl(\hat e-(y(h)-Y_2)\bigr)/(y(h)-Y_2)=-\frac25 ( e ^ − ( y ( h ) − Y 2 ) ) / ( y ( h ) − Y 2 ) = − 5 2 はh h h によらないから、c ( 0 ) = 0 c(0)=0 c ( 0 ) = 0 であるこの場合には命題 1.1 (4) の左辺はh → 0 h\to0 h → 0 で0 0 0 に近づかない。
f ( t , u ) = t ( 1 − 2 t ) f(t,u)=t(1-2t) f ( t , u ) = t ( 1 − 2 t ) 、y ( τ ) = y ( 0 ) + τ 2 / 2 − 2 τ 3 / 3 y(\tau)=y(0)+\tau^2/2-2\tau^3/3 y ( τ ) = y ( 0 ) + τ 2 /2 − 2 τ 3 /3 、t = 0 t=0 t = 0 、h = 1 h=1 h = 1 とする。f ( 0 , u ) = f ( 1 2 , u ) = 0 f(0,u)=f(\frac12,u)=0 f ( 0 , u ) = f ( 2 1 , u ) = 0 であるからY 1 = Z = Y 2 = y ( 0 ) Y_1=Z=Y_2=y(0) Y 1 = Z = Y 2 = y ( 0 ) であり、e ^ = 0 \hat e=0 e ^ = 0 である。一方y ( 1 ) − Y 2 = 1 2 − 2 3 = − 1 6 y(1)-Y_2=\frac12-\frac23=-\frac16 y ( 1 ) − Y 2 = 2 1 − 3 2 = − 6 1 である。
2 刻み制御
定義 2.1. d , p ∈ N ≥ 1 d,p\in\NN d , p ∈ N ≥ 1 、t 0 < T t_0<T t 0 < T 、u 0 ∈ R d u_0\in\R^d u 0 ∈ R d とする。集合D ^ ⊆ R × R d × ( 0 , ∞ ) \hat D\subseteq\R\times\R^d\times(0,\infty) D ^ ⊆ R × R d × ( 0 , ∞ ) と、( t , u , k ) ∈ D ^ (t,u,k)\in\hat D ( t , u , k ) ∈ D ^ に対してΨ ^ k ( t , u ) ∈ R d \hat\Psi_k(t,u)\in\R^d Ψ ^ k ( t , u ) ∈ R d とe ^ ( t , u , k ) ∈ R d \hat e(t,u,k)\in\R^d e ^ ( t , u , k ) ∈ R d を定める写像を取る。a 1 , … , a d > 0 a_1,\dots,a_d>0 a 1 , … , a d > 0 、r ≥ 0 r\ge0 r ≥ 0 、θ ∈ ( 0 , 1 ) \theta\in(0,1) θ ∈ ( 0 , 1 ) 、α min ∈ ( 0 , 1 ) \alpha_{\min}\in(0,1) α m i n ∈ ( 0 , 1 ) 、α max > 1 \alpha_{\max}>1 α m a x > 1 、h min > 0 h_{\min}>0 h m i n > 0 、h i n i t > 0 h_{\mathrm{init}}>0 h init > 0 とする。
u , v , e ∈ R d u,v,e\in\R^d u , v , e ∈ R d に対してs i : = a i + r max { ∣ u i ∣ , ∣ v i ∣ } s_i:=a_i+r\max\{|u_i|,|v_i|\} s i := a i + r max { ∣ u i ∣ , ∣ v i ∣ } (1 ≤ i ≤ d 1\le i\le d 1 ≤ i ≤ d )と置き、
E ( u , v , e ) : = max 1 ≤ i ≤ d ∣ e i ∣ s i E(u,v,e):=\max_{1\le i\le d}\frac{|e_i|}{s_i} E ( u , v , e ) := 1 ≤ i ≤ d max s i ∣ e i ∣
を 尺度付き誤差 (scaled error ) という。a i > 0 a_i>0 a i > 0 によりs i > 0 s_i>0 s i > 0 である。a i a_i a i を成分i i i の絶対許容誤差、r r r を相対許容誤差という。
E ≥ 0 E\ge0 E ≥ 0 に対して、E = 0 E=0 E = 0 ならばq ( E ) : = α max q(E):=\alpha_{\max} q ( E ) := α m a x 、E > 0 E>0 E > 0 ならば
q ( E ) : = min { α max , max { α min , θ E − 1 / ( p + 1 ) } } q(E):=\min\Bigl\{\alpha_{\max},\ \max\bigl\{\alpha_{\min},\ \theta E^{-1/(p+1)}\bigr\}\Bigr\} q ( E ) := min { α m a x , max { α m i n , θ E − 1/ ( p + 1 ) } }
と置く。
状態( t , u , h ) (t,u,h) ( t , u , h ) を( t 0 , u 0 , h i n i t ) (t_0,u_0,h_{\mathrm{init}}) ( t 0 , u 0 , h init ) で始め、次の規則を停止するまで繰り返す。t = T t=T t = T ならば停止する。t < T t<T t < T かつh < h min h<h_{\min} h < h m i n ならば停止する。それ以外の場合はk : = min { h , T − t } k:=\min\{h,T-t\} k := min { h , T − t } と置き、刻みk k k の 試行 (trial step ) を行う。( t , u , k ) ∉ D ^ (t,u,k)\notin\hat D ( t , u , k ) ∈ / D ^ ならば、( t , u ) (t,u) ( t , u ) を変えずにh h h をα min k \alpha_{\min}k α m i n k に替える。( t , u , k ) ∈ D ^ (t,u,k)\in\hat D ( t , u , k ) ∈ D ^ ならば、v : = Ψ ^ k ( t , u ) v:=\hat\Psi_k(t,u) v := Ψ ^ k ( t , u ) 、E : = E ( u , v , e ^ ( t , u , k ) ) E:=E(u,v,\hat e(t,u,k)) E := E ( u , v , e ^ ( t , u , k )) と置き、E ≤ 1 E\le1 E ≤ 1 ならば( t , u , h ) (t,u,h) ( t , u , h ) を( t + k , v , q ( E ) k ) (t+k,v,q(E)k) ( t + k , v , q ( E ) k ) に替え、E > 1 E>1 E > 1 ならば( t , u ) (t,u) ( t , u ) を変えずにh h h をq ( E ) k q(E)k q ( E ) k に替える。E ≤ 1 E\le1 E ≤ 1 により( t , u ) (t,u) ( t , u ) を替える試行を 受理 (acceptance ) といい、それ以外の試行を 棄却 (rejection ) という。この手続きを 刻み制御 (step-size control ) という。
Φ : D → R d \Phi\colon D\to\R^d Φ : D → R d を増分関数とし、Ψ h \Psi_h Ψ h をその一歩写像とする。( t , u , k ) ∈ D (t,u,k)\in D ( t , u , k ) ∈ D 、( t , u , k 2 ) ∈ D (t,u,\frac k2)\in D ( t , u , 2 k ) ∈ D 、( t + k 2 , Ψ k / 2 ( t , u ) , k 2 ) ∈ D (t+\frac k2,\Psi_{k/2}(t,u),\frac k2)\in D ( t + 2 k , Ψ k /2 ( t , u ) , 2 k ) ∈ D を満たす( t , u , k ) (t,u,k) ( t , u , k ) の全体をD ^ \hat D D ^ とし、
Ψ ^ k ( t , u ) : = Ψ k / 2 ( t + k 2 , Ψ k / 2 ( t , u ) ) , e ^ ( t , u , k ) : = Ψ ^ k ( t , u ) − Ψ k ( t , u ) 2 p − 1 \hat\Psi_k(t,u):=\Psi_{k/2}\bigl(t+\tfrac k2,\Psi_{k/2}(t,u)\bigr),\qquad\hat e(t,u,k):=\frac{\hat\Psi_k(t,u)-\Psi_k(t,u)}{2^p-1} Ψ ^ k ( t , u ) := Ψ k /2 ( t + 2 k , Ψ k /2 ( t , u ) ) , e ^ ( t , u , k ) := 2 p − 1 Ψ ^ k ( t , u ) − Ψ k ( t , u )
と置いた刻み制御を、Ψ \Psi Ψ の 二半歩による刻み制御 (step-size control by step doubling ) という。
命題 2.3. 定義 2.1 の刻み制御を実数の演算で実行すると、規則の繰返しは有限回で停止し、停止したときt = T t=T t = T またはh < h min h<h_{\min} h < h m i n である。受理された試行のうちt + k < T t+k<T t + k < T を満たすものの刻みk k k はh min h_{\min} h m i n 以上であり、受理の回数は⌈ ( T − t 0 ) / h min ⌉ \lceil(T-t_0)/h_{\min}\rceil ⌈( T − t 0 ) / h m i n ⌉ 以下である。
系 2.4. d ∈ N ≥ 1 d\in\NN d ∈ N ≥ 1 とし、R d \R^d R d にノルム∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ を固定する。Ω ⊆ R × R d \Omega\subseteq\R\times\R^d Ω ⊆ R × R d を開集合、f : Ω → R d f\colon\Omega\to\R^d f : Ω → R d を連続写像、Φ ^ : D ^ → R d \hat\Phi\colon\hat D\to\R^d Φ ^ : D ^ → R d をf f f に対する増分関数、Ψ ^ h \hat\Psi_h Ψ ^ h をその一歩写像とする。t 0 < T t_0<T t 0 < T とし、J ⊇ [ t 0 , T ] J\supseteq[t_0,T] J ⊇ [ t 0 , T ] を開区間、y : J → R d y\colon J\to\R^d y : J → R d を、任意のτ ∈ J \tau\in J τ ∈ J について( τ , y ( τ ) ) ∈ Ω (\tau,y(\tau))\in\Omega ( τ , y ( τ )) ∈ Ω とy ′ ( τ ) = f ( τ , y ( τ ) ) y'(\tau)=f(\tau,y(\tau)) y ′ ( τ ) = f ( τ , y ( τ )) を満たすC 1 C^1 C 1 級写像とする。写像e ^ : D ^ → R d \hat e\colon\hat D\to\R^d e ^ : D ^ → R d とΨ ^ \hat\Psi Ψ ^ による定義 2.1 の刻み制御がt = T t=T t = T で停止したとし、受理された試行の後の時刻をt 1 < ⋯ < t N = T t_1<\dots<t_N=T t 1 < ⋯ < t N = T 、状態をy 1 , … , y N y_1,\dots,y_N y 1 , … , y N とし、y 0 : = u 0 y_0:=u_0 y 0 := u 0 、h n : = t n + 1 − t n h_n:=t_{n+1}-t_n h n := t n + 1 − t n と置く。ρ ∈ ( 0 , ∞ ] \rho\in(0,\infty] ρ ∈ ( 0 , ∞ ] とΛ ≥ 0 \Lambda\ge0 Λ ≥ 0 を取り、各n ∈ { 0 , … , N − 1 } n\in\{0,\dots,N-1\} n ∈ { 0 , … , N − 1 } と、∥ u − y ( t n ) ∥ ≤ ρ \|u-y(t_n)\|\le\rho ∥ u − y ( t n ) ∥ ≤ ρ を満たす任意のu ∈ R d u\in\R^d u ∈ R d について
( t n , u , h n ) ∈ D ^ , ∥ Ψ ^ h n ( t n , u ) − Ψ ^ h n ( t n , y ( t n ) ) ∥ ≤ ( 1 + Λ h n ) ∥ u − y ( t n ) ∥ (t_n,u,h_n)\in\hat D,\qquad\|\hat\Psi_{h_n}(t_n,u)-\hat\Psi_{h_n}(t_n,y(t_n))\|\le(1+\Lambda h_n)\|u-y(t_n)\| ( t n , u , h n ) ∈ D ^ , ∥ Ψ ^ h n ( t n , u ) − Ψ ^ h n ( t n , y ( t n )) ∥ ≤ ( 1 + Λ h n ) ∥ u − y ( t n ) ∥ が成り立つとする。d n : = y ( t n + 1 ) − Ψ ^ h n ( t n , y ( t n ) ) d_n:=y(t_{n+1})-\hat\Psi_{h_n}(t_n,y(t_n)) d n := y ( t n + 1 ) − Ψ ^ h n ( t n , y ( t n )) 、E n : = ∥ y n − y ( t n ) ∥ E_n:=\|y_n-y(t_n)\| E n := ∥ y n − y ( t n ) ∥ と置き、τ 0 , … , τ N − 1 ≥ 0 \tau_0,\dots,\tau_{N-1}\ge0 τ 0 , … , τ N − 1 ≥ 0 が∥ d n ∥ ≤ τ n \|d_n\|\le\tau_n ∥ d n ∥ ≤ τ n を満たすとする。
e Λ ( T − t 0 ) ( E 0 + ∑ j = 0 N − 1 τ j ) ≤ ρ e^{\Lambda(T-t_0)}\bigl(E_0+\sum_{j=0}^{N-1}\tau_j\bigr)\le\rho e Λ ( T − t 0 ) ( E 0 + ∑ j = 0 N − 1 τ j ) ≤ ρ ならば、0 ≤ n ≤ N 0\le n\le N 0 ≤ n ≤ N についてE n ≤ e Λ ( t n − t 0 ) ( E 0 + ∑ j = 0 n − 1 τ j ) E_n\le e^{\Lambda(t_n-t_0)}\bigl(E_0+\sum_{j=0}^{n-1}\tau_j\bigr) E n ≤ e Λ ( t n − t 0 ) ( E 0 + ∑ j = 0 n − 1 τ j ) である。
ε ≥ 0 \varepsilon\ge0 ε ≥ 0 が0 ≤ j < N 0\le j<N 0 ≤ j < N についてτ j ≤ ε h j \tau_j\le\varepsilon h_j τ j ≤ ε h j を満たし、φ Λ \varphi_\Lambda φ Λ を§E20.28 補題 1.2 (3) の関数としてe Λ ( T − t 0 ) E 0 + ε φ Λ ( T − t 0 ) ≤ ρ e^{\Lambda(T-t_0)}E_0+\varepsilon\varphi_\Lambda(T-t_0)\le\rho e Λ ( T − t 0 ) E 0 + ε φ Λ ( T − t 0 ) ≤ ρ ならば、0 ≤ n ≤ N 0\le n\le N 0 ≤ n ≤ N についてE n ≤ e Λ ( t n − t 0 ) E 0 + ε φ Λ ( t n − t 0 ) E_n\le e^{\Lambda(t_n-t_0)}E_0+\varepsilon\varphi_\Lambda(t_n-t_0) E n ≤ e Λ ( t n − t 0 ) E 0 + ε φ Λ ( t n − t 0 ) である。
証明. 棄却は( t , u ) (t,u) ( t , u ) を変えず、受理は( t , u ) (t,u) ( t , u ) を( t + k , Ψ ^ k ( t , u ) ) (t+k,\hat\Psi_k(t,u)) ( t + k , Ψ ^ k ( t , u )) に替えるから、0 ≤ n < N 0\le n<N 0 ≤ n < N についてy n + 1 = Ψ ^ h n ( t n , y n ) y_{n+1}=\hat\Psi_{h_n}(t_n,y_n) y n + 1 = Ψ ^ h n ( t n , y n ) である。§E20.28 定理 1.3 のB n B_n B n をr j = 0 r_j=0 r j = 0 として
B n = e Λ ( t n − t 0 ) E 0 + ∑ j = 0 n − 1 e Λ ( t n − t j + 1 ) ∥ d j ∥ B_n=e^{\Lambda(t_n-t_0)}E_0+\sum_{j=0}^{n-1}e^{\Lambda(t_n-t_{j+1})}\|d_j\| B n = e Λ ( t n − t 0 ) E 0 + j = 0 ∑ n − 1 e Λ ( t n − t j + 1 ) ∥ d j ∥ と置く。
(1) を示す。0 ≤ t n − t j + 1 ≤ t n − t 0 0\le t_n-t_{j+1}\le t_n-t_0 0 ≤ t n − t j + 1 ≤ t n − t 0 と∥ d j ∥ ≤ τ j \|d_j\|\le\tau_j ∥ d j ∥ ≤ τ j によりB n ≤ e Λ ( t n − t 0 ) ( E 0 + ∑ j < n τ j ) B_n\le e^{\Lambda(t_n-t_0)}\bigl(E_0+\sum_{j<n}\tau_j\bigr) B n ≤ e Λ ( t n − t 0 ) ( E 0 + ∑ j < n τ j ) であり、特にB N ≤ ρ B_N\le\rho B N ≤ ρ である。§E20.28 定理 1.3 によりE n ≤ B n E_n\le B_n E n ≤ B n である。
(2) を示す。§E20.28 補題 1.2 (3) をa j : = ∥ d j ∥ ≤ ε h j a_j:=\|d_j\|\le\varepsilon h_j a j := ∥ d j ∥ ≤ ε h j 、α : = ε \alpha:=\varepsilon α := ε として適用するとB n ≤ e Λ ( t n − t 0 ) E 0 + ε φ Λ ( t n − t 0 ) B_n\le e^{\Lambda(t_n-t_0)}E_0+\varepsilon\varphi_\Lambda(t_n-t_0) B n ≤ e Λ ( t n − t 0 ) E 0 + ε φ Λ ( t n − t 0 ) であり、特にB N ≤ ρ B_N\le\rho B N ≤ ρ である。§E20.28 定理 1.3 によりE n ≤ B n E_n\le B_n E n ≤ B n である。▨
3 補間による軌道誤差
命題 3.1. d ∈ N ≥ 1 d\in\NN d ∈ N ≥ 1 とし、u ∈ R d u\in\R^d u ∈ R d に対して∥ u ∥ ∞ : = max 1 ≤ i ≤ d ∣ u i ∣ \|u\|_\infty:=\max_{1\le i\le d}|u_i| ∥ u ∥ ∞ := max 1 ≤ i ≤ d ∣ u i ∣ と置く。
c ∈ R c\in\R c ∈ R 、h > 0 h>0 h > 0 とし、y : [ c , c + h ] → R d y\colon[c,c+h]\to\R^d y : [ c , c + h ] → R d をC 4 C^4 C 4 級写像、ε y , ε d ≥ 0 \varepsilon_y,\varepsilon_d\ge0 ε y , ε d ≥ 0 とする。y ~ 1 , y ~ 2 , d ~ 1 , d ~ 2 ∈ R d \tilde y_1,\tilde y_2,\tilde d_1,\tilde d_2\in\R^d y ~ 1 , y ~ 2 , d ~ 1 , d ~ 2 ∈ R d が
∥ y ~ 1 − y ( c ) ∥ ∞ , ∥ y ~ 2 − y ( c + h ) ∥ ∞ ≤ ε y , ∥ d ~ 1 − y ′ ( c ) ∥ ∞ , ∥ d ~ 2 − y ′ ( c + h ) ∥ ∞ ≤ ε d \|\tilde y_1-y(c)\|_\infty,\ \|\tilde y_2-y(c+h)\|_\infty\le\varepsilon_y,\qquad\|\tilde d_1-y'(c)\|_\infty,\ \|\tilde d_2-y'(c+h)\|_\infty\le\varepsilon_d ∥ y ~ 1 − y ( c ) ∥ ∞ , ∥ y ~ 2 − y ( c + h ) ∥ ∞ ≤ ε y , ∥ d ~ 1 − y ′ ( c ) ∥ ∞ , ∥ d ~ 2 − y ′ ( c + h ) ∥ ∞ ≤ ε d
を満たすとする。各i i i についてH ~ i \tilde H_i H ~ i をデータ( c , y ~ 1 , i , d ~ 1 , i ) (c,\tilde y_{1,i},\tilde d_{1,i}) ( c , y ~ 1 , i , d ~ 1 , i ) 、( c + h , y ~ 2 , i , d ~ 2 , i ) (c+h,\tilde y_{2,i},\tilde d_{2,i}) ( c + h , y ~ 2 , i , d ~ 2 , i ) の Hermite 補間多項式とし、H ~ : = ( H ~ 1 , … , H ~ d ) \tilde H:=(\tilde H_1,\dots,\tilde H_d) H ~ := ( H ~ 1 , … , H ~ d ) 、M 4 : = max i max s ∈ [ c , c + h ] ∣ y i ( 4 ) ( s ) ∣ M_4:=\max_i\max_{s\in[c,c+h]}|y_i^{(4)}(s)| M 4 := max i max s ∈ [ c , c + h ] ∣ y i ( 4 ) ( s ) ∣ と置く。このとき
max x ∈ [ c , c + h ] ∥ H ~ ( x ) − y ( x ) ∥ ∞ ≤ ε y + h ε d 4 + M 4 h 4 384 \max_{x\in[c,c+h]}\|\tilde H(x)-y(x)\|_\infty\le\varepsilon_y+\frac{h\varepsilon_d}4+\frac{M_4h^4}{384} x ∈ [ c , c + h ] max ∥ H ~ ( x ) − y ( x ) ∥ ∞ ≤ ε y + 4 h ε d + 384 M 4 h 4
である。
Ω ⊆ R × R d \Omega\subseteq\R\times\R^d Ω ⊆ R × R d 、f : Ω → R d f\colon\Omega\to\R^d f : Ω → R d 、t ∈ R t\in\R t ∈ R 、u , u ~ , d ~ ∈ R d u,\tilde u,\tilde d\in\R^d u , u ~ , d ~ ∈ R d 、L , ε f ≥ 0 L,\varepsilon_f\ge0 L , ε f ≥ 0 とし、( t , u ) , ( t , u ~ ) ∈ Ω (t,u),(t,\tilde u)\in\Omega ( t , u ) , ( t , u ~ ) ∈ Ω 、∥ f ( t , u ~ ) − f ( t , u ) ∥ ∞ ≤ L ∥ u ~ − u ∥ ∞ \|f(t,\tilde u)-f(t,u)\|_\infty\le L\|\tilde u-u\|_\infty ∥ f ( t , u ~ ) − f ( t , u ) ∥ ∞ ≤ L ∥ u ~ − u ∥ ∞ 、∥ d ~ − f ( t , u ~ ) ∥ ∞ ≤ ε f \|\tilde d-f(t,\tilde u)\|_\infty\le\varepsilon_f ∥ d ~ − f ( t , u ~ ) ∥ ∞ ≤ ε f とする。y y y がt t t で微分可能でy ( t ) = u y(t)=u y ( t ) = u 、y ′ ( t ) = f ( t , u ) y'(t)=f(t,u) y ′ ( t ) = f ( t , u ) を満たすならば、∥ d ~ − y ′ ( t ) ∥ ∞ ≤ ε f + L ∥ u ~ − u ∥ ∞ \|\tilde d-y'(t)\|_\infty\le\varepsilon_f+L\|\tilde u-u\|_\infty ∥ d ~ − y ′ ( t ) ∥ ∞ ≤ ε f + L ∥ u ~ − u ∥ ∞ である。
t 0 < t 1 < ⋯ < t N t_0<t_1<\dots<t_N t 0 < t 1 < ⋯ < t N とy ~ n , d ~ n ∈ R d \tilde y_n,\tilde d_n\in\R^d y ~ n , d ~ n ∈ R d (0 ≤ n ≤ N 0\le n\le N 0 ≤ n ≤ N )を取る。各n < N n<N n < N について[ t n , t n + 1 ] [t_n,t_{n+1}] [ t n , t n + 1 ] 上のy ~ \tilde y y ~ を、データ( t n , y ~ n , d ~ n ) (t_n,\tilde y_n,\tilde d_n) ( t n , y ~ n , d ~ n ) 、( t n + 1 , y ~ n + 1 , d ~ n + 1 ) (t_{n+1},\tilde y_{n+1},\tilde d_{n+1}) ( t n + 1 , y ~ n + 1 , d ~ n + 1 ) の成分ごとの Hermite 補間多項式で定める。このときy ~ : [ t 0 , t N ] → R d \tilde y\colon[t_0,t_N]\to\R^d y ~ : [ t 0 , t N ] → R d は矛盾なく定まるC 1 C^1 C 1 級写像であり、y ~ ( t n ) = y ~ n \tilde y(t_n)=\tilde y_n y ~ ( t n ) = y ~ n 、y ~ ′ ( t n ) = d ~ n \tilde y'(t_n)=\tilde d_n y ~ ′ ( t n ) = d ~ n である。
証明. (1) を示す。各i i i についてH i H_i H i をc , c + h c,c+h c , c + h におけるy i y_i y i の Hermite 補間多項式とする。§E20.12 命題 7.4 (3) により[ c , c + h ] [c,c+h] [ c , c + h ] 上で∣ H ~ i − H i ∣ ≤ ε y + h ε d / 4 |\tilde H_i-H_i|\le\varepsilon_y+h\varepsilon_d/4 ∣ H ~ i − H i ∣ ≤ ε y + h ε d /4 であり、§E20.12 命題 7.4 (4) をy i y_i y i に適用すると[ c , c + h ] [c,c+h] [ c , c + h ] 上で∣ y i − H i ∣ ≤ M 4 h 4 / 384 |y_i-H_i|\le M_4h^4/384 ∣ y i − H i ∣ ≤ M 4 h 4 /384 である。三角不等式により各i i i とx ∈ [ c , c + h ] x\in[c,c+h] x ∈ [ c , c + h ] で∣ H ~ i ( x ) − y i ( x ) ∣ |\tilde H_i(x)-y_i(x)| ∣ H ~ i ( x ) − y i ( x ) ∣ は右辺以下であり、i i i について最大値をとると主張を得る。
(2) を示す。y ′ ( t ) = f ( t , u ) y'(t)=f(t,u) y ′ ( t ) = f ( t , u ) によりd ~ − y ′ ( t ) = ( d ~ − f ( t , u ~ ) ) + ( f ( t , u ~ ) − f ( t , u ) ) \tilde d-y'(t)=\bigl(\tilde d-f(t,\tilde u)\bigr)+\bigl(f(t,\tilde u)-f(t,u)\bigr) d ~ − y ′ ( t ) = ( d ~ − f ( t , u ~ ) ) + ( f ( t , u ~ ) − f ( t , u ) ) であり、二つの項のノルムはそれぞれε f \varepsilon_f ε f とL ∥ u ~ − u ∥ ∞ L\|\tilde u-u\|_\infty L ∥ u ~ − u ∥ ∞ 以下である。
(3) を示す。§E20.12 命題 7.4 (1) により、[ t n , t n + 1 ] [t_n,t_{n+1}] [ t n , t n + 1 ] 上の多項式はt n t_n t n で値y ~ n \tilde y_n y ~ n と微分係数d ~ n \tilde d_n d ~ n をとり、t n + 1 t_{n+1} t n + 1 で値y ~ n + 1 \tilde y_{n+1} y ~ n + 1 と微分係数d ~ n + 1 \tilde d_{n+1} d ~ n + 1 をとる。したがって0 < n < N 0<n<N 0 < n < N について、t n t_n t n を共有する二つの区間の多項式はt n t_n t n で同じ値y ~ n \tilde y_n y ~ n をとり、y ~ \tilde y y ~ は矛盾なく定まって連続である。y ~ \tilde y y ~ のt n t_n t n での左微分係数と右微分係数はともにd ~ n \tilde d_n d ~ n であるから、y ~ \tilde y y ~ はt n t_n t n で微分可能でありy ~ ′ ( t n ) = d ~ n \tilde y'(t_n)=\tilde d_n y ~ ′ ( t n ) = d ~ n である。各区間上でy ~ ′ \tilde y' y ~ ′ は多項式の導関数であって連続であり、t n t_n t n での片側極限はともにd ~ n \tilde d_n d ~ n であるから、y ~ ′ \tilde y' y ~ ′ は[ t 0 , t N ] [t_0,t_N] [ t 0 , t N ] 上で連続である。▨
例 3.2. c ∈ R c\in\R c ∈ R 、h > 0 h>0 h > 0 、d = 1 d=1 d = 1 とし、w ( t ) : = ( t − c ) 2 ( t − c − h ) 2 w(t):=(t-c)^2(t-c-h)^2 w ( t ) := ( t − c ) 2 ( t − c − h ) 2 、f ( t , u ) : = w ′ ( t ) = 2 ( t − c ) ( t − c − h ) ( 2 t − 2 c − h ) f(t,u):=w'(t)=2(t-c)(t-c-h)(2t-2c-h) f ( t , u ) := w ′ ( t ) = 2 ( t − c ) ( t − c − h ) ( 2 t − 2 c − h ) (( t , u ) ∈ R 2 (t,u)\in\R^2 ( t , u ) ∈ R 2 )と置く。y : = w y:=w y := w はy ′ = f ( t , y ) y'=f(t,y) y ′ = f ( t , y ) 、y ( c ) = 0 y(c)=0 y ( c ) = 0 を満たす。y ( c ) = y ( c + h ) = y ′ ( c ) = y ′ ( c + h ) = 0 y(c)=y(c+h)=y'(c)=y'(c+h)=0 y ( c ) = y ( c + h ) = y ′ ( c ) = y ′ ( c + h ) = 0 であるから、§E20.12 命題 7.4 (1) により、この厳密な端点データの Hermite 補間多項式はy ~ = 0 \tilde y=0 y ~ = 0 である。max [ c , c + h ] ∣ y − y ~ ∣ = w ( c + h 2 ) = h 4 / 16 \max_{[c,c+h]}|y-\tilde y|=w(c+\frac h2)=h^4/16 max [ c , c + h ] ∣ y − y ~ ∣ = w ( c + 2 h ) = h 4 /16 であり、y ( 4 ) = 24 y^{(4)}=24 y ( 4 ) = 24 から、命題 3.1 (1) の右辺はε y = ε d = 0 \varepsilon_y=\varepsilon_d=0 ε y = ε d = 0 のとき24 h 4 / 384 = h 4 / 16 24h^4/384=h^4/16 24 h 4 /384 = h 4 /16 に等しい。
y ~ \tilde y y ~ の欠陥δ ( s ) = y ~ ′ ( s ) − f ( s , y ~ ( s ) ) = − w ′ ( s ) \delta(s)=\tilde y'(s)-f(s,\tilde y(s))=-w'(s) δ ( s ) = y ~ ′ ( s ) − f ( s , y ~ ( s )) = − w ′ ( s ) はs = c , c + h 2 , c + h s=c,c+\frac h2,c+h s = c , c + 2 h , c + h で0 0 0 であるが、軌道誤差はh 4 / 16 h^4/16 h 4 /16 である。§E20.28 定理 4.1 を[ t 0 , T ] = [ c , c + h ] [t_0,T]=[c,c+h] [ t 0 , T ] = [ c , c + h ] 、S = [ c , c + h ] × R S=[c,c+h]\times\R S = [ c , c + h ] × R 、ℓ = 0 \ell=0 ℓ = 0 として適用すると∣ y ~ ( t ) − y ( t ) ∣ ≤ ∫ c t ∣ w ′ ( s ) ∣ d s |\tilde y(t)-y(t)|\le\int_c^t|w'(s)|\,ds ∣ y ~ ( t ) − y ( t ) ∣ ≤ ∫ c t ∣ w ′ ( s ) ∣ d s である。w ′ w' w ′ は[ c , c + h 2 ] [c,c+\frac h2] [ c , c + 2 h ] で非負、[ c + h 2 , c + h ] [c+\frac h2,c+h] [ c + 2 h , c + h ] で非正であるから、右辺はt = c + h 2 t=c+\frac h2 t = c + 2 h でw ( c + h 2 ) = h 4 / 16 w(c+\frac h2)=h^4/16 w ( c + 2 h ) = h 4 /16 となって誤差に等しく、t = c + h t=c+h t = c + h でh 4 / 8 h^4/8 h 4 /8 となり、誤差0 0 0 より大きい。
4 イベント時刻
定義 4.1. d ∈ N ≥ 1 d\in\NN d ∈ N ≥ 1 とし、I ⊆ R I\subseteq\R I ⊆ R を区間、U ⊆ R d U\subseteq\R^d U ⊆ R d 、y : I → U y\colon I\to U y : I → U を写像、g : I × U → R g\colon I\times U\to\R g : I × U → R を関数とする。g g g を イベント関数 (event function ) といい、G ( t ) : = g ( t , y ( t ) ) G(t):=g(t,y(t)) G ( t ) := g ( t , y ( t )) (t ∈ I t\in I t ∈ I )の零点をy y y の イベント時刻 (event time ) という。
補題 4.2. d ∈ N ≥ 1 d\in\NN d ∈ N ≥ 1 とし、R d \R^d R d にノルム∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ を固定する。t ∈ R t\in\R t ∈ R 、U ⊆ R d U\subseteq\R^d U ⊆ R d とし、g g g を{ t } × U \{t\}\times U { t } × U を含む集合上の実数値関数とする。K ≥ 0 K\ge0 K ≥ 0 が任意のu , v ∈ U u,v\in U u , v ∈ U について∣ g ( t , u ) − g ( t , v ) ∣ ≤ K ∥ u − v ∥ |g(t,u)-g(t,v)|\le K\|u-v\| ∣ g ( t , u ) − g ( t , v ) ∣ ≤ K ∥ u − v ∥ を満たすとする。u , u ~ ∈ U u,\tilde u\in U u , u ~ ∈ U 、g ^ ∈ R \hat g\in\R g ^ ∈ R 、ε y , ε g ≥ 0 \varepsilon_y,\varepsilon_g\ge0 ε y , ε g ≥ 0 が∥ u ~ − u ∥ ≤ ε y \|\tilde u-u\|\le\varepsilon_y ∥ u ~ − u ∥ ≤ ε y 、∣ g ^ − g ( t , u ~ ) ∣ ≤ ε g |\hat g-g(t,\tilde u)|\le\varepsilon_g ∣ g ^ − g ( t , u ~ ) ∣ ≤ ε g を満たすならば、∣ g ^ − g ( t , u ) ∣ ≤ K ε y + ε g |\hat g-g(t,u)|\le K\varepsilon_y+\varepsilon_g ∣ g ^ − g ( t , u ) ∣ ≤ K ε y + ε g である。
証明. g ^ − g ( t , u ) = ( g ^ − g ( t , u ~ ) ) + ( g ( t , u ~ ) − g ( t , u ) ) \hat g-g(t,u)=\bigl(\hat g-g(t,\tilde u)\bigr)+\bigl(g(t,\tilde u)-g(t,u)\bigr) g ^ − g ( t , u ) = ( g ^ − g ( t , u ~ ) ) + ( g ( t , u ~ ) − g ( t , u ) ) であり、二つの項の絶対値はそれぞれε g \varepsilon_g ε g とK ∥ u ~ − u ∥ ≤ K ε y K\|\tilde u-u\|\le K\varepsilon_y K ∥ u ~ − u ∥ ≤ K ε y 以下である。▨
命題 4.3. d ∈ N ≥ 1 d\in\NN d ∈ N ≥ 1 とし、R d \R^d R d にノルム∥ ⋅ ∥ \|\cdot\| ∥ ⋅ ∥ を固定する。I ⊆ R I\subseteq\R I ⊆ R を区間、U ⊆ R d U\subseteq\R^d U ⊆ R d 、y : I → U y\colon I\to U y : I → U とy ~ : I → R d \tilde y\colon I\to\R^d y ~ : I → R d を写像、g : I × U → R g\colon I\times U\to\R g : I × U → R を関数とし、G ( t ) : = g ( t , y ( t ) ) G(t):=g(t,y(t)) G ( t ) := g ( t , y ( t )) がI I I 上で連続かつI I I の内部で微分可能であるとする。τ , τ ^ ∈ I \tau,\hat\tau\in I τ , τ ^ ∈ I がG ( τ ) = 0 G(\tau)=0 G ( τ ) = 0 を満たし、m > 0 m>0 m > 0 がmin { τ , τ ^ } < s < max { τ , τ ^ } \min\{\tau,\hat\tau\}<s<\max\{\tau,\hat\tau\} min { τ , τ ^ } < s < max { τ , τ ^ } を満たす任意のs s s について∣ G ′ ( s ) ∣ ≥ m |G'(s)|\ge m ∣ G ′ ( s ) ∣ ≥ m を満たすとする。K , ε y , ε g , r ≥ 0 K,\varepsilon_y,\varepsilon_g,r\ge0 K , ε y , ε g , r ≥ 0 とg ^ ∈ R \hat g\in\R g ^ ∈ R が、y ~ ( τ ^ ) ∈ U \tilde y(\hat\tau)\in U y ~ ( τ ^ ) ∈ U 、任意のu , v ∈ U u,v\in U u , v ∈ U についての∣ g ( τ ^ , u ) − g ( τ ^ , v ) ∣ ≤ K ∥ u − v ∥ |g(\hat\tau,u)-g(\hat\tau,v)|\le K\|u-v\| ∣ g ( τ ^ , u ) − g ( τ ^ , v ) ∣ ≤ K ∥ u − v ∥ 、∥ y ~ ( τ ^ ) − y ( τ ^ ) ∥ ≤ ε y \|\tilde y(\hat\tau)-y(\hat\tau)\|\le\varepsilon_y ∥ y ~ ( τ ^ ) − y ( τ ^ ) ∥ ≤ ε y 、∣ g ^ − g ( τ ^ , y ~ ( τ ^ ) ) ∣ ≤ ε g |\hat g-g(\hat\tau,\tilde y(\hat\tau))|\le\varepsilon_g ∣ g ^ − g ( τ ^ , y ~ ( τ ^ )) ∣ ≤ ε g 、∣ g ^ ∣ ≤ r |\hat g|\le r ∣ g ^ ∣ ≤ r を満たすならば
∣ τ ^ − τ ∣ ≤ K ε y + ε g + r m |\hat\tau-\tau|\le\frac{K\varepsilon_y+\varepsilon_g+r}m ∣ τ ^ − τ ∣ ≤ m K ε y + ε g + r である。
証明. 補題 4.2 をt = τ ^ t=\hat\tau t = τ ^ 、u = y ( τ ^ ) u=y(\hat\tau) u = y ( τ ^ ) 、u ~ = y ~ ( τ ^ ) \tilde u=\tilde y(\hat\tau) u ~ = y ~ ( τ ^ ) に適用すると∣ g ^ − G ( τ ^ ) ∣ ≤ K ε y + ε g |\hat g-G(\hat\tau)|\le K\varepsilon_y+\varepsilon_g ∣ g ^ − G ( τ ^ ) ∣ ≤ K ε y + ε g であり、∣ g ^ ∣ ≤ r |\hat g|\le r ∣ g ^ ∣ ≤ r と合わせて∣ G ( τ ^ ) ∣ ≤ K ε y + ε g + r |G(\hat\tau)|\le K\varepsilon_y+\varepsilon_g+r ∣ G ( τ ^ ) ∣ ≤ K ε y + ε g + r である。§E20.2 命題 6.1 を区間I I I 、関数G G G 、零点τ \tau τ 、近似点τ ^ \hat\tau τ ^ に適用すると∣ τ ^ − τ ∣ ≤ ∣ G ( τ ^ ) ∣ / m |\hat\tau-\tau|\le|G(\hat\tau)|/m ∣ τ ^ − τ ∣ ≤ ∣ G ( τ ^ ) ∣/ m である。▨
命題 4.4. a < b a<b a < b とし、G : [ a , b ] → R G\colon[a,b]\to\R G : [ a , b ] → R を連続関数、η ≥ 0 \eta\ge0 η ≥ 0 とする。g ^ a , g ^ b ∈ R \hat g_a,\hat g_b\in\R g ^ a , g ^ b ∈ R が∣ g ^ a − G ( a ) ∣ ≤ η |\hat g_a-G(a)|\le\eta ∣ g ^ a − G ( a ) ∣ ≤ η 、∣ g ^ b − G ( b ) ∣ ≤ η |\hat g_b-G(b)|\le\eta ∣ g ^ b − G ( b ) ∣ ≤ η を満たすとする。
g ^ a g ^ b < 0 \hat g_a\hat g_b<0 g ^ a g ^ b < 0 かつmin { ∣ g ^ a ∣ , ∣ g ^ b ∣ } > η \min\{|\hat g_a|,|\hat g_b|\}>\eta min { ∣ g ^ a ∣ , ∣ g ^ b ∣ } > η ならば、G ( a ) G ( b ) < 0 G(a)G(b)<0 G ( a ) G ( b ) < 0 であり、G G G は( a , b ) (a,b) ( a , b ) に零点をもつ。
G G G が( a , b ) (a,b) ( a , b ) で微分可能であり、m > 0 m>0 m > 0 が任意のs ∈ ( a , b ) s\in(a,b) s ∈ ( a , b ) について∣ G ′ ( s ) ∣ ≥ m |G'(s)|\ge m ∣ G ′ ( s ) ∣ ≥ m を満たすならば、G G G の[ a , b ] [a,b] [ a , b ] における零点は高々一つである。
Λ G ≥ 0 \Lambda_G\ge0 Λ G ≥ 0 が任意のs , t ∈ [ a , b ] s,t\in[a,b] s , t ∈ [ a , b ] について∣ G ( s ) − G ( t ) ∣ ≤ Λ G ∣ s − t ∣ |G(s)-G(t)|\le\Lambda_G|s-t| ∣ G ( s ) − G ( t ) ∣ ≤ Λ G ∣ s − t ∣ を満たし、∣ g ^ a ∣ + ∣ g ^ b ∣ > Λ G ( b − a ) + 2 η |\hat g_a|+|\hat g_b|>\Lambda_G(b-a)+2\eta ∣ g ^ a ∣ + ∣ g ^ b ∣ > Λ G ( b − a ) + 2 η ならば、G G G は[ a , b ] [a,b] [ a , b ] に零点をもたない。
証明. (1) を示す。∣ g ^ a − G ( a ) ∣ ≤ η < ∣ g ^ a ∣ |\hat g_a-G(a)|\le\eta<|\hat g_a| ∣ g ^ a − G ( a ) ∣ ≤ η < ∣ g ^ a ∣ であるからG ( a ) G(a) G ( a ) はg ^ a \hat g_a g ^ a と同符号であり、同様にG ( b ) G(b) G ( b ) はg ^ b \hat g_b g ^ b と同符号である。したがってG ( a ) G ( b ) < 0 G(a)G(b)<0 G ( a ) G ( b ) < 0 である。G ( a ) < 0 < G ( b ) G(a)<0<G(b) G ( a ) < 0 < G ( b ) ならばG G G に、G ( a ) > 0 > G ( b ) G(a)>0>G(b) G ( a ) > 0 > G ( b ) ならば− G -G − G に§D1.12 定理 1.1 を適用して、( a , b ) (a,b) ( a , b ) の零点を得る。
(2) を示す。τ 1 , τ 2 ∈ [ a , b ] \tau_1,\tau_2\in[a,b] τ 1 , τ 2 ∈ [ a , b ] をG G G の零点とする。τ 1 \tau_1 τ 1 とτ 2 \tau_2 τ 2 の間の点は( a , b ) (a,b) ( a , b ) に属するから、§E20.2 命題 6.1 を区間[ a , b ] [a,b] [ a , b ] 、零点τ 1 \tau_1 τ 1 、近似点τ 2 \tau_2 τ 2 に適用して∣ τ 2 − τ 1 ∣ ≤ ∣ G ( τ 2 ) ∣ / m = 0 |\tau_2-\tau_1|\le|G(\tau_2)|/m=0 ∣ τ 2 − τ 1 ∣ ≤ ∣ G ( τ 2 ) ∣/ m = 0 を得る。
(3) を示す。s ∈ [ a , b ] s\in[a,b] s ∈ [ a , b ] がG ( s ) = 0 G(s)=0 G ( s ) = 0 を満たすとすると、∣ G ( a ) ∣ = ∣ G ( a ) − G ( s ) ∣ ≤ Λ G ( s − a ) |G(a)|=|G(a)-G(s)|\le\Lambda_G(s-a) ∣ G ( a ) ∣ = ∣ G ( a ) − G ( s ) ∣ ≤ Λ G ( s − a ) 、∣ G ( b ) ∣ ≤ Λ G ( b − s ) |G(b)|\le\Lambda_G(b-s) ∣ G ( b ) ∣ ≤ Λ G ( b − s ) であるから
∣ g ^ a ∣ + ∣ g ^ b ∣ ≤ ∣ G ( a ) ∣ + ∣ G ( b ) ∣ + 2 η ≤ Λ G ( b − a ) + 2 η |\hat g_a|+|\hat g_b|\le|G(a)|+|G(b)|+2\eta\le\Lambda_G(b-a)+2\eta ∣ g ^ a ∣ + ∣ g ^ b ∣ ≤ ∣ G ( a ) ∣ + ∣ G ( b ) ∣ + 2 η ≤ Λ G ( b − a ) + 2 η である。仮定はこの不等式の否定であるから、G G G は[ a , b ] [a,b] [ a , b ] に零点をもたない。▨
例 4.5.
[ a , b ] = [ 0 , 2 ] [a,b]=[0,2] [ a , b ] = [ 0 , 2 ] 、G ( t ) = ( t − 1 ) 2 G(t)=(t-1)^2 G ( t ) = ( t − 1 ) 2 とする。G G G の零点は1 1 1 だけであり、G ( 0 ) = G ( 2 ) = 1 G(0)=G(2)=1 G ( 0 ) = G ( 2 ) = 1 は同符号である。G ′ ( 1 ) = 0 G'(1)=0 G ′ ( 1 ) = 0 であり、∣ G ′ ( s ) ∣ = 2 ∣ s − 1 ∣ |G'(s)|=2|s-1| ∣ G ′ ( s ) ∣ = 2∣ s − 1∣ であるから、1 1 1 を端点とする開区間上で∣ G ′ ∣ |G'| ∣ G ′ ∣ の正の下界は存在しない。η 0 ∈ ( 0 , 1 ) \eta_0\in(0,1) η 0 ∈ ( 0 , 1 ) に対してG − η 0 G-\eta_0 G − η 0 はG G G との差の絶対値がη 0 \eta_0 η 0 であり、零点1 ± η 0 1\pm\sqrt{\eta_0} 1 ± η 0 をもつ。τ ^ : = 1 + η 0 \hat\tau:=1+\sqrt{\eta_0} τ ^ := 1 + η 0 は( G − η 0 ) ( τ ^ ) = 0 (G-\eta_0)(\hat\tau)=0 ( G − η 0 ) ( τ ^ ) = 0 、G ( τ ^ ) = η 0 G(\hat\tau)=\eta_0 G ( τ ^ ) = η 0 を満たすが、G G G の零点1 1 1 との距離はη 0 \sqrt{\eta_0} η 0 である。η 0 = 10 − 8 \eta_0=10^{-8} η 0 = 1 0 − 8 では値の差10 − 8 10^{-8} 1 0 − 8 に対して時刻の差は10 − 4 10^{-4} 1 0 − 4 である。G + η 0 G+\eta_0 G + η 0 は零点をもたない。
[ a , b ] = [ 0 , 1 ] [a,b]=[0,1] [ a , b ] = [ 0 , 1 ] 、G ( t ) = ( t − 1 5 ) ( t − 1 2 ) ( t − 4 5 ) G(t)=(t-\frac15)(t-\frac12)(t-\frac45) G ( t ) = ( t − 5 1 ) ( t − 2 1 ) ( t − 5 4 ) とする。G ( 0 ) = − 2 25 < 0 < 2 25 = G ( 1 ) G(0)=-\frac2{25}<0<\frac2{25}=G(1) G ( 0 ) = − 25 2 < 0 < 25 2 = G ( 1 ) であり、G G G は( 0 , 1 ) (0,1) ( 0 , 1 ) に三つの零点をもつ。§E20.4 定義 2.2 の二分法はm 0 = 1 2 m_0=\frac12 m 0 = 2 1 でG ( m 0 ) = 0 G(m_0)=0 G ( m 0 ) = 0 となり、§E20.4 定義 2.2 (1) により1 2 \frac12 2 1 を出力して停止する。出力1 2 \frac12 2 1 は( 0 , 1 ) (0,1) ( 0 , 1 ) の最小の零点1 5 \frac15 5 1 と異なる。命題 4.4 (2) により、( 0 , 1 ) (0,1) ( 0 , 1 ) 上で∣ G ′ ∣ ≥ m |G'|\ge m ∣ G ′ ∣ ≥ m を満たすm > 0 m>0 m > 0 は存在しない。
[ a , b ] = [ 0 , 1 ] [a,b]=[0,1] [ a , b ] = [ 0 , 1 ] 、G ( t ) = ( t − 3 10 ) ( t − 7 10 ) G(t)=(t-\frac3{10})(t-\frac7{10}) G ( t ) = ( t − 10 3 ) ( t − 10 7 ) とする。G ( 0 ) = G ( 1 ) = 21 100 > 0 G(0)=G(1)=\frac{21}{100}>0 G ( 0 ) = G ( 1 ) = 100 21 > 0 であるが、G G G は( 0 , 1 ) (0,1) ( 0 , 1 ) に零点3 10 \frac3{10} 10 3 、7 10 \frac7{10} 10 7 をもつ。G ( s ) − G ( t ) = ( s − t ) ( s + t − 1 ) G(s)-G(t)=(s-t)(s+t-1) G ( s ) − G ( t ) = ( s − t ) ( s + t − 1 ) であり、s , t ∈ [ 0 , 1 ] s,t\in[0,1] s , t ∈ [ 0 , 1 ] では∣ s + t − 1 ∣ ≤ 1 |s+t-1|\le1 ∣ s + t − 1∣ ≤ 1 であるから、Λ G = 1 \Lambda_G=1 Λ G = 1 が[ 0 , 1 ] [0,1] [ 0 , 1 ] とその部分区間で命題 4.4 (3) の Lipschitz 条件を満たす。∣ G ( 0 ) ∣ + ∣ G ( 1 ) ∣ = 21 50 < 1 |G(0)|+|G(1)|=\frac{21}{50}<1 ∣ G ( 0 ) ∣ + ∣ G ( 1 ) ∣ = 50 21 < 1 であるから、[ 0 , 1 ] [0,1] [ 0 , 1 ] ではη = 0 \eta=0 η = 0 の命題 4.4 (3) の仮定は成り立たない。[ 0 , 1 5 ] [0,\frac15] [ 0 , 5 1 ] では∣ G ( 0 ) ∣ + ∣ G ( 1 5 ) ∣ = 21 100 + 1 20 = 26 100 > 1 5 |G(0)|+|G(\frac15)|=\frac{21}{100}+\frac1{20}=\frac{26}{100}>\frac15 ∣ G ( 0 ) ∣ + ∣ G ( 5 1 ) ∣ = 100 21 + 20 1 = 100 26 > 5 1 であるから、命題 4.4 (3) によりG G G は[ 0 , 1 5 ] [0,\frac15] [ 0 , 5 1 ] に零点をもたない。
例 4.6. d = 2 d=2 d = 2 、Ω = R × R 2 \Omega=\R\times\R^2 Ω = R × R 2 とし、状態を( x , v ) (x,v) ( x , v ) と書いてf ( t , ( x , v ) ) : = ( v , − 1 + v 2 ) f(t,(x,v)):=(v,-1+v^2) f ( t , ( x , v )) := ( v , − 1 + v 2 ) と置く。初期値( x , v ) ( 0 ) = ( 1 , 0 ) (x,v)(0)=(1,0) ( x , v ) ( 0 ) = ( 1 , 0 ) の解はx ( t ) = 1 − log cosh t x(t)=1-\log\cosh t x ( t ) = 1 − log cosh t 、v ( t ) = − tanh t v(t)=-\tanh t v ( t ) = − tanh t である。v < 0 v<0 v < 0 では− 1 + v 2 = − 1 − v ∣ v ∣ -1+v^2=-1-v|v| − 1 + v 2 = − 1 − v ∣ v ∣ であり、x x x とv v v は、重力加速度と比例定数を1 1 1 とした速さの二乗に比例する抵抗を受けて落下する物体の高さと速度である。イベント関数g ( t , ( x , v ) ) : = x g(t,(x,v)):=x g ( t , ( x , v )) := x についてG ( t ) = x ( t ) G(t)=x(t) G ( t ) = x ( t ) 、G ′ ( t ) = − tanh t G'(t)=-\tanh t G ′ ( t ) = − tanh t であり、G ( 0 ) = 1 G(0)=1 G ( 0 ) = 1 とt > 0 t>0 t > 0 でのG ′ ( t ) < 0 G'(t)<0 G ′ ( t ) < 0 により、G G G の[ 0 , ∞ ) [0,\infty) [ 0 , ∞ ) の零点は
τ = arcosh e = log ( e + e 2 − 1 ) = 1.657454454153 … \tau=\operatorname{arcosh}e=\log\bigl(e+\sqrt{e^2-1}\bigr)=1.657454454153\ldots τ = arcosh e = log ( e + e 2 − 1 ) = 1.657454454153 … ただ一つである。
Heun 法の二半歩による刻み制御を、p = 2 p=2 p = 2 、t 0 = 0 t_0=0 t 0 = 0 、T = 2 T=2 T = 2 、u 0 = ( 1 , 0 ) u_0=(1,0) u 0 = ( 1 , 0 ) 、a 1 = a 2 = r = 10 − 3 a_1=a_2=r=10^{-3} a 1 = a 2 = r = 1 0 − 3 、θ = 0.8 \theta=0.8 θ = 0.8 、α min = 0.2 \alpha_{\min}=0.2 α m i n = 0.2 、α max = 2 \alpha_{\max}=2 α m a x = 2 、h min = 10 − 6 h_{\min}=10^{-6} h m i n = 1 0 − 6 、h i n i t = 0.5 h_{\mathrm{init}}=0.5 h init = 0.5 として CPython の float で実行した。最初の試行はk = 0.5 k=0.5 k = 0.5 、E = 4.3149 … E=4.3149\ldots E = 4.3149 … で棄却されてh = 0.245698 … h=0.245698\ldots h = 0.245698 … となり、以後の8回の試行はすべて受理されてt = T t=T t = T で停止した。8回目の受理の刻みは、終点への切詰めによるT − t 7 T-t_7 T − t 7 である。受理後の状態を( x n , v n ) (x_n,v_n) ( x n , v n ) 、受理の判定に用いた尺度をs n , 1 , s n , 2 s_{n,1},s_{n,2} s n , 1 , s n , 2 とし、60桁の十進演算で求めた解の値と比べて丸めると次のとおりである。最後の列はmax { ∣ x n − x ( t n ) ∣ / s n , 1 , ∣ v n − v ( t n ) ∣ / s n , 2 } \max\{|x_n-x(t_n)|/s_{n,1},\ |v_n-v(t_n)|/s_{n,2}\} max { ∣ x n − x ( t n ) ∣/ s n , 1 , ∣ v n − v ( t n ) ∣/ s n , 2 } である。
n n n
t n t_n t n
t n − t n − 1 t_n-t_{n-1} t n − t n − 1
E E E
∣ x n − x ( t n ) ∣ \lvert x_n-x(t_n)\rvert ∣ x n − x ( t n )∣
∣ v n − v ( t n ) ∣ \lvert v_n-v(t_n)\rvert ∣ v n − v ( t n )∣
尺度で割った誤差
1 1 1
0.245699 0.245699 0.245699
0.245699 0.245699 0.245699
0.5243 0.5243 0.5243
7.283 × 10 − 5 7.283\times10^{-5} 7.283 × 1 0 − 5
6.380 × 10 − 4 6.380\times10^{-4} 6.380 × 1 0 − 4
0.5144 0.5144 0.5144
2 2 2
0.489467 0.489467 0.489467
0.243768 0.243768 0.243768
0.5676 0.5676 0.5676
2.312 × 10 − 4 2.312\times10^{-4} 2.312 × 1 0 − 4
1.269 × 10 − 3 1.269\times10^{-3} 1.269 × 1 0 − 3
0.8737 0.8737 0.8737
3 3 3
0.724998 0.724998 0.724998
0.235531 0.235531 0.235531
0.5278 0.5278 0.5278
3.327 × 10 − 4 3.327\times10^{-4} 3.327 × 1 0 − 4
1.704 × 10 − 3 1.704\times10^{-3} 1.704 × 1 0 − 3
1.0530 1.0530 1.0530
4 4 4
0.958158 0.958158 0.958158
0.233160 0.233160 0.233160
0.4626 0.4626 0.4626
3.396 × 10 − 4 3.396\times10^{-4} 3.396 × 1 0 − 4
1.900 × 10 − 3 1.900\times10^{-3} 1.900 × 1 0 − 3
1.0912 1.0912 1.0912
5 5 5
1.199338 1.199338 1.199338
0.241180 0.241180 0.241180
0.4137 0.4137 0.4137
2.753 × 10 − 4 2.753\times10^{-4} 2.753 × 1 0 − 4
1.907 × 10 − 3 1.907\times10^{-3} 1.907 × 1 0 − 3
1.0411 1.0411 1.0411
6 6 6
1.458277 1.458277 1.458277
0.258939 0.258939 0.258939
0.3754 0.3754 0.3754
1.634 × 10 − 4 1.634\times10^{-4} 1.634 × 1 0 − 4
1.775 × 10 − 3 1.775\times10^{-3} 1.775 × 1 0 − 3
0.9362 0.9362 0.9362
7 7 7
1.745444 1.745444 1.745444
0.287168 0.287168 0.287168
0.3419 0.3419 0.3419
2.251 × 10 − 5 2.251\times10^{-5} 2.251 × 1 0 − 5
1.550 × 10 − 3 1.550\times10^{-3} 1.550 × 1 0 − 3
0.7990 0.7990 0.7990
8 8 8
2.000000 2.000000 2.000000
0.254556 0.254556 0.254556
0.1461 0.1461 0.1461
1.770 × 10 − 4 1.770\times10^{-4} 1.770 × 1 0 − 4
1.178 × 10 − 3 1.178\times10^{-3} 1.178 × 1 0 − 3
0.6001 0.6001 0.6001
すべての受理でE ≤ 1 E\le1 E ≤ 1 であるが、n = 3 , 4 , 5 n=3,4,5 n = 3 , 4 , 5 では最後の列が1 1 1 を超え、v n v_n v n の真の誤差は受理の判定に用いた尺度を超えている。
x 6 = 0.182000 … > 0 > x 7 = − 0.082338 … x_6=0.182000\ldots>0>x_7=-0.082338\ldots x 6 = 0.182000 … > 0 > x 7 = − 0.082338 … である。η : = 1.7 × 10 − 4 \eta:=1.7\times10^{-4} η := 1.7 × 1 0 − 4 と置くと、∣ x 6 − x ( t 6 ) ∣ ≤ η |x_6-x(t_6)|\le\eta ∣ x 6 − x ( t 6 ) ∣ ≤ η 、∣ x 7 − x ( t 7 ) ∣ ≤ η |x_7-x(t_7)|\le\eta ∣ x 7 − x ( t 7 ) ∣ ≤ η 、min { ∣ x 6 ∣ , ∣ x 7 ∣ } > η \min\{|x_6|,|x_7|\}>\eta min { ∣ x 6 ∣ , ∣ x 7 ∣ } > η であるから、命題 4.4 (1) によりG G G は( t 6 , t 7 ) (t_6,t_7) ( t 6 , t 7 ) に零点をもつ。刻みの端点だけで時刻をt 7 t_7 t 7 とすると、誤差はt 7 − τ = 0.087989 … t_7-\tau=0.087989\ldots t 7 − τ = 0.087989 … である。
[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] 上でx x x をデータ( t 6 , x 6 , v 6 ) (t_6,x_6,v_6) ( t 6 , x 6 , v 6 ) 、( t 7 , x 7 , v 7 ) (t_7,x_7,v_7) ( t 7 , x 7 , v 7 ) の三次 Hermite 補間多項式x ~ \tilde x x ~ で近似する。x ′ = v x'=v x ′ = v であるから、微分データv n v_n v n の誤差は∣ v n − x ′ ( t n ) ∣ = ∣ v n − v ( t n ) ∣ |v_n-x'(t_n)|=|v_n-v(t_n)| ∣ v n − x ′ ( t n ) ∣ = ∣ v n − v ( t n ) ∣ である。σ : = sech 2 t \sigma:=\operatorname{sech}^2t σ := sech 2 t と置くとx ( 4 ) = 2 σ ( 3 σ − 2 ) x^{(4)}=2\sigma(3\sigma-2) x ( 4 ) = 2 σ ( 3 σ − 2 ) であり、[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] 上でσ < 1 3 \sigma<\frac13 σ < 3 1 であるから∣ x ( 4 ) ∣ = 2 σ ( 2 − 3 σ ) |x^{(4)}|=2\sigma(2-3\sigma) ∣ x ( 4 ) ∣ = 2 σ ( 2 − 3 σ ) はσ \sigma σ について増加し、t t t について減少する。したがってM 4 = ∣ x ( 4 ) ( t 6 ) ∣ = 0.5515 … M_4=|x^{(4)}(t_6)|=0.5515\ldots M 4 = ∣ x ( 4 ) ( t 6 ) ∣ = 0.5515 … である。命題 3.1 (1) をd = 1 d=1 d = 1 、ε y = 1.633 … × 10 − 4 \varepsilon_y=1.633\ldots\times10^{-4} ε y = 1.633 … × 1 0 − 4 、ε d = 1.774 … × 10 − 3 \varepsilon_d=1.774\ldots\times10^{-3} ε d = 1.774 … × 1 0 − 3 、h = 0.287167 … h=0.287167\ldots h = 0.287167 … として適用すると、[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] 上で
∣ x ~ − x ∣ ≤ ε y + h ε d 4 + M 4 h 4 384 = 3.005 … × 10 − 4 |\tilde x-x|\le\varepsilon_y+\frac{h\varepsilon_d}4+\frac{M_4h^4}{384}=3.005\ldots\times10^{-4} ∣ x ~ − x ∣ ≤ ε y + 4 h ε d + 384 M 4 h 4 = 3.005 … × 1 0 − 4 である。
節点の値は二進浮動小数点数であり有理数であるから、x ~ \tilde x x ~ の値を有理数の演算で厳密に計算し、§E20.4 定義 2.2 の二分法を[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] 上のx ~ \tilde x x ~ に60段適用してτ ^ : = m 60 = 1.657367744776 … \hat\tau:=m_{60}=1.657367744776\ldots τ ^ := m 60 = 1.657367744776 … を得た。x ~ ( τ ^ ) \tilde x(\hat\tau) x ~ ( τ ^ ) は厳密に計算した値であり、∣ x ~ ( τ ^ ) ∣ < 8.9 × 10 − 22 |\tilde x(\hat\tau)|<8.9\times10^{-22} ∣ x ~ ( τ ^ ) ∣ < 8.9 × 1 0 − 22 、∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ = 8.0628 … × 10 − 5 |\tilde x(\hat\tau)-x(\hat\tau)|=8.0628\ldots\times10^{-5} ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ = 8.0628 … × 1 0 − 5 である。∣ G ′ ∣ = tanh |G'|=\tanh ∣ G ′ ∣ = tanh はt > 0 t>0 t > 0 で増加し、τ ^ < τ \hat\tau<\tau τ ^ < τ であるから、m : = tanh τ ^ = 0.929861 … m:=\tanh\hat\tau=0.929861\ldots m := tanh τ ^ = 0.929861 … はτ ^ \hat\tau τ ^ とτ \tau τ の間で∣ G ′ ∣ ≥ m |G'|\ge m ∣ G ′ ∣ ≥ m を満たす。命題 4.3 をd = 1 d=1 d = 1 、I = [ t 6 , t 7 ] I=[t_6,t_7] I = [ t 6 , t 7 ] 、U = R U=\R U = R 、y = x y=x y = x 、y ~ = x ~ \tilde y=\tilde x y ~ = x ~ 、g ( t , x ) = x g(t,x)=x g ( t , x ) = x 、K = 1 K=1 K = 1 、g ^ = x ~ ( τ ^ ) \hat g=\tilde x(\hat\tau) g ^ = x ~ ( τ ^ ) 、ε g = 0 \varepsilon_g=0 ε g = 0 、ε y = ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ \varepsilon_y=|\tilde x(\hat\tau)-x(\hat\tau)| ε y = ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ 、r = ∣ x ~ ( τ ^ ) ∣ r=|\tilde x(\hat\tau)| r = ∣ x ~ ( τ ^ ) ∣ として適用すると
∣ τ ^ − τ ∣ ≤ ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ + ∣ x ~ ( τ ^ ) ∣ m = 8.67099 … × 10 − 5 |\hat\tau-\tau|\le\frac{|\tilde x(\hat\tau)-x(\hat\tau)|+|\tilde x(\hat\tau)|}m=8.67099\ldots\times10^{-5} ∣ τ ^ − τ ∣ ≤ m ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ + ∣ x ~ ( τ ^ ) ∣ = 8.67099 … × 1 0 − 5 であり、実際の誤差は∣ τ ^ − τ ∣ = 8.67093 … × 10 − 5 |\hat\tau-\tau|=8.67093\ldots\times10^{-5} ∣ τ ^ − τ ∣ = 8.67093 … × 1 0 − 5 である。[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] 上で∣ G ′ ∣ ≥ tanh t 6 = 0.8973 … |G'|\ge\tanh t_6=0.8973\ldots ∣ G ′ ∣ ≥ tanh t 6 = 0.8973 … であるから、同じ命題をm = tanh t 6 m=\tanh t_6 m = tanh t 6 として用いると、ε t > 0 \varepsilon_t>0 ε t > 0 と[ t 6 , t 7 ] [t_6,t_7] [ t 6 , t 7 ] に属する任意のτ ^ \hat\tau τ ^ について、∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ + ∣ x ~ ( τ ^ ) ∣ ≤ 0.89 ε t |\tilde x(\hat\tau)-x(\hat\tau)|+|\tilde x(\hat\tau)|\le0.89\,\varepsilon_t ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ + ∣ x ~ ( τ ^ ) ∣ ≤ 0.89 ε t ならば∣ τ ^ − τ ∣ ≤ ε t |\hat\tau-\tau|\le\varepsilon_t ∣ τ ^ − τ ∣ ≤ ε t である。例 4.5 (1) では∣ G ′ ∣ |G'| ∣ G ′ ∣ の正の下界が存在しないから、この形の十分条件は得られない。上のη \eta η 、Hermite 補間の評価に用いたε y , ε d \varepsilon_y,\varepsilon_d ε y , ε d 、∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ |\tilde x(\hat\tau)-x(\hat\tau)| ∣ x ~ ( τ ^ ) − x ( τ ^ ) ∣ は、刻み制御の計算からでなく解の値から得たものである。
5 演習
解答. κ : = max { α min , θ } \kappa:=\max\{\alpha_{\min},\theta\} κ := max { α m i n , θ } と置くとκ < 1 \kappa<1 κ < 1 である。棄却ではh h h がκ h \kappa h κh 以下の値に替わる。実際、( t , u , k ) ∉ D ^ (t,u,k)\notin\hat D ( t , u , k ) ∈ / D ^ の場合の新しい値はα min k ≤ κ h \alpha_{\min}k\le\kappa h α m i n k ≤ κh である。E > 1 E>1 E > 1 の場合はθ E − 1 / ( p + 1 ) < θ ≤ κ \theta E^{-1/(p+1)}<\theta\le\kappa θ E − 1/ ( p + 1 ) < θ ≤ κ とα min ≤ κ \alpha_{\min}\le\kappa α m i n ≤ κ によりq ( E ) ≤ max { α min , θ E − 1 / ( p + 1 ) } ≤ κ q(E)\le\max\{\alpha_{\min},\theta E^{-1/(p+1)}\}\le\kappa q ( E ) ≤ max { α m i n , θ E − 1/ ( p + 1 ) } ≤ κ であり、新しい値はq ( E ) k ≤ κ h q(E)k\le\kappa h q ( E ) k ≤ κh である。受理ではq ( E ) ≤ α max q(E)\le\alpha_{\max} q ( E ) ≤ α m a x により新しい値はq ( E ) k ≤ α max h q(E)k\le\alpha_{\max}h q ( E ) k ≤ α m a x h である。試行ごとにk ≤ T − t k\le T-t k ≤ T − t であるから、状態のt t t はつねにT T T 以下であり、受理でだけ増加する。
停止はt = T t=T t = T の規則かh < h min h<h_{\min} h < h m i n の規則によってだけ起こるから、停止したときt = T t=T t = T またはh < h min h<h_{\min} h < h m i n である。
受理された試行がt + k < T t+k<T t + k < T を満たすとする。k = min { h , T − t } < T − t k=\min\{h,T-t\}<T-t k = min { h , T − t } < T − t であるからk = h k=h k = h であり、試行が行われたことからh ≥ h min h\ge h_{\min} h ≥ h m i n である。したがってk ≥ h min k\ge h_{\min} k ≥ h m i n である。このような受理の回数をA ′ A' A ′ とすると、これらの受理の後のt t t はすべてT T T 未満であり、最後のものの後のt t t はt 0 + A ′ h min t_0+A'h_{\min} t 0 + A ′ h m i n 以上であるから、A ′ < ( T − t 0 ) / h min A'<(T-t_0)/h_{\min} A ′ < ( T − t 0 ) / h m i n 、すなわちA ′ ≤ ⌈ ( T − t 0 ) / h min ⌉ − 1 A'\le\lceil(T-t_0)/h_{\min}\rceil-1 A ′ ≤ ⌈( T − t 0 ) / h m i n ⌉ − 1 である。t + k = T t+k=T t + k = T を満たす受理の後はt = T t=T t = T であり、次の繰返しで停止するから、そのような受理は高々一回である。したがって受理の回数はA max : = ⌈ ( T − t 0 ) / h min ⌉ A_{\max}:=\lceil(T-t_0)/h_{\min}\rceil A m a x := ⌈( T − t 0 ) / h m i n ⌉ 以下である。
h h h は受理で高々α max \alpha_{\max} α m a x 倍になり、棄却で減少するから、つねにh ≤ H ∗ : = h i n i t α max A max h\le H^*:=h_{\mathrm{init}}\alpha_{\max}^{A_{\max}} h ≤ H ∗ := h init α m a x A m a x である。κ J H ∗ < h min \kappa^JH^*<h_{\min} κ J H ∗ < h m i n を満たすJ ∈ N ≥ 1 J\in\NN J ∈ N ≥ 1 を取る。連続するJ J J 回の棄却の後ではh ≤ κ J H ∗ < h min h\le\kappa^JH^*<h_{\min} h ≤ κ J H ∗ < h m i n であり、棄却はt t t を変えないからt < T t<T t < T のままであって、次の繰返しで停止する。したがって、停止しない繰返しは、高々A max A_{\max} A m a x 回の受理と、それらによって分けられた高々A max + 1 A_{\max}+1 A m a x + 1 個の区切りの各々での高々J J J 回の棄却からなり、その回数はA max + ( A max + 1 ) J A_{\max}+(A_{\max}+1)J A m a x + ( A m a x + 1 ) J 以下である。これで命題 2.3 は示された。▨