1,a) Hamilon Runge Kua Hamilonian 1/2 Runge Kua (Brouwer s law) Runge Kua Runge Kua Hamilonian 1/2 Brouwer 3 A Conrol Mehod of Errors in Long-Term Inegraion Ozawa Kazufumi 1,a) Absrac: When solving he Hamilon canonical equaion by numerical mehods, i is imporan no only o solve he equaion accuraely, bu also o preserve he values of he firs inegrals. Symplecic Runge Kua mehods are shown o preserve hese values very accuraely. In pracice, however, for sandard implemenaions of he Runge Kua mehods he Hamilonian error behaves like O(), where is he ime. This repor proposes an implemenaion of Gauss Runge Kua mehods, he mos commonly used symplecic mehod, which suppresses he error growh up o O( 1/2 )(which is called Brouwer s law) by using riple-precision arihmeic. Keywords: symplecic numerical inegraion, Runge Kua mehod, long-erm inegraion, Brouwer s law, riple-precision arihmeic, firs inegral 1. Henrici[6] [4], [15]. IEEE754[12] Runge Kua Hamilon 1 Yuri-Honjo, Akia, 015-0055, Japan a) ozawa@akia-pu.ac.jp ( ) 2. Hamilon Hamilon c 2012 Informaion Processing Sociey of Japan 1
dq d = ph(q, p), dp d = qh(q, p), q, p R d. (1) q p H(q, p) Hamilonian H(q, p) (1) z n δ n (µ n ) µ n [5], [9] h 0 p Hamilonian O(h p ) E[µ l ] 0, E[µ l µ k ] ε 2 Bδ O(h p lk (5) ) ε B (4) Runge Kua O(h p ) [4], [5] (= nh) [4] Runge Kua 3. Runge Kua E C E B Runge Kua [4] z n+1 = z n +δ n, δ n = h b i f(z i ) (4) E B nε B = /hε B (6) 3 E L (2) C R 2d 2d Hamilon (1) ( ) ( ) q p H(q, p) z =, f(z) =, z, f R 2d p q H(q, p) z T Cf(z) = 0, z R 2d (7) Q() = z T Cz (8) Q() (2) 2 dz d = f(z()). (2) Runge Kua z n+1 = z n +h b i f(z i ), Z i = z n +h a ij f(z j ), i = 1,...,s Runge Kua Hamilon 3 [4] E C O( 1/2 ) E B O() E L (3) Q 0 = Q( 0 ) Runge Kua 1 (= 0 +h) Q() Q 1 Q 1 = Q 0 +2h +h 2 b i Z T i Cf(Z i) Runge Kua (3) [5] 2 (7) 0 Runge Kua 3 m ij 0 [5], [13] Hamilonian H(q, p) 2 E E C L = Q n Q 0 < K L nh 2 ε L = K L hε L (10) p h E C = O(h p 3 ) E L Runge Kua (3) IEEE754 i, f(z i ) T m ij Cf(Z j ), m ij = b i b j b i a ij b j a ji [1], [5] a ij, b i ε L n K L > 0 (9) c 2012 Informaion Processing Sociey of Japan 2
Compensaed Summaion E B E L, E B E C (11) 1: ε 0 = 0 2: for n = 0 o do Brouwer [2] 3: n = δ n ε n 4: z n+1 = z n n h 5: ε n+1 = n (z n+1 z n ) 6: end for ε B ε L 4. Runge Kua (11) Runge Kua 3 hεm hε L 4.1 E C E C ε L εm (16) h h = 10 8, h = 10 2 3 10 Gauss Runge Kua h = 2 4 2 7 ε L 2.2 10 19 2 62 Z (ν+1) i = z n +h a ij f(z (ν) j ), ν = 0,1,... (12) IEEE754 x86 64bi D (ν) = 0, or D (ν) D (ν+1) n (13) D (ν) = max i Z (ν) i Z (ν 1) i Runge Kua (3) Z i = z n +h a ij f(z j ) (17) 4.2 E B E B ε B 3 3 (4) compensaed summaion[7] IEEE754 O(h) δ n a ij = a (2) ij +a (1) ij +a (0) ij, b i = b (2) i +b (1) i +b (0) i, ε B hε M (14) f i = f (1) i +f (0) i. ε M ε M 2.22 10 16 (6) E B hε M (15) 1 z n+1 = z n +δ n compensaed summaion. Fig. 1 Compensaed summaion in he addiion z n+1 = z n + δ n. 4.3 E L [11], [12] Forran 4 4 112bi (16) 4 ( 50 100 ) ([8], [10]) Runge Kua a ij, b i f(z i ) a (2) ij : 26bis, a (1) ij : 27bis, a (0) ij : 26bis, b (2) i : 26bis, b (1) i : 27bis, b (0) i : 26bis, f (1) i : 26bis, f (0) i : 27bis 1 3 c 2012 Informaion Processing Sociey of Japan 3
S 3 = + S = 52 bis S 2 = 52 bis S 1 = 53 bis S 0 = 27 bis 54 bis 53 bis 79 bis 53 bis 2 3 s aij fj. Fig. 2 Compuaion of s aij fj by riple-precision arihmeic 1 s Gauss Runge Kua 5 Table 1 5 implemenaions of he s-sage Gauss Runge Kua rkgs0 mehods updae formula ieraion evaluaion of f rkgs1 c d rkgs2 c z d rkgs3 c+ z d rkgs4 c+ z+(only once) d s: number of he sages of he Runge Kua mehod c: compensaed summaion, d: double precision, : riple precision z: zero olerance ir. by eq. (13), : riple precision 2 Table 2 Compuing environmen d 3 1 Compiler ifor 11.1 (Op 2) f CPU Xeon X3450(2.67GHz) S = s a ij f q(0) = (1 e,0) T, j ( p(0) = 0, T (1+e)/(1 e)), OS Linux ver. 2.6.18(Red Ha) S = a ij f j = + + + a (2) ij f(1) j := S 3 a (2) ij f(0) j + a (1) ij f(0) j + a (0) ij f(0) j := S 0 a (1) ij f(1) j a (0) ij f(1) j := S 2 := S 1 H() H(0) 0 e < 1. e 0.6 5 10 Runge Kua 3,4 rkg51 rkg52 rkg50 rkg54 S 3 53bis S 2 52bis S 1 54bis S 0 53bis 2 3 3/2 (79.5bis) S 0 S 0 S 1, S 2, S 3 compensaed summaion h 3 compensaed summaion z n z n+1 5. 5 3 (2) Hénon Heiles 1 5 H(q, p) = 1 2 2 (q2 1 +q2 2 )+q2 1 q 2 1 3 q3 2 + 1 2 (p2 1 +p2 2 ), (1) Kepler H(q, p) = 1 q + 1 2 pt p q, p R 2, (18) rkg53 rkg50(q) 3 5 Gauss Runge Kua 5 Kepler H(q, p) Fig. 3 Long-erm behaviours of H(q, p) when solving he Kepler problem by he five implemenaions of 5-sage Gauss Runge Kua mehod. q = (q 1, q 2 ) T, p = (p 1, p 2 ) T. (19) H(q, p) = 0.8 q, p 5 6 c 2012 Informaion Processing Sociey of Japan 4
H() H(0) rkg100.da rkg101.da rkg102.da rkg103.da rkg104.da H() H(0) rkg100.da rkg101.da rkg102.da rkg103.da rkg104.da 4 10 Gauss Runge Kua 5 Kepler 6 10 Gauss Runge Kua 5 Hénon H(q, p) Heiles H(q, p) Fig. 4 Long-erm behaviours of H(q, p) when solving he Kepler problem by he five implemenaions of 10-sage Fig. 6 Long-erm behaviours of H(q, p) when solving he Gauss Runge Kua mehod. Hénon Heiles problem by he five implemenaions of 10-sage Gauss Runge Kua mehod. H() H(0) Q 1 () = z 2 1 +z 2 2 +z 2 3, Q 2 () = 1 2 (I 1 1 z 2 1 +I 1 2 z 2 2 +I 1 3 z 2 3). rkg50 rkg51 rkg53 rkg52 rkg54 [14] z 1 (0) = 0, z 2 (0) = 1, z 3 (0) = 1 8 9 I 2 5 5 Gauss Runge Kua 5 Hénon Heiles H(q, p) Fig. 5 Long-erm behaviours of H(q, p) when solving he Hénon Heiles problem by he five implemenaions of 5-sage Gauss Runge Kua mehod. (3) ( 7) 3 rkg54, rkg104 Brouwer I 1, I 2, I 3 z 1, z 2, z 3 z 1, z 2, z 3 5 10 Gauss Runge Kua 5 (Euler ) [14] Kepler z 1 () = a 1 z 2 ()z 3 (), z 2 () = a 2 z 3 ()z 1 (), z 3 () = a 3 z 1 ()z 2 (). (20) a 1 = (I 2 I 3 )/I 1, a 2 = (I 3 I 1 )/I 2, a 3 = (I 1 I 2 )/I 3. I 3 7 Fig. 7 Torque free moion of a rigid body. 0 10 6 3,4 Brouwer E C,E L E B ( 10) rkgs4 I 1 c 2012 Informaion Processing Sociey of Japan 5
Q1() Q1(0) rkg50 rkg51 rkg52 rkg53 rkg54 4 10 Gauss Runge Kua (h = 2 5, 0 10 6 ). Table 4 CPU imes of he various implemenaions of 10-sage Gauss Runge Kua mehod(h = 2 5, 0 10 6 ). Implemenaions sec(raio) Error growh in H rkg100 112(1.00) O() rkg101 113(1.01) O() rkg102 143(1.28) O() rkg103 163(1.46) O() rkg104 317(2.83) O( 1/2 ) rkg100(q) 15550(139) rkg100(q) rkg100 4 8 5 Gauss Runge Kua 5 (20) Q 1 Fig. 8 Long-erm behaviours of he invarian Q 1 when solving he rigid-body problem(20) by various implemenaions of 5-sage Runge Kua mehod. H() H(0) 1e-08 h = 1/8 h = 1/16 h = 1/32 Q2() Q2(0) rkg50 rkg51 rkg52 rkg53 rkg54 h = 1/64 h = 1/128 10 4 Gauss Runge Kua rkg44 H(q, p). Fig. 10 Long-erm behaviours of Hamilonian H(q, p) wih rkg44 implemenaion of he 4-sage GaussRunge Kua. 9 5 Gauss Runge Kua 5 5 Kepler (20) Q 2 0 10 6 Fig. 9 Long-erm behaviours of he invarian Q 2 when solving he rigid-body problem(20) by various implemenaions of 5-sage Runge Kua mehod. 5 rkgs4(s s = 3,...,10) Brouwer h 3 5 Gauss Runge Kua Table 5 Maximum sep-size and CPU imes achieving Table 3 CPU imes of he various implemenaions of 5-sage Brouwer s law wih rkgs4 implemenaions, where Gauss Runge Kua mehod(h = 2 6, 0 10 6 ) s(= 3,...,10) is he number of sages. Implemenaions sec(raio) Error growh in H rkg50 74.9(1.00) O() rkg51 77.8(1.04) O() rkg52 110(1.47) O() rkg53 130(1.74) O() rkg54 215(2.87) O( 1/2 ) rkg50(q) 8830(118) rkg500(q) rkg100 4 sage s h cpu ime[sec] 3 1/256 4.23 10 2 4 1/64 1.58 10 2 5 1/32 1.14 10 2 6 1/16 7.95 10 7 1/16 9.96 10 8 1/16 1.19 10 2 9 1/16 1.44 10 2 10 1/8 8.94 10 h 2 8, 2 7,...,2 3 Brouwer 5 s 6 c 2012 Informaion Processing Sociey of Japan 6
6. Runge Kua Nysröm (1) q = g(q) (21) Runge Kua Runge Kua Nysröm q n+1 = q n +hp n +h 2 bi g(q i ), p n+1 = p n +h b i g(q i ), (22) H() H(0) rkng100.da rkng101.da rkng102.da rkng103.da rkng104.da Q i =q n +c i hp n +h 2 ā ij g(q j ). 12 10 Gauss Runge Kua Nysröm 5 Kepler H(q, p) Runge Kua Nysröm Fig. 12 Long-ermbehavioursof H(q, p) when solving he Kepler problem by he five implemenaions of 10-sage Runge Kua Kepler 11 CPU ime Gauss Runge Kua Nysröm mehod. 7 Runge Kua Nysröm 3 (rkngs3) Brouwer (rkngs0) 2 Brouwer 7 Runge Kua Nysröm Brouwer 6 5 Gauss Runge Kua Nysröm CPU ime (22) Q i (h = 2 6, 0 10 6 ) h h 2 Table 6 CPU imes of he 5-sage Gauss Runge Kua Nysröm mehod(h = 2 6, 0 10 6 ). H() H(0) rkng50.da rkng51.da rkng52.da rkng53.da rkng54.da Implemenaions sec(raio) Error growh in H rkng50 39.0(1.00) O() rkng51 43.0(1.10) O() rkng52 58.1(1.49) O() rkng53 86.0(2.20) O( 1/2 ) rkng54 136(3.49) O( 1/2 ) rkng50(q) 3814(97.8) 7 10 Gauss Runge Kua Nysröm CPU ime (h = 2 6, 0 10 6 ) Table 7 CPU imes of he 10-sage Gauss Runge Kua Nysröm mehod(h = 2 6, 0 10 6 ). 11 5 Gauss Runge Kua Nysröm 5 Implemenaions sec(raio) Error growh in H Kepler H(q, p) Fig. 11 Long-erm behaviours of H(q, p) when solving he Kepler problem by he five implemenaions of 5-sage Gauss Runge Kua Nysröm mehod. rkng100 rkng101 rkng102 rkng103 44.3(1.00) 46.4(1.05) 70.2(1.58) 97.4(2.20 O()() O()() O()() O()( 1/2 ) rkng104 180(4.06) O()( 1/2 ) rkng100(q) 5630(127) Runge Kua Nysröm Brouwer c 2012 Informaion Processing Sociey of Japan 7
7. Hamilon Hamilonian O() O( 1/2 ) Runge Kua Runge Kua Nysröm Runge Kua Nysröm [1] Cooper, G.J.: Sabiliy of Runge Kua Mehods for Trajecory Problems, IMA J. Numer. Anal. Vol. 7, pp.1 13, (1987). [2] Brouwer, D.: On he Accumulaion of Errors in Numerical Inegraion, Asron. J., Vol. 46, pp.149 153 (1937). [3] Fukushima, T.: Reducion of Round-off Error in Symplecic Inegraors, Asron. J., Vol. 121, pp.1768 1775 (2001). [4] Hairer, E. Mclachlan, R.I. and Razakarivony, A.: Achieving Brouwer s Law wih Implici Runge Kua Mehods, BIT, Vol. 48, pp.231 243 (2008). [5] Hairer, E., Lubich, C. and Wanner, G.:Geomeric Numerical Inegraion, Springer, Berlin (2001). [6] Henrici, P.:Discree Variable Mehods in Ordinary Differenial Equaions, John Wiley & Sons, Inc. New York (1961). [7] Higham, N.J.: Accuracy and Sabiliy of Numerical Algorihms, SIAM, Philadelphia (1996). [8] Ikebe, Y. : Noe on Triple-Precision Floaing-Poin Arihmeic wih 132 bi Numbers, Commu ACM Vol. 8, pp.175 177 (1965). [9] Leimkuhler, B. and Reich, S.:Simulaing Hamilonian Dynamics, Cambridge Universiy Press, Cambridge (2004). [10] : GPU 3, Vol. 2011-HPC-132, pp.1 9. [11] Muller, J. e al. : Handbook of Floaing-poin Arihmeic, Birkäuser, Boson (2010). [12] Overon, M. L.:Numerical Compuing wih IEEE Floaing Poin Arihmeic, SIAM, Philadelphia (2001). [13] Sanz-Serna, J. M. and Calvo, M. P.: Numerical Hamilonian Problems, Chapman & Hall, London (1993). [14] Taylor, J. R.:Classical Mechanics, Universiy science Books, Sauslio, California (2005). [15] Vilmar, G: Reducing Round-Off Errors in Rigid Body Dynamics, Journal of Compuaional Physics, Vol. 227, pp.7083 7088 (2008). c 2012 Informaion Processing Sociey of Japan 8