近似の数理 第2章 §2.2 ★★★ 縮小写像の不動点として解を作る論法は、近似列が収束することの最も単純な証明であり、後の章の反復法の原型
縮小写像とバナッハの不動点定理
微分方程式 y ′ = F ( t , y ) y'=F(t,y) y ′ = F ( t , y ) 、y ( t 0 ) = y 0 y(t_0)=y_0 y ( t 0 ) = y 0 は、両辺を積分すると
y ( t ) = y 0 + ∫ t 0 t F ( s , y ( s ) ) d s (2.1) y(t)=y_0+\int_{t_0}^{t}F(s,y(s))\,\mathrm{d} s\tag{2.1} y ( t ) = y 0 + ∫ t 0 t F ( s , y ( s )) d s ( 2.1 )
という積分方程式 に書き換えられる。右辺を関数 y y y から関数を作る写像 T T T とみると、解とは T y = y Ty=y T y = y を満たす y y y 、すなわち T T T の不動点 である。そこで「写像を繰り返し当てると一点に集まる」ための条件を一般の形で用意する。
定義 2.2(距離空間の完備性と縮小写像)
集合 X X X に距離 d d d が入っているとする。点列 ( x n ) (x_n) ( x n ) がコーシー列 であるとは、任意の ε > 0 \varepsilon >0 ε > 0 に対し N N N があって m , n ≥ N m,n\ge N m , n ≥ N なら d ( x m , x n ) < ε d(x_m,x_n)<\varepsilon d ( x m , x n ) < ε となることをいう。すべてのコーシー列が X X X の中に極限をもつとき、X X X は完備 であるという。写像 T : X → X T:X\to X T : X → X が縮小写像 であるとは、ある 0 ≤ q < 1 0\le q<1 0 ≤ q < 1 があって、すべての x , y ∈ X x,y\in X x , y ∈ X に対し d ( T x , T y ) ≤ q d ( x , y ) d(Tx,Ty)\le q\,d(x,y) d ( T x , T y ) ≤ q d ( x , y ) となることをいう。
完備性は「互いに近づいていく列は、どこかへ収束する」という性質である。有理数の集合は完備でない(2 \sqrt2 2 に近づく有理数の列は有理数の中に極限をもたない)が、実数は完備である。この章では完備性が何度も決定的な役割を果たす。
定理 2.3(バナッハの不動点定理 ★★★)
X X X を完備な距離空間、T : X → X T:X\to X T : X → X を縮小率 q < 1 q<1 q < 1 の縮小写像とする。このとき T T T はただ一つの不動点 x ∗ x^* x ∗ をもつ。さらに任意の初期点 x 0 x_0 x 0 から作った列 x n + 1 = T x n x_{n+1}=Tx_n x n + 1 = T x n は x ∗ x^* x ∗ に収束し、
d ( x n , x ∗ ) ≤ q n 1 − q d ( x 1 , x 0 ) (2.2) d(x_n,x^*)\le\frac{q^n}{1-q}\,d(x_1,x_0)\tag{2.2} d ( x n , x ∗ ) ≤ 1 − q q n d ( x 1 , x 0 ) ( 2.2 )
が成り立つ。
証明 縮小性を繰り返し使うと d ( x k + 1 , x k ) ≤ q k d ( x 1 , x 0 ) d(x_{k+1},x_k)\le q^k d(x_1,x_0) d ( x k + 1 , x k ) ≤ q k d ( x 1 , x 0 ) である。m > n m>n m > n のとき三角不等式から
d ( x m , x n ) ≤ ∑ k = n m − 1 d ( x k + 1 , x k ) ≤ d ( x 1 , x 0 ) ∑ k = n ∞ q k = q n 1 − q d ( x 1 , x 0 ) d(x_m,x_n)\le\sum_{k=n}^{m-1}d(x_{k+1},x_k)\le d(x_1,x_0)\sum_{k=n}^{\infty}q^k=\frac{q^n}{1-q}d(x_1,x_0) d ( x m , x n ) ≤ k = n ∑ m − 1 d ( x k + 1 , x k ) ≤ d ( x 1 , x 0 ) k = n ∑ ∞ q k = 1 − q q n d ( x 1 , x 0 )
となり、右辺は n → ∞ n\to\infty n → ∞ で 0 0 0 に近づくので ( x n ) (x_n) ( x n ) はコーシー列である。X X X は完備なので極限 x ∗ x^* x ∗ がある。縮小写像は連続(d ( T x , T y ) ≤ q d ( x , y ) d(Tx,Ty)\le q\,d(x,y) d ( T x , T y ) ≤ q d ( x , y ) )なので、x n + 1 = T x n x_{n+1}=Tx_n x n + 1 = T x n の両辺で極限をとると x ∗ = T x ∗ x^*=Tx^* x ∗ = T x ∗ を得る。上の不等式で m → ∞ m\to\infty m → ∞ とすれば (2.2) が出る。不動点が二つ x ∗ , y ∗ x^*,y^* x ∗ , y ∗ あれば d ( x ∗ , y ∗ ) = d ( T x ∗ , T y ∗ ) ≤ q d ( x ∗ , y ∗ ) d(x^*,y^*)=d(Tx^*,Ty^*)\le q\,d(x^*,y^*) d ( x ∗ , y ∗ ) = d ( T x ∗ , T y ∗ ) ≤ q d ( x ∗ , y ∗ ) で、q < 1 q<1 q < 1 より d ( x ∗ , y ∗ ) = 0 d(x^*,y^*)=0 d ( x ∗ , y ∗ ) = 0 である。
この定理は単なる存在定理ではない。(2.2) は「n n n 回反復した近似解が真の解からどれだけ離れているか」を、真の解を知らないまま計算できる量 d ( x 1 , x 0 ) d(x_1,x_0) d ( x 1 , x 0 ) で上から抑えている。近似の誤差評価の最も単純な形がここにある。また、証明の中で極限 x ∗ x^* x ∗ の存在を保証したのは完備性だけである。完備でない空間では、近似列がコーシー列になっても行き先が空間の外にあるかもしれない。
Picard–Lindelöf の定理
定理 2.4(Picard–Lindelöf ★★★)
F ( t , y ) F(t,y) F ( t , y ) は R = { ( t , y ) : ∣ t − t 0 ∣ ≤ a , ∣ y − y 0 ∣ ≤ b } R=\{(t,y):\lvert t-t_0\rvert \le a,\ \lvert y-y_0\rvert \le b\} R = {( t , y ) : ∣ t − t 0 ∣ ≤ a , ∣ y − y 0 ∣ ≤ b } (y ∈ R d y\in\mathbb{R}^d y ∈ R d )で連続で、∣ F ∣ ≤ M \lvert F\rvert \le M ∣ F ∣ ≤ M を満たし、さらに y y y について Lipschitz 連続 、すなわちある L L L があって
∣ F ( t , y ) − F ( t , z ) ∣ ≤ L ∣ y − z ∣ ( ( t , y ) , ( t , z ) ∈ R ) \lvert F(t,y)-F(t,z)\rvert \le L\lvert y-z\rvert \qquad((t,y),(t,z)\in R) ∣ F ( t , y ) − F ( t , z )∣ ≤ L ∣ y − z ∣ (( t , y ) , ( t , z ) ∈ R )
を満たすとする。h = min { a , b / M , 1 / ( 2 L ) } h=\min\{a,\ b/M,\ 1/(2L)\} h = min { a , b / M , 1/ ( 2 L )} とおくと、初期値問題 y ′ = F ( t , y ) y'=F(t,y) y ′ = F ( t , y ) 、y ( t 0 ) = y 0 y(t_0)=y_0 y ( t 0 ) = y 0 は区間 I = [ t 0 − h , t 0 + h ] I=[t_0-h,t_0+h] I = [ t 0 − h , t 0 + h ] でただ一つの解をもつ。
証明 X X X を、I I I 上の連続関数で値が ∣ y ( t ) − y 0 ∣ ≤ b \lvert y(t)-y_0\rvert \le b ∣ y ( t ) − y 0 ∣ ≤ b に収まるもの全体とし、距離を d ( y , z ) = max t ∈ I ∣ y ( t ) − z ( t ) ∣ d(y,z)=\max_{t\in I}\lvert y(t)-z(t)\rvert d ( y , z ) = max t ∈ I ∣ y ( t ) − z ( t )∣ (一様ノルムの距離)で入れる。連続関数の一様収束極限は連続で、∣ y − y 0 ∣ ≤ b \lvert y-y_0\rvert \le b ∣ y − y 0 ∣ ≤ b も極限で保たれるので、X X X は完備である(実数の完備性を各 t t t ごとに使い、一様性で連続性を受け渡す)。
T T T を積分方程式 (2.1) の右辺で定める。y ∈ X y\in X y ∈ X なら T y Ty T y は連続で、∣ ( T y ) ( t ) − y 0 ∣ ≤ M ∣ t − t 0 ∣ ≤ M h ≤ b \lvert (Ty)(t)-y_0\rvert \le M\lvert t-t_0\rvert \le Mh\le b ∣( T y ) ( t ) − y 0 ∣ ≤ M ∣ t − t 0 ∣ ≤ M h ≤ b なので T y ∈ X Ty\in X T y ∈ X である。さらに
∣ ( T y ) ( t ) − ( T z ) ( t ) ∣ ≤ ∣ ∫ t 0 t ∣ F ( s , y ( s ) ) − F ( s , z ( s ) ) ∣ d s ∣ ≤ L h d ( y , z ) ≤ 1 2 d ( y , z ) \lvert (Ty)(t)-(Tz)(t)\rvert \le\lvert \int_{t_0}^{t}\lvert F(s,y(s))-F(s,z(s))\rvert \,\mathrm{d} s\rvert \le L h\,d(y,z)\le\tfrac12 d(y,z) ∣( T y ) ( t ) − ( T z ) ( t )∣ ≤ ∣ ∫ t 0 t ∣ F ( s , y ( s )) − F ( s , z ( s ))∣ d s ∣ ≤ L h d ( y , z ) ≤ 2 1 d ( y , z )
なので T T T は縮小率 1 / 2 1/2 1/2 の縮小写像である。定理 2.3 により T T T はただ一つの不動点をもつ。不動点は連続関数の積分で表されるので微分可能で、微分すれば y ′ = F ( t , y ) y'=F(t,y) y ′ = F ( t , y ) 、y ( t 0 ) = y 0 y(t_0)=y_0 y ( t 0 ) = y 0 を満たす。逆に I I I 上の解はどれも、∣ y ′ ∣ ≤ M \lvert y'\rvert \le M ∣ y ′ ∣ ≤ M から ∣ y ( t ) − y 0 ∣ ≤ M h ≤ b \lvert y(t)-y_0\rvert \le Mh\le b ∣ y ( t ) − y 0 ∣ ≤ M h ≤ b を満たして X X X に属し、積分すれば T T T の不動点になるので、解は一つしかない。
条件 h ≤ 1 / ( 2 L ) h\le1/(2L) h ≤ 1/ ( 2 L ) は証明を短くするための便宜で、重みつきのノルム max t e − 2 L ∣ t − t 0 ∣ ∣ y ( t ) − z ( t ) ∣ \max_t\mathrm{e}^{-2L\lvert t-t_0\rvert }\lvert y(t)-z(t)\rvert max t e − 2 L ∣ t − t 0 ∣ ∣ y ( t ) − z ( t )∣ を使えば外せる。外せないのは h ≤ b / M h\le b/M h ≤ b / M のほうで、これは「解が F F F の定義された範囲 R R R から出ていかない時間」を表している。次の有限時間爆発の例では、この時間制限が実際に問題になる(解はある時刻で無限大へ逃げる)。
例題 2.2 Picard 反復を具体的に回す ★★
オリジナル [標準的な題材を自作]初期値問題 y ′ = y y'=y y ′ = y 、y ( 0 ) = 1 y(0)=1 y ( 0 ) = 1 について、φ 0 ( t ) = 1 \varphi_0(t)=1 φ 0 ( t ) = 1 、φ n + 1 ( t ) = 1 + ∫ 0 t φ n ( s ) d s \varphi_{n+1}(t)=1+\int_0^t\varphi_n(s)\,\mathrm{d} s φ n + 1 ( t ) = 1 + ∫ 0 t φ n ( s ) d s で Picard 反復を作る。
φ n ( t ) = ∑ k = 0 n t k / k ! \varphi_n(t)=\sum_{k=0}^{n}t^k/k! φ n ( t ) = ∑ k = 0 n t k / k ! であることを示せ。
t ≥ 0 t\ge0 t ≥ 0 で ∣ e t − φ n ( t ) ∣ ≤ e t t n + 1 / ( n + 1 ) ! \lvert \mathrm{e}^t-\varphi_n(t)\rvert \le\mathrm{e}^t\,t^{n+1}/(n+1)! ∣ e t − φ n ( t )∣ ≤ e t t n + 1 / ( n + 1 )! を示し、t = 1 t=1 t = 1 で n = 1 , 2 , 4 , 6 , 8 n=1,2,4,6,8 n = 1 , 2 , 4 , 6 , 8 の誤差と上界を比べよ。
区間 [ 0 , h ] [0,h] [ 0 , h ] での縮小率を求め、反復が h ≥ 1 h\ge1 h ≥ 1 でも収束する理由を説明せよ。
解答 (1) n n n についての帰納法による。φ 0 = 1 \varphi_0=1 φ 0 = 1 は n = 0 n=0 n = 0 の式である。φ n = ∑ k ≤ n t k / k ! \varphi_n=\sum_{k\le n}t^k/k! φ n = ∑ k ≤ n t k / k ! と仮定するとφ n + 1 ( t ) = 1 + ∑ k ≤ n ∫ 0 t s k / k ! d s = 1 + ∑ k ≤ n t k + 1 / ( k + 1 ) ! = ∑ k ≤ n + 1 t k / k ! \varphi_{n+1}(t)=1+\sum_{k\le n}\int_0^t s^k/k!\,\mathrm{d} s=1+\sum_{k\le n}t^{k+1}/(k+1)!=\sum_{k\le n+1}t^k/k! φ n + 1 ( t ) = 1 + ∑ k ≤ n ∫ 0 t s k / k ! d s = 1 + ∑ k ≤ n t k + 1 / ( k + 1 )! = ∑ k ≤ n + 1 t k / k ! である。反復は指数関数の Taylor 級数を1項ずつ作っている。
(2) Taylor の定理(Lagrange の剰余)により、ある θ ∈ ( 0 , t ) \theta\in(0,t) θ ∈ ( 0 , t ) で e t − φ n ( t ) = e θ t n + 1 / ( n + 1 ) ! \mathrm{e}^t-\varphi_n(t)=\mathrm{e}^{\theta}t^{n+1}/(n+1)! e t − φ n ( t ) = e θ t n + 1 / ( n + 1 )! となり、e θ ≤ e t \mathrm{e}^\theta\le\mathrm{e}^t e θ ≤ e t から評価が出る。t = 1 t=1 t = 1 では次のようになる(検算スクリプト)。
n n n 誤差 e − φ n ( 1 ) \mathrm{e}-\varphi_n(1) e − φ n ( 1 ) 上界 e / ( n + 1 ) ! \mathrm{e}/(n+1)! e / ( n + 1 )! 1 7.18 × 10 − 1 7.18\times10^{-1} 7.18 × 1 0 − 1 1.36 1.36 1.36 2 2.18 × 10 − 1 2.18\times10^{-1} 2.18 × 1 0 − 1 4.53 × 10 − 1 4.53\times10^{-1} 4.53 × 1 0 − 1 4 9.95 × 10 − 3 9.95\times10^{-3} 9.95 × 1 0 − 3 2.27 × 10 − 2 2.27\times10^{-2} 2.27 × 1 0 − 2 6 2.26 × 10 − 4 2.26\times10^{-4} 2.26 × 1 0 − 4 5.39 × 10 − 4 5.39\times10^{-4} 5.39 × 1 0 − 4 8 3.06 × 10 − 6 3.06\times10^{-6} 3.06 × 1 0 − 6 7.49 × 10 − 6 7.49\times10^{-6} 7.49 × 1 0 − 6
上界は実際の誤差の2倍程度に収まっていて、評価は粗くない。
(3) F ( t , y ) = y F(t,y)=y F ( t , y ) = y の Lipschitz 定数は L = 1 L=1 L = 1 で、[ 0 , h ] [0,h] [ 0 , h ] の一様ノルムで ∣ ( T y ) ( t ) − ( T z ) ( t ) ∣ ≤ ∫ 0 t ∣ y − z ∣ ≤ h d ( y , z ) \lvert (Ty)(t)-(Tz)(t)\rvert \le\int_0^t\lvert y-z\rvert \le h\,d(y,z) ∣( T y ) ( t ) − ( T z ) ( t )∣ ≤ ∫ 0 t ∣ y − z ∣ ≤ h d ( y , z ) だから縮小率は h h h である。h < 1 h<1 h < 1 なら定理 2.3 がそのまま使える。h ≥ 1 h\ge1 h ≥ 1 でも収束するのは、n n n 回反復した差が ∣ T n y − T n z ∣ ≤ ( t n / n ! ) d ( y , z ) \lvert T^ny-T^nz\rvert \le (t^n/n!)\,d(y,z) ∣ T n y − T n z ∣ ≤ ( t n / n !) d ( y , z ) と、n ! n! n ! の分母のために最終的には縮小するからである(T n T^n T n が縮小写像になる)。上で述べた重みつきノルムはこの事情を1回の反復で捉えるための工夫である。
Lipschitz 性が破れるとき:非一意性と有限時間爆発
定理 2.4 の二つの仮定(Lipschitz 性と有界性)は、どちらも飾りではない。それぞれが破れる例を見る。
非一意性:y ′ = ∣ y ∣ y'=\sqrt{\lvert y\rvert } y ′ = ∣ y ∣
y ( 0 ) = 0 y(0)=0 y ( 0 ) = 0 に対し、y ≡ 0 y\equiv0 y ≡ 0 は解である。一方、任意の c ≥ 0 c\ge0 c ≥ 0 に対し
y c ( t ) = { 0 ( t ≤ c ) ( t − c ) 2 / 4 ( t > c ) y_c(t)=\begin{cases}0 & (t\le c)\\ (t-c)^2/4 & (t>c)\end{cases} y c ( t ) = { 0 ( t − c ) 2 /4 ( t ≤ c ) ( t > c )
も解である(t > c t>c t > c で y c ′ = ( t − c ) / 2 = y c y_c'=(t-c)/2=\sqrt{y_c} y c ′ = ( t − c ) /2 = y c 、t = c t=c t = c で左右の微分がともに 0 0 0 )。解は無数にある。原因は F ( y ) = ∣ y ∣ F(y)=\sqrt{\lvert y\rvert } F ( y ) = ∣ y ∣ が y = 0 y=0 y = 0 で Lipschitz でないこと(∣ y ∣ / ∣ y ∣ → ∞ \sqrt{\lvert y\rvert }/\lvert y\rvert \to\infty ∣ y ∣ / ∣ y ∣ → ∞ )である。物理的には、頂上でちょうど静止した粒子が「いつ転がり始めるか」が方程式から決まらない状況に当たる。
有限時間爆発:y ′ = y 2 y'=y^2 y ′ = y 2
y ( 0 ) = y 0 > 0 y(0)=y_0>0 y ( 0 ) = y 0 > 0 の解は y ( t ) = y 0 / ( 1 − y 0 t ) y(t)=y_0/(1-y_0t) y ( t ) = y 0 / ( 1 − y 0 t ) で、t → 1 / y 0 t\to1/y_0 t → 1/ y 0 で無限大に発散する。F ( y ) = y 2 F(y)=y^2 F ( y ) = y 2 は各有界集合の上では Lipschitz なので、局所的な存在と一意性は定理 2.4 で保証されるが、∣ F ∣ ≤ M \lvert F\rvert \le M ∣ F ∣ ≤ M を満たす範囲 R R R を広げるほど M M M が大きくなって保証される時間 b / M b/M b / M が縮み、解は有限時間で R R R の外へ出ていく。y 0 = 1 y_0=1 y 0 = 1 の数値解は t = 0.99 t=0.99 t = 0.99 で y = 100 y=100 y = 100 に達する(検算スクリプト)。
図 2.1 (a) y ′ = y 2 y'=y^2 y ′ = y 2 の解は t = 1 / y 0 t=1/y_0 t = 1/ y 0 (破線)で発散する。(b) y ′ = ∣ y ∣ y'=\sqrt{\lvert y\rvert } y ′ = ∣ y ∣ 、y ( 0 ) = 0 y(0)=0 y ( 0 ) = 0 の解は y ≡ 0 y\equiv0 y ≡ 0 のほかに、任意の時刻 c c c で離陸する y c y_c y c がある。
二つの例は、物理の模型でも実際に問題になる。非一意性は、摩擦の法則や接触の模型など滑らかでない力を入れたときに起こる。爆発は、非線形の自己相互作用が強い方程式(重力崩壊、非線形 Schrödinger 方程式の自己収束、流体の渦の伸長)で起こりうる。近似の観点から重要なのは、「近似方程式が爆発するのは真の現象か、近似の副作用か」という問いが立つことで、これには次節以降の誤差評価とアプリオリ評価で答える。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com