8 6 ( ) ( ) 6 ( ϕ x, y, dy ), d y,, dr y r = (x R, y R n ) (6) n r y(x) (explicit) d r ( y r = ϕ x, y, dy ), d y,, dr y r y y y r (6) dy = f (x, y) (63) = y dy/ d r y/ r
86 6 r (6) y y d y = y 3 (64) y r y r y r ϕ(x, y, y,, y r ) n dy = f(x, y) (6) 6 Lipschitz 6 dy = y x c R y(x) y(x) = c exp(x) x x = x y(x ) = y (initial value problem, IVP) dy = f(x, y) (66) y(x ) = y Lipschitz 6 (Lipschitz ) x [x, α] z, z R n f(x, z ) f(x, z ) L z z (67) L R (66) y(x)
63 : Euler,, Runge-Kutta 87 6 dy = y y() = L = Lipschitz (67) y(x) = exp(x) Lipschitz (66) 63 : Euler,, Runge-Kutta [x, α] l x i = x + i j= h j y(x i ) y i h i (i =,,, l ) (Step Size) (Stiff) y/h=(y(x + h) y(x))/h dy/ y i+ := y i + h i f(x i, y i ) (68) Euler ( Euler Euler ) δy/(h)=(y(x + h) y(x h))/(h) y i+ := y i + h i f(x i, y i ) (69) y = y(x h ) y Euler y 3 (Euler ) x i (i =,,, l ) y i+ := y i + h i f(x i, y i ) 36 ( ) y Euler x i (i =,, l ) y i+ := y i + h i f(x i, y i )
88 6 Euler ( ) Runge-Kutta 37 ( Runge-Kutta ) x i (i =,,, l ) (a) k, k, k 3, k 4 k = f(x i, y i ) k = f(x i + h i, y i + h ik ) k 3 = f(x i + h i, y i + h ik ) k 4 = f(x i + h i, y i + h i k 3 ) (b) y i+ := y i + 6 h i(k + k + k 3 + k 4 ) 4 63 dy = x + y y() = Euler Runge-Kutta 6 相対誤差 e-6 e-9 Euler, h=/ Euler, h=/ 4 Midpoint h=/ ERK44, h=/ MIdpoint, h=/ 4 e- e- ERK44, h=/ 4 4 6 8 x 6: Euler,, Runge-Kutta
64 Runge-Kutta 89 63 63 x = h = /,/4 Euler, Runge-Kutta 4 [Hint: f Taylor 4 ] 64 Runge-Kutta Runge-Kutta m Runge-Kutta 38 38 (m Runge-Kutta ) [x, α] l x, x,, x l = α x i x i+ h i x i (i =,,, l ) (a) k, k,, k m k = f(x i + c h i, y i + h i m j= a j k j ) k = f(x i + c h i, y i + h i m j= a j k j ) k m = f(x i + c m h i, y i + h i m j= a m j k j ) (b) y i+ := y i + h i m j= w j k j c, c,, c m, a,, a m,m, w, w,, w m 6 O(h p+ ) m p Runge-Kutta ( 6) 3 Runge-Kutta c a c 3 a 3 a 3 c m a m a m a m,m w w w m w m Butcher Table
9 6 6: m Runge-Kutta c a a a m c a a a m c m a m a m a m,m w w w m c = a i j = (i j) k k m Runge-Kutta c a c a a c m a m a m a m,m w w w m a i j = (i < j) k j ( j =,, m) n 3 Runge-Kutta j k j = f(x i + c j h i, y i + h i a js k j + h i a j j k j ) (6) s= c a a a m c a a a m c m a m a m a m,m w w w m k,, k m mn k = f(x i + c h i, y i + h i m j= a j k j ) k = f(x i + c h i, y i + h i m j= a j k j ) k m = f(x i + c m h i, y i + h i m j= a m j k j ) (6)
6 Runge-Kutta 9 Runge-Kutta Butcher[] Lawson, Huta, Shanks, [3, 36, 37, 38] Runge-Kutta Runge-Kutta ( = ) A- Runge-Kutta Runge-Kutta Newton ( ) Runge-Kutta Stiff Runge-Kutta [9] Runge-Kutta 6 Runge-Kutta k k m (6, 6) 6 Newton Newton 39 ( Newton ) k (),, k() m for l =,,, (a) J( (b), k(l) k (l+) k (l+) k (l+) m,, k(l) m ) := m J (,, k(l) m ) f(x i + c h i, y i + h mj= i a j j ) f(x i + c h i, y i + h mj= i a j j ) m f(x i + c m h i, y i + h mj= i a m j j ) I n J J J m J(k (l, k(l),, k(l) m ) = J I n J J m J m J m I n J mm
9 6 J( J(, k(l) J pq = h i a pq y f(x i + c p h i, y i + h i, k(l) m j= a p j j ) M n (R),, k(l) m ) LU,, k(l) m ) z z z m = f(x i + c h i, y i + h mj= i a j j ) f(x i + c h i, y i + h mj= i a j j ) m f(x i + c m h i, y i + h mj= i a m j j ) mn [z z z n ] T Newton LU LU Jacobi [6] 66 Runge-Kutta Runge-Kutta Runge-Kutta Stiff Runge-Kutta (6) step Runge-Kutta Runge-Kutta Runge-Kutta Runge-Kutta 66 Runge-Kutta dy = Ay + g(x) = f(x, y) y(x ) = y (6) A M n (R) (6) (6) n mn r (I h i a rr A)k r = f(x i + c r h i, y i + h i a r j k j ) (63) j=
66 Runge-Kutta 93 I h i a A h i a A h i a m A h i a A h i a m,m A h i a m A h i a m,m I h i a mm A k k m = f(x i + c h i, y i ) f(x i + c m h i, y i ) (64) 66 Runge-Kutta Runge-Kutta 3 [] 4 : Butcher[] 3 3 6 3+ 3 6 3 6 : Butcher[] 4 3+ 3 3 3 4 + 36 +3 7 +6 8 8 3 4 9 +3 4 8 8 : Optimal[] 3 3 4 3 4 6 8 3 7 36 8 4 4 : (classical)runge-kutta ( 37)[] 6 3 3 3 3 3 3 6 9 9 3 3 6 7 6 : Butcher[] 9 8 3 6 3 8 8 3 8 3 4 63 44 44 9 7 4 8 6 7 4 4 4
94 6 Butcher Jain[] Stiff 66 dy = y + y cos x dy = y 3y + 3 cos x sin x y () = y () = (6) 66 dy = y + y cos x dy = 998y 999y + 999 cos x sin x y () =, y () = (66) (6) (66) [] (67) y (x) = exp( x) y (x) = exp( x) + cos x (67) Stiff 6 6 [, ] (x l = ) 66( 6, 63) 66( 64, 6) 66 (6)(66) (67) 67 Rössler Rössler Model [33] d dt x y z = (y + z) x + αy β + z(x µ) (68) α = β = / µ 3, 4, [33]
67 Rössler 9 6: 66 : Runge-Kutta -:optimal 4-4:classical 7-6:Butcher y y y y y y / 8e+6 376e- 9948e+4 6e-3 644e+3 6e- / 4 639e+3 3e-3 4e+ 634e-6 98e- 9e-9 / 6 977e+ 63e- 836e- 978e-9 9e-4 9e- / 8 373e+ 3887e-6 368e-3 3484e- 864e-8 68e-6 / 9e+ 47e-7 4e- 347e-3 976e-8 63e- / 986e- 9e-8 9e-7 7e- 9e-7 993e- / 4 68e-3 94e- 794e-7 34e- 697e-7 39e- / 6 386e-4 89e- 889e-7 74e-4 894e-7 74e-4 / 8 66e- 37e- 3e-6 7e-4 e-6 99e-4 63: 66 : Runge-Kutta - -4:Butcher 3-6:Butcher y y y y y y / 4e+4 894e-3 7e+3 86e- 49e+ 3e-8 / 4 49e+3 64e-4 434e+ 76e-7 66e-3 9e- / 6 737e+ 446e- 644e- 779e- 34e-7 33e- / 8 e+ 6e-6 4e-4 34e- 6e-8 e+ / 7849e- 6e-7 9966e-7 99e-4 986e-8 493e- / 4939e- e-8 43e-7 363e- 37e-7 363e- / 4 393e-3 664e- 78e-7 364e- 773e-7 34e- / 6 938e-4 39e- 944e-7 74e-4 89e-7 687e-4 / 8 e- 47e- 3e-6 44e-4 6e-6 44e-4
96 6 64: 66 : Runge-Kutta -:optimal 4-4:classical 7-6:Butcher y y y y y y / NaN NaN NaN NaN NaN NaN / 4 NaN NaN NaN NaN NaN NaN / 6 NaN NaN NaN NaN NaN NaN / 8 NaN NaN NaN NaN NaN NaN / 6776e- 796e-6 79e- 89e-7 89e-3 8e-8 / 89e-4 36e-8 86e- 873e- e-7 47e- / 4 3396e- 66e- 63e-8 646e-3 63e-9 48e-6 / 6 33e-6 3946e- 9e-9 3e- 349e-9 e+ / 8 48e-7 44e- 99e-9 68e-6 373e-9 68e-6 ( NaN ) 6: 66 : Runge-Kutta - -4:Butcher 3-6:Butcher y y y y y y / 7e+ 49e- 97e+ 98e-3 4998e- 47e-6 / 4 6e+ 4889e-4 693e+ 69e- 68e-3 9e-8 / 6 74e+ 3e- 8e- 798e-7 933e-6 879e- / 8 7664e- 99e-6 37e-4 38e-9 363e-8 4e-3 / 484e-3 93e-7 936e-7 9388e- 797e- e- / 334e-4 748e-9 3888e-9 367e-4 746e- 36e-6 / 4 898e- 466e- 6e-9 36e-6 773e-9 36e-6 / 6 86e-6 93e- 6e-9 e+ e-9 e+ / 8 76e-8 8e- e-9 68e-6 6e-9 44e-6
67 Ro ssler モデルの数値例 97 y y - - - x [, ], h = /89 Explicit: 6th Order - x [, ], h = /89 Implicit: 6th Order 図 6: 6 次の陽的 R-K 法 (左) と陰的 R-K 法 (右) の数値解 (µ = 4) y y - - - - - x [,], h = /89 Explicit: 6th Order - x [,], h = /89 Implicit: 6th Order 図 63: 6 次の陽的 R-K 法 (左) と陰的 R-K 法 (右) の数値解 (µ = )
98 6 [ ] T [, ] 6 Runge-Kutta Runge- Kutta (68) h h = /89 Fig6 µ = 4 Fig63 µ = Rössler Model µ 3, 4,, µ = Runge-Kutta t = x 7 6 Runge-Kutta 3 6 Runge-Kutta (68) IEEE74 Explicit : 7 step (6th order), µ = h = /496 h = /89 RN 48989e + 469349e + RZ 674e + 99e + RP 43638e + 384e + RM 63464e + 3868896e + Implicit : 3 step (6th order), µ = h = /496 h = /89 RN 384764e + 36987e + RZ 67438e + 678e + RP 3447e + 463796e + RM 3444998e + 34648e + µ = y RN, RM, RP, RZ ( ) [7] order order (68) [, ] Rössler Model IEEE74 µ = 7 z µ = 7 z Fig64 µ µ =, 7 µ = 4
67 Rössler 99 e- e- Roessler Model: gmp 8bit(38 digits) Extrapolation: 4 steps Relative Round-off Error: h=/4 \mu= \mu=7 Roessler Model: [, ], 8bit Extrapolation 4steps, h=/4 Relative Error e-3 e-3 e-4 \mu=4 z e-4 e- 3 4 t 3 4 t 64: µ = 4,, 7 z ( ) µ = 7 z( ) (a) dy = x y y() = (b) h = /4 Euler y() ỹ() (c) ỹ(), 994,
6, 4 Runge-Kutta A Hamilton EHairer, SPNørsett and GWanner Solving Ordinary Differential Equations, I Springer-Verlag, 993 EHairer and GWanner Solving Ordinary Differential Equations, II Springer-Verlag, 996 plain TEX TEX