Một số phương pháp song song dạng runge - kutta -nystrom giải bài toán không cương
đại học quốc gia hà nội trờng đại học khoa học tự nhiên Nguyễn Văn Minh một số phơng pháp song song dạng Runge-Kutta-Nystro m giải bài toán không cơng Chuyên ngành: toán học tính toán Mãsố:62463001 tóm tắt luận án tiến sĩ toán học Hà Nội-2007 1 Mở đầu Máy tính có tốc độ cao với nhiều bộ xử lí đồng thời làm việc đợc gọi là máy tính song song (còn gọi là máy tính véc tơ, siêu máy tính). Sựrađờicủasiêumáytínhđãmởramộthớng phát triển mới của giải tích số nói chung và giải số hệ phơng trình vi phân nói riêng, đó là tìm các thuật toán song song nhằm khai thác có hiệu quả các siêu máy tính. Luận án của chúng tôi cũng không ngoài mục tiêu chung này, đó là nghiên cứu và phát triển một số phơng pháp song song để giải trực tiếp bài toán Cauchy của một lớp hệ phơng trình vi phân cấp 2 có dạng: y (t)= f(t,y(t)),y(t 0 )= y 0 ,y (t 0 )= y 0 , t 0 tT,yR N ,f(t,y) R N . (1) Hàm f(t, y) là hàm liên tục theo biến t và Lipschitz theo biến y. Nghiệm duy nhất của bài toán đợc giả thiết là đủ trơn. Có hai hớng chính giải số bài toán (1), đó là cách giải gián tiếp và cách giải trực tiếp: i) Cách giải gián tiếp là chuyển bài toán (1) về hệ cấp một với số chiều gấp đôi rồi áp dụng phơng pháp Runge-Kutta (RK): U n =u n e+h(AI N )F (t n e+ hc,U n ), u n+ 1 =u n +h(b T I N )F (t n e+ hc,U n ). (2) ii) Cách giải trực tiếp là không đa bài toán (1) về hệ cấp một, đó là phơng pháp Runge-Kutta-Nystro m(RKN),sẽđợc nói tới ở chơng 1. Cho đến nay khi nghiên cứu các thuật toán song song để giải bài toán (1) có ba cách tiếp cận khác nhau, đó là: i) Song song hóa trên từng bài toán. ii) Song song hóa trên các bớc lấy tích phân. iii) Song song hóa thuật toán. Trong ba cách trên, cách tiếp cận iii) đợc quan tâm nhất, vì thuật toán độc lập với bài toán. Luận án có tên là Một số phơng pháp song song dạng Runge- Kutta-Nystrom giải bài toán không cơng. Gồm phần mở đầu và 4 chơng với nội dung: Chơng 1 trìnhbàymộtsốnétcơbảnvềcácphơng pháp RKN và trình bày một số lớp phơng pháp song song dạng RKN điển hình đã đợc xây dựng. Chơng 2 đề xuất một lớp phơngphápsongsongdạngRunge- Kutta-Nystro m mới bằng cách thay công thức dự báo hai bớc kiểu 2 Lagrange bởi công thức dự báo hai bớc kiểu Adams. Chơng 3 xây dựng và nghiên cứu một lớp phơng pháp lặp song song giả RKN hai bớc (IPIPTRKN) có các đặc trng tốt về tính ổn định và tốc độ hội tụ nhngcóthểsửdụngítbộxửlí. Chơng 4 nghiên cứu một lớp phơng pháp song song với công thức đầu ra liên tục (CIPIRKN). Phơng pháp áp dụng tốt trong trờng hợp cần nhận đợc giá trị của nghiệm tại nhiều điểm khác nhau. các bài toán thử Bài toán không dừng tuyến tính d 2 y(t) dt 2 = 2(t)+ 1 (t)+ 1 2( (t) 1) (t) 2 y(t), (t) = m ax{2cos 2 (t),sin 2 (t)}, 0t20, y(0) = (0,0) T ,y (0) = ( 1,2) T , (testprob1) Nghiệm đúng của bài toán (y 1 (t),y 2 (t)) T =(sint,2sint) T Bài toán Fehlberg phi tuyến d 2 y(t) dt 2 = 4t 2 2 y 2 1 (t)+ y 2 2 (t) 2 y 2 1 (t)+ y 2 2 (t) 4t 2 y(t), y( /2) = (0,1) T ,y ( /2)= ( 2 /2,0) T , /2 t 10. (testprob2) Nghiệm đúng của bài toán (y 1 (t),y 2 (t)) T =(cos(t 2 ),sin(t 2 )) T Phơng trình chuyển động Newton d 2 y 1 (t) dt 2 = y 1 (t) y 2 1 (t) + y 2 2 (t) 3 , d 2 y 2 (t) d 2 t = y 2 (t) y 2 1 (t) + y 2 2 (t) 3 , 0 t 20,y 1 (0) = 1 , y 2 (0) = 0, y 1 (0) = 0 ,y 2 (0) = 1+ 1 . (testprob3) Nghiệm của bài toán này cho dới dạng y 1 (t) = cos u (t) , y 2 (t) = (1 + )(1 ) sinu(t),ởđâyu(t)là nghiệm của phơng trình Kepler t= u(t) sinu(t),còn là tâm sai của quĩ đạo. Trong luận án này chúng tôi chọn = 0.3. Các từ viết tắt 3 CPIRKN Continuous parallel-iterated RKN LÆp song song liªn tôc Runge-Kutta-Nystro m PIRKN Parallel Iterated Runge-Kutta-Nystro m LÆp song song Runge-Kutta-Nystro m IPIRKN Improved Parallel Iterated Runge-Kutta-Nystro m LÆp song song c¶i tiÕn Runge-Kutta-Nystro m IPIPTRKN Improved Parallel-Iterated Pseudo Two-step LÆp song song c¶i tiÕn gi¶ Runge-Kutta-Nystro mhaib−íc PIPTRKN Parallel-Iterated Pseudo Two-step Runge-Kutta-Nystro m LÆp song song gi¶ Runge-Kutta-Nystro mhaib−íc PIRKNA Parallel Iterated Runge-Kutta-Nystro m with Adams-type predictors LÆp song song Runge-Kutta-Nystro m víi dù b¸o kiÓu Adams PITRKN Parallel Iterated Two step Runge-Kutta-Nystro m LÆp song song hai b−íc Runge-Kutta-Nystro m PTRKN Pseudo Two-step Runge-Kutta-Nystro m Gi¶ Runge-Kutta-Nystro mhaib−íc RKN Runge-Kutta-Nystro m Runge-Kutta-Nystro m TRKN Two Step Runge-Kutta-Nystro m Runge-Kutta-Nystro mhaib−íc 4 Chơng 1 tổng quan về các phơng pháp song song Trong chơng này trớc hết chúng tôi trình bày phơng pháp Runge-Kutta-Nystro m (RKN) giải trực tiếp bài toán (1) và sau đó chọn lọc một số phơng pháp song song dạng RKN điển hình đã đợc xây dựng. Chúng tôi utiênchoviệctrìnhbàycácphơng pháp song song mà luận án có liên quan. 1.1 Các phơng pháp RKN Để đơn giản cho trình bày, ta xét hệ trờng hợp hệ (1) chỉ có một phơng trình, khi đó phơng pháp RKN có dạng: U n =u n e+ hu n c+ h 2 Af(t n e+ hc,U n ), (1.1a) u n+ 1 =u n +hu n +h 2 b T f(t n e+ hc,U n ), (1.1b) u n+ 1 =u n +hd T f(t n e+ hc,U n ), (1.1c) Định nghĩa 1.1.1 Nếu y(t)là nghiệm chính xác địa phơng của (1), thoả mãn điều kiện y(t n )= u n , y (t n )= u n và ||y(t n+ 1 ) u n+ 1 ||= O (h p 1 +1 ), ||y (t n+ 1 ) u n+ 1 ||= O (h p 2 +1 ), thì phơng pháp RKN (1.1) đợc gọi là phơng pháp có cấp chính xác (order) p với p= min(p 1 ,p 2 ). Định nghĩa 1.1.2 Với giả thiết nh trên, nếu ||U n (t n+ 1 ) u n e hu n c h 2 Af(t n e+ hc,U n (t n+ 1 ))||= O (h p 3 +1 ), ở đây U n (t n+ 1 )= [y(t n +c 1 h ), ,y (t n +c s h)] T ,thì phơng pháp RKN (1.1) đợc gọi là có cấp chính xác nấc (stage order) bằng r với r= m in(p,p 3 ). 1.2 Các phơng pháp PIRKN Điểm bắt đầu là phơng pháp RKN ẩn (1.1), giải các quan hệ ẩn (1.1a) bằng phơngphápdựbáo-hiệuchỉnhvớiphơng pháp dự b áo 5 một bớc theo lợc đồ sau: Y (0) n =ey n +hcy n (1.2a) Y (j) n =ey n +hcy n +h 2 Af(t n e+ hc,Y (j 1) n ), (1.2b) j = 1, ,m , y n+ 1 =y n +hy n +h 2 b T f(t n e+ hc,Y (m ) n ), (1.2c) y n+ 1 =y n +hd T f(t n e+ hc,Y (m ) n ). (1.2d) 1.3 Các phơng pháp IPIRKN Tính hiệu quả của phơng pháp dự báo-hiệu chỉnh phụ thuộc khá nhiều vào độ chính xác của công thức dự báo, vì nếu độ chính xác của công thức dự báo càng cao thì số lần hiệu chỉnh càng ít đi. Bằng cách thay thế phơng pháp dự báo một bớc (1.1a) trong phơng pháp PIRKN bởi phơng pháp dự báo hai bớc: Y (0) n =wy n +VY (m ) n 1 (1.3) Ta có p h ơng pháp IPIRKN với lợc đồ {(1.3), (1.2b), (1.2c), (1.2d)} 1.4 Kết luận Trên đây chúng tôi đã điểm lại một số phơng pháp song song: PIRKN, IPIRKN để giải bài toán không cơng dạng (1). Mỗi phơng pháp kể trên có những mặt mạnh, mặt yếu riêng nh về cấp chính xác hoặc về sự hội tụ hoặc về tính chất ổn định hoặc về số quá trình cần sử dụng. Nhng nhìn chung các phơng pháp đó đều c ó thể đợc áp dụng tốt cho từng bài toán tuỳ thuộc vào mối quan tâm của ngời sử dụng: quan tâm tới cấp chính xác, tốc độ hội tụ, miền ổn định hay số quá trình. Một điều quan trọng hơn cả là những ý tởng xây dựng và nghiên cứu các phơng pháp đó đã mở ra nhiều hớng nghiên cứu các thuật toán song song mới. 6 Chơng 2 Phơng pháp dự báo hiệu chỉnh dạng PIRKN với công thức dự báo kiểu adams (PIRKNA) Từ phơng pháp PIRKN, chúng tôi thay công thức dự báo hai bớc kiểu Lagrange (1.2a), bởi công thức dự báo hai bớc kiểu Adams (2.1a) và nhận đợc PIRKNA. 2.1 Giới thiệu Lợc đồ phơng pháp PIRKNA Y (0) n =y n e+ hy n c+ h 2 Bf(t n e+ hc,Y (m ) n 1 ), (2.1a) Y (j) n =y n e+ hy n c+ h 2 Af(t n e+ hc,Y (j 1) n ), j = 1, m,(2.1b) y n+ 1 =y n +hy n +h 2 b T f(t n e+ hc,Y (m ) n ), (2.1c) y n+ 1 =y n +hd T f(t n e+ hc,Y (m ) n ). (2.1d) Ma trận B sẽ đợcxácđịnhtrongmục2.2nhờđiềukiệncấpchính xác. Tại m ỗi bớc chỉ cần m+1lần tính hàm vế phải. Việc tính toán s thành phần của véc tơ f(t n e+ hc,Y (j) n )có thể thực hiện đồng thời trên s bộ xử lí. 2.2 Điều kiện cấp chính xác của phơng pháp dự báo áp dụng điều kiện cấp chính xác, ta thu đợc định lí Định lí 2.2.1 Giảsửphơng pháp hiệu chỉnh (2.1b) có cấp chính xác p,phơng pháp dự báo (2.1a) có cấp chính xác q. Khi đó, phơng pháp PIRKNA là một phơng pháp hiển có cấp chính xác p =min(p,2m + q+ 1)với m+1lần tính toán hàm vế phải ở mỗi bớc. Sốlầntínhtoánhàmvếphảitốiuởmỗibớc là m+1=[ p q+ 1 2 ]. 2.3 Hệ số của phơng pháp PIRKNA Ma trận B là của phơng pháp PIRKNA đợc xác định nh sau: ta kí hiệu các ma trận: P:= c 2 2 , c 3 3 , c 4 4 , c 5 5 , , c s+ 1 s+ 1 , Q:= e,2(c e),3(c e) 2 ,4(c e) 3 , ,s(c e) s 1 . 7 Khi đó B=PQ 1 . (2.2) Từ Định lí (2.2.1) và biểu thức (2.2), chúng ta có Định lí sau: Định lí 2.3.1 NếumatrậndựbáoB thoả mãn quan hệ (2.2),thì phơng pháp PIRKNA (2.1) có c ấp chính xác p =min{p,2m+s+2} với (m + 1) lần tính toán hàm vế phải f ởmỗibớc, trong đó p là cấp chính xác của phơng pháp hiệu chỉnh. 2.4 Thử nghiệm tính toán Điều kiện dừng trong phép lặp theo m đợc xác định bởi: Y (m ) n Y (m 1) n TOL=Ch p , (2.3) trong đó C là một tham số phụ thuộc vào b ài toán và phơng pháp, p là cấp chính xác của phơng pháp hiệu chỉnh. Chúng tôi ch ạy với 2 bài toán thử, và so sánh phơng pháp PIRKNA với các phơng pháp song song PIRKN và I PIRKN. Trong thực hành tính toán chúng tôi thấy rằng phơng pháp PIRKNA chỉ cần một lần lặp ở mỗi bớc. Kết quả tính toán đợc trình bày trong Bảng 2.2 và Bảng 2.3. Các kết quả cho thấy phơng pháp PIRKNA tiết kiệm khoảng 1/3 so vớ i phơng pháp PIRKN trực tiếp cùng cấp chính xác. Các phơng pháp PIRKNA cũng chỉ cần một lần lặp ở mỗi bớc. Bảng2.1Biênổnđịnh(m )của phơngphápPIRKNA Phơng pháp p m=0 m=1 m=2 m=3 m=4 m=5 m=6 m= PIRKNA 4 1.45 0.01 0.07 7.44 0.27 1.50 8.84 9.0 PIRKNA 6 0.00 1.52 0.08 2.23 0.46 2.00 1.34 9.77 PIRKNA 8 0.01 3.17 0.17 5.70 9.86 1.25 7.16 9.96 PIRKNA 10 0.71 0.07 1.57 0.63 1.62 15.05 2.856 36.35 8 B¶ng 2.2 Gi¸ trÞ NCD/N seq cña bµi to¸n (testprob1) tÝnh b»ng ph−¬ng ph¸p PIRKN trùc tiÕp, IPIRKN vµ PIRKNA Ph−¬ng ph¸p pN stp N stp N stp N stp N stp C 80 160 320 640 1280 PIRKN trùc tiÕp 4 5.1/237 6.4/437 7.6/958 8.8/1918 10.0/3835 10 −1 IPIRKN trùc tiÕp 4 5.2/238 6.4/456 7.6/913 8.8/1827 10.0/3654 10 −1 PIRKNA 4 5.5/161 6.4/327 7.6/641 8.8/1221 10.0/2561 10 −1 PIRKN trùc tiÕp 6 8.0/320 9.9/640 11.7/1280 13.5/2559 10 −3 IPIRKN trùc tiÕp 6 8.1/292 9.8/481 11.7//961 13.5/1921 10 −3 PIRKNA 6 8.1/241 9.9/471 11.7/959 13.5/1915 10 −3 PIRKN trùc tiÕp 8 13.0/399 10 −4 IPIRKN trùc tiÕp 8 12.5/320 10 −4 PIRKNA 8 13.3/275 10 −4 PIRKN trùc tiÕp 10 13.3/436 10 −4 IPIRKN trùc tiÕp 10 13.3/436 10 −4 PIRKNA 10 13.3/242 10 −4 B¶ng 2.3 Gi¸ trÞ NCD/N seq cña bµi to¸n (testprob2) tÝnh b»ng c¸c ph−¬ngph¸pPIRKN,IPIRKNvµPIRKNA Ph−¬ng ph¸p pN stp N stp N stp N stp N stp C 200 400 800 1600 3200 PIRKN trùc tiÕp 4 2.4/581 3.6/1197 4.8/2400 6.0/4800 7.2/9600 10 2 IPIRKN trùc tiÕp 4 2.4/535 3.6/1070 4.8/2144 6.0/4298 7.2/8577 10 2 PIRKNA 4 2.4/476 3.6/897 4.8/1653 6.0/3201 7.2/6401 10 2 PIRKN trùc tiÕp 6 4.9/773 6.7/1531 8.6/3095 10.4/6256 12.2/12647 IPIRKN trùc tiÕp 6 5.0/773 6.7/1278 8.5/2504 10.4/4860 12.2/9600 10 3 PIRKNA 6 4.9/564 6.7/1074 8.6/2149 10.4/4297 12.2/8594 10 3 PIRKN trùc tiÕp 8 7.6/1022 10.0/2029 12.4/4022 10 3 IPIRKN trùc tiÕp 8 7.6/808 10.0/1561 12.4/2996 10 3 PIRKNA 8 7.6/729 10.0/1391 12.4/2771 10 3 PIRKN trùc tiÕp 10 10.5/1234 13.6/2457 10 3 IPIRKN trùc tiÕp 10 10.6/939 13.6/1801 10 3 PIRKNA 10 10.5/857 13.6/1655 10 3 9 2.5 Kết luận Trong chơng này c húng tôi đã xây dựng một lớp phơng pháp lặp song song dự báo-hiệu chỉnh dạng RKN với công thức dự báo hai bớc kiểu Adams (PIRKNA). Bằng các thử nghiệm tính toán chúng ta thấy rằng: với cùng một cấp chính xác p cho trớc, phơng pháp PIRKNA có số lần tính toán hàm vế phải chỉ bằng khoảng 2/3 so với các phơng pháp PIRKN trực tiếp. Nếu s o sánh PIRKNA với IPIRKN (IPIRKN cũng có dự b áo hai bớc), ta thấy phơng pháp PIRKNA cũng có số lần tính toán h àm vế phải ít hơn. Điều này thể hiện ở những dòng cuối các bảng 2.2 và 2.3. 10 [...]... này, chúng tôi xây dựng một lớp phơng pháp song song dự báo-hiệu chỉnh mới, gọi là phơng pháp dự báo-hiệu chỉnh lặp song song liên tục dạng Runge- Kutta- Nystrom ( phơng pháp CPIRKN ) dựa trên phơng pháp hiệu chỉnh RKN với công thức đầu ra liên tục Kết quả của việc chạy ba bài toán thử đã chỉ ra rằng phơng pháp CPIRKN có số lần tính hàm vế phải tiết kiệm hơn 5 lần so với các phơng pháp tuần tự truyền thống... so với các phơng pháp song song từng đợc công bố trong các tài liệu 23 Kết luận 1) Luận án đã đề xuất, xây dựng và nghiên cứu 3 thuật toán lặp song song dạng Runge- Kutta- Nystrom mới, giải trực tiếp hệ phơng trình vi phân cấp hai trên máy tính song song Cả ba phơng pháp đều mang bản chất dự báo-hiệu chỉnh Cách tiếp cận chung là: phát biểu phơng pháp, tính toán các ma trận và véc tơ hệ số, nghiên cứu tính... pháp CPIRKN với các phơng pháp PIRKN 4.4.2 Bài toán không dừng tuyến tính Kết quả số trong bảng 4.3 cho thấy phơng pháp CPIRKN hiệu quả hơn so với phơng pháp PIRKN trực tiếp và gián tiếp cùng cấp Phơng pháp CPIRKN chỉ cần một lần lặp trên mỗi bớc Lu ý rằng do sai số làm tròn ta không hi vọng 15 chữ số đều chính xác 4.4.3 Bài toán Fehlberg phi tuyến Ta sử dụng các phơng pháp dự báo-hiệu chỉnh cấp p khác... xử lí 14 Bảng 3.1 Nhân tử hội tụ của một số phơng pháp song song dự báohiệu chỉnh cấp p Phơng pháp song song cấp p p= 4 p= 5 p= 6 IndirPIRKN DirPIRKN IPIPTRKN(trong chơng này) 0.083 0.048 0.073 0.076 0.049 0.076 0.046 0.029 0.029 Bảng 3.2 Biên ổn định ( ) của các phơng pháp song song dự báom hiệu chỉnh cấp p (m ) của các phơng pháp song song dự báo-hiệu chỉnh p-order p= 4 p= 5 p= 6 PIRKN gián tiếp... trên phơng pháp hiệu chỉnh dạng RKN trùng khớp trực tiếp (RKN corrector methods) với công thức đầu ra liên tục để giải bài toán (1) Chúng tôi thu đợc phơng pháp PC song song với công thức đầu ra liên tục và dự báo cấp chính xác cao Việc áp dụng phơng pháp này vào vài bài toán thử đã cho thấy phơng pháp mới tỏ ra hiệu quả hơn so với các phơng pháp hiển song song và tuần tự đã có 4.2 Phơng pháp RKN liên... nghiệm số với bài toán nhỏ đã cho thấy u thế tiềm tàng của phơng pháp CPIRKN mới này so với các phơng pháp hiện có Tính u việt này càng có ý nghĩa khi giải các bài toán đủ lớn hoặc các phơng pháp có đánh giá hàm vế phải khá đắt Tơng tự nh các phơng pháp đã xét, điều kiện dừng ở đây là: (m (m Y n ) Y n 1) T O L = C hp, (4.4) trong đó C là tham số phụ thuộc bài toán và phơng pháp Những tính toán đợc... tính ổn định tốt và không cần nhiều bộ xử lí song song Chúng đợc áp dụng tốt trong trờng hợp máy tính có ít bộ xử lí làm việc đồng thời c) Phơng pháp lặp song song dự báo-hiệu chỉnh dạng RKN với công thức đầu ra liên tục (phơng pháp CPIRKN) cho phép tính toán giá trị nghiệm tại điểm bất kì trong mỗi bớc mà không cần chia lại lới và không cần tính toán lại hàm về phải Những thí dụ giải số đã thể 2 Đề tài... phổ của ma zA m z) trận M m ( xác định tính ổn định của phơng pháp CPIRKN 4.4 Thử nghiệm số Véc tơ c ở đây đợc chọn đối xứng theo nghĩa cj = cs j Bảng 4.2 cho thấy biên ổn định của các phơng pháp này đủ lớn để giải những bài toán không cơng có dạng (1) Sau đây ta so sánh phơng pháp 20 CPIRKN với các phơng pháp song song hiển và với các phơng pháp tuần tự đã có trong các tài liệu Bớc đầu tiên ta luôn sử... có u điểm là tiết kiệm bộ xử lý Các thử nghiệm tính toán chỉ ra rằng phơng pháp IPIPTRKN có biên ổn định lớn hơn biên ổn định của PIRKN trực tiếp và PIRKN gián tiếp Số lần tính toán hàm vế phải có chỗ chỉ bằng một nửa so với các phơng pháp PIRKN (xem các bảng 3.4, 3.5) Nh vậy phơng pháp mới hiệu quả hơn so với các phơng pháp song song và không song song đã có, hơn nữa nó đợc áp dụng tốt trong điều kiện... hiệu quả của phơng pháp CPIRKN.tục nghiên cứu: hiện tính đã mở ra a) Trong thời gian một số vấn đề có thể tiếp thực hiện luận án này, máy tính song song ở nớc ta cha nhiều, do đó việc chạy các bài toán thử trên máy tính song song còn gặp nhiều khó khăn, do đó việc triển khai chạy trên máy tính song sẽ là công việc tiếp theo của chúng tôi b) ý tởng và kĩ thuật nghiên cứu giải bài toán (1) hoàn toàn . step Runge- Kutta- Nystro m LÆp song song hai b−íc Runge- Kutta- Nystro m PTRKN Pseudo Two-step Runge- Kutta- Nystro m Gi¶ Runge- Kutta- Nystro mhaib−íc RKN Runge- Kutta- Nystro m Runge- Kutta- Nystro . Pseudo Two-step Runge- Kutta- Nystro m LÆp song song gi¶ Runge- Kutta- Nystro mhaib−íc PIRKNA Parallel Iterated Runge- Kutta- Nystro m with Adams-type predictors LÆp song song Runge- Kutta- Nystro m. parallel-iterated RKN LÆp song song liªn tôc Runge- Kutta- Nystro m PIRKN Parallel Iterated Runge- Kutta- Nystro m LÆp song song Runge- Kutta- Nystro m IPIRKN Improved Parallel Iterated Runge- Kutta- Nystro