Zaawansowane metody numeryczne Komputerowa analiza zagadnień różniczkowych 6. Metody Rungego-Kutty P. F. Góra http://th-www.if.u.edu.pl/zfs/gora/ semestr letni 2006/07
Definica metody Poszukuemy rozwiazania problemu zmienności pochodne (prawe strony standardowego problemu Cauchy ego) w trakcie wykonywania kroku całkowania. Postuluemy, że należy używać pewne średnie pochodne średnie ważone wyliczone z pochodnych w pewnych punktach pośrednich: y n+1 = y n + h i=1 ( k i = f t n + hα i, y n + h w i k i + O(h p+1 ), =1 (1a) ) β i k. (1b) Równania (1) definiua s-krokowa metodę Rungego-Kutty rzędu p. Liczby w i, α i, β i sa parametrami metody. y l, k i R N, f : R R N R N. 6. Metody Rungego-Kutty 2
Zgodność metod RK Naważnieszym kryterium, akie musi spełniać każda metoda numerycznego całkowania równań różniczkowych, est zgodność metody wymaganie, aby metoda odtwrzała wyściowy problem Cauchy ego w granicy nieskończenie małych kroków. Dla metod RK z (1a) mamy y lim n+1 y n h 0 + h = w i i=1 dt lim k h 0 + i. (2) Granica lewe strony (2) est oczywiście dy = f(t n, y n ). Z (1b) wynika, że n lim k h 0 + i = f(t n, y n ), a zatem warunkiem zgodności metod RK est i=1 w i = 1. (3) 6. Metody Rungego-Kutty 3
Zapis metod RK w postaci tabeli Współczynniki metody RK zapisue się na ogół w postaci tabeli α 1 β 11 β 12... β 1s α 2. β 21. β 22..... β 2s. α s β s1 β s2... β ss w 1 w 2... w s = α B w T. (4) 6. Metody Rungego-Kutty 4
Jawne i nieawne metody RK Jeżeli macierz B ma niezerowe elementy na i powyże diagonali, metoda est nieawna: do obliczenia pochodne w punkcie pośrednim trzeba znać tęże pochodna (diagonala) i ewentualnie pochodne w kolenych punktach pośrednich (wyrazy ponad diagonala), tak więc proces obliczania wektorów k i stae się rozwiazywaniem skomplikowanego (na ogół nieliniowego) układu równań na te wielkości. Wymiar tego układu wynosi s N. Jeżeli macierz B ma niezerowe elementy tylko pod diagonala, metoda est awna: do obliczenia kolenych k i potrzebna est wyłacznie znaomość k <i. 6. Metody Rungego-Kutty 5
Zależność pomiędzy ilościa kroków (s) a rzędem metody (p) Na pierwszy rzut oka może się wydawać, że każde dodatkowe obliczenie prawe strony równania, czyli każde obliczenie pochodne w punkcie pośrednim, zwiększa rzad metody o eden. W rzeczywistości tak nie est. Dla metod awnych zawsze zachodzi p s; minimalna ilość kroków potrzebych do zrealizowania metody awne danego rzędu podae poniższa tabela: Rzad metody 1 2 3 4 5 6 7 8 Minimalna ilość kroków 1 2 3 4 6 7 9 11 6. Metody Rungego-Kutty 6
Przykłady metod RK Metody Eulera, awna i nieawna, sa, formalnie rzecz biorac, ednokrokowymi metodami RK rzędu 1. Ich tabelki maa postać 0 0 1 (awna) 1 1 1 (nieawna) (5) 6. Metody Rungego-Kutty 7
Jawna metoda punktu środkowego est dwukrokowa metoda rzędu drugiego k 1 = f(x n, y n ), (6a) k 2 = f ( x n + 1 2 h, y n + 1 2 k 1), (6b) y n+1 = y n + h k 2 + O(h 3 ) (6c) 0 0 0 1 1 2 2 0 0 1 6. Metody Rungego-Kutty 8
Nieawna metoda punktu środkowego est ednokrokowa metoda rzędu drugiego k 1 = f ( t n + 1 2 h, y n + 1 2 hk 1), (7a) y n+1 = y n + hk 1 + O(h 3 ). (7b) Tabelka dla te metody ma postać 1 2 1 2 1 6. Metody Rungego-Kutty 9
Klasyczna metoda czterokrokowa Naczęście stosowana metoda RK est klasyczna metoda czterokrokowa większość ludzi uważa, że termin metoda Rungego-Kutty określa tylko tę metodę k 1 = f (t n, y n ), (8a) k 2 = f ( t n + 1 2 h, y n + 1 2 hk 1), (8b) k 3 = f ( t n + 1 2 h, y n + 1 2 hk 2), (8c) k 4 = f (t n + h, y n + hk 3 ), (8d) y n+1 = y n + h ( 1 6 k 1 + 1 3 k 2 + 1 3 k 2 + 1 6 k 4) + O ( h 5 ). (8e) 6. Metody Rungego-Kutty 10
Tabelka dla klasyczne metody czterokrokowe 0 0 0 0 0 1 2 1 2 0 0 0 1 2 0 1 2 0 0 1 0 0 1 0 1 6 1 3 1 3 1 6 6. Metody Rungego-Kutty 11
Zasady wyprowadzania współczynników metod RK Współczynniki metod RK rzędu p otrzymue się rozwiaac obie strony wyrażenia (dla uproszczenia stosuemy tu notacę skalarna nie ma to ednak wpływu na samo wyprowadzenie) y n+1 y n = h i w i k i (9) w szereg potęgowy względem h z dokładnościa do wyrazów rzędu O(h p+1 ) i żada ac równości współczynników rozwinięcia. Ponieważ wektory (pochodne w punktach pośrednich) k i sa wyrażone przez funkcę f (prawa stronę równania), żadamy, aby funkca f była klasy co namnie C p 1. 6. Metody Rungego-Kutty 12
Lewa strona Rozwiaac lewa stronę wyrażenia (9) otrzymuemy y n+1 y n = p l=1 1 l! d l y dt l tn h l + O(h p+1 ). (10) Mamy teraz dy = f(t, y) (11a) dt d 2 y dt 2 = d f f(t, y) = dt t + dy f dt y = f t + f f y ( = t + f ) f(t, y) (11b) y 6. Metody Rungego-Kutty 13
d 3 y dt 3 = d 4 y dt 4 = ( t + f ) ( y t + f ) f(t, y) y = 2 f t 2 + 2f 2 f t y + f 2 2 f y 2 + f t ( t + f ) ( y t + f y f y + f ) ( t + f y = 3 f t 3 + 3f 3 f t 2 y + 3f 2 3 f t y 2 + f 3 3 f y 3 + f 2 f y t 2 + 3 f 2 f f 2 f f + 5f + 3f t t y y t y t + f t ) ( ) 2 f (11c) y f(t, y) 2 f + 4f 2 f 2 f y2 y y 2 ( ) 2 ( ) 3 f f + f. (11d) y y 6. Metody Rungego-Kutty 14
Prawa strona h i w i k i = h i = p 1 l=0 p 1 w i l=0 1 l! i 1 l! d l k i dh l w i d l k i dh l 0 h l + O(h p ) 0 h l+1 + O(h p+1 ), (12) a zatem musimy obliczyć pochodne k i tylko do rzędu p 1, nie zaś p. Różnicz- 6. Metody Rungego-Kutty 15
kuac (1b) i korzystaac z twierdzenia o funkcach uwikłanych otrzymuemy dk i dh = α f i t + f y β i k + h β i dk dh. (13a) (13a) nie est awnym wyrażeniem na pochodne dk i /dh, ale układem równań, z którego pochodne te można wyliczyć. W wyrażeniu tym wszystkie k oraz pochodne f określone sa w punkcie (t n + α l h, y n + h m ) β lmk m, gdzie indeks l est równy, odpowiednio, i. Postępuac analogicznie otrzymuemy 6. Metody Rungego-Kutty 16
d 2 ( k i dh 2 = α d f i dh t + f y = α 2 i + 2 f y 2 + f y d dh ) + [ d dh ( f y β i k + h 2 f t 2 + 2α 2 f i t y 2 β i k + h β i dk dh + h )] β i dk dh β i k + h β i k + h β i dk dh 2 β i d 2 k dh 2 β i dk dh β i dk dh (13b) 6. Metody Rungego-Kutty 17
( ) [ ( )] d 3 k i = α 2 d 2 f d 2 f dh 3 i + 2α dh t 2 i dk β i k + h β i dh t y dh 2 f d + 2α i dk β i k + h β i t y dh dh [ ( )] d 2 f + 2 dk β dh y 2 i k + h β i + 2 f d β dh y 2 i k + h dh [ ( )] d f + dk 2 β i dh y dh + h d 2 k β i dh 2 + f d dk 2 β i y dh dh + h d 2 k β i dh 2 β i dk dh 2 6. Metody Rungego-Kutty 18
= α 3 3 f i t + 3 f 3 3α2 dk i β t 2 i k + h β i y dh 3 f + 3α i 2 dk β t y 2 i k + h β i + 3 f dk β dh y 3 i k + h β i dh 2 f + 3α i dk 2 β i t y dh + h d 2 k β i dh 2 + 3 2 f dk β y 2 i k + h β i 2 dk β i dh dh + h d 2 k β i dh 2 + f 3 d 2 k β i y dh + h d 3 k β 2 i dh 3 3 (13c) 6. Metody Rungego-Kutty 19
Jak uż powiedziano, powyższe wzory nie daa awnych wyrażeń na pochhodne k i, a tylko układ równań, z których pochodne te możnaby wyliczyć. Jednak dla h = 0 sytuaca znacznie się upraszcza: położenie h = 0 usuwa z prawe strony człony nawyższego rzędu, wobec czego otrzymuemy awne wyrażenia na pochodne w zerze. I tak 6. Metody Rungego-Kutty 20
k i (0) = f, dk i f dh = α i 0 t + d 2 k i dh 2 = α 2 i 0 + 2 β i f f y, 2 f t + 2α 2 i β i f 2 f t y + f f β i α t y + 2 q (14a) (14b) ( ) 2 β i f 2 2 f y 2 ( ) 2 f β i β q f, (14c) y 6. Metody Rungego-Kutty 21
d 3 k i dh 3 = α 3 i 0 3 f t 3 + 3α2 i ( β i f 3 f t 2 y + 3α i 3 f ) 2 β i f 2 t y + 2 ( β i ) 3 f 3 3 f y 3 + 3 β i α 2 f 2 f y t + 6α f 2 f 2 i β i α t t y + 6 β i (α i + α )β q f f 2 f y t y + 6 β i β iq α q f f 2 f t y 2,q q ( ) ( ) 2 + 3 β i β q + 2 β i β iq β qr f 2 f 2 f y y 2 q q,r ( ) 2 f f ( ) 3 f + 6 β i β q α q + 6 β i β q β qr f. (14d) t y y,q,q,r Funkcę f i e pochodne należy teraz obliczać w punkcie (t n, y n ). 6. Metody Rungego-Kutty 22
Warunki Pozostae nam teraz uzgodnić współczynniki rozwinięcia (9) w kolenych potęgach h. Zauważmy, że ponieważ metoda ma działać dla dowolnych f spełniaacych podane założenia, współczynniki występuace po obu stronach (9) przy pewne kombinaci f i e pochodnych musza być sobie równe. 6. Metody Rungego-Kutty 23
p = 1 W naniższym rzędzie uzgadniamy tylko współczynniki przy wyrazach rzędu h 1. Otrzymuemy 1 1! f = 1 0! i=1 w i f, czyli i=1 w i = 1, (15) co, ak uż wiemy, est warunkiem zgodności metody RK. Widać zatem, że każda zgodna metoda RK, bez względu na to, czy zachodza akieś dodatkowe zwiazki pomiędzy e współczynnikami, czy nie, est metoda rzędu co namnie pierwszego. 6. Metody Rungego-Kutty 24
p = 2 Aby metoda była rzędu drugiego, żadamy spełnienia (15) oraz następuacych warunków dodatkowych, wynikaacych z postulatu zgodności współczynników przy wyrazach rzędu h 2 : i=1 w i i=1 =1 w i α i = 1 2, (16a) β i = 1 2. (16b) 6. Metody Rungego-Kutty 25
Punkt ten wymaga pewne dyskusi. Odemuac stronami (16a), (16b) otrzymuemy i=1 α i β i =1 w i = 0. (17) Gdyby w i były liniowo niezależne, powyższy warunek oznaczałby, że koniecznie α i = s =1 β i. Ale w i nie sa liniowo niezależne, ako że wiaże e warunek zgodności (15)! W te sytuaci (17) narzuca pewne dodatkowe więzy na współczynniki metody: można go potraktować ako dodatkowy więz na wagi w i (tylko s 2 est wówczas liniowo niezależnych), ednak znacznie wygodnie est potraktować to ako warunek znikania współczynników kombinaci liniowe stoace po 6. Metody Rungego-Kutty 26
prawe stronie (17) i tak też uczynimy. Można też na to sporzeć i od inne strony: Zgodność wyrazów rozwinięcia ma zachodzić w każdym rzędzie niezależnie, co est możliwe tylko, gdy α i = s =1 β i. Wszystkie metody RK rzędu drugiego opisane sa zatem układem równań i=1 i=1 i=1 w i = 1, (18a) w i α i = 1 2, (18b) β i = α i. (18c) Zauważmy, iż z (18c) wynika, że we wszystkich metodach awnych α 1 = 0. 6. Metody Rungego-Kutty 27
p = 3 W trzecim rzędzie dostaemy w i i=1 i=1 =1 w i α 2 i = 1 3, (19a) β i α = 1 6, (19b) gdzie skorzystaliśmy z (18c) w celu zmnieszenia ilości niezależnych równań. Równania te, wraz z równaniami (18a) (18c), opisua wszystkie metody RK rzędu trzeciego. Widać, że o ile równania (18a) (18c) narzucały zwiazki liniowe na współczynniki α, β, równania (19a) (19b) narzucaa zwiazki kwadratowe. 6. Metody Rungego-Kutty 28
p = 4 W czwartym rzędzie, po skorzystaniu z (18c), ako nietrywialne równania dostaemy w i α i i=1 i=1 =1 w i i=1 =1 w i β i i=1 =1 l=1 w i α 3 i = 1 4, (20a) β i α = 1 8, (20b) β i α 2 = 1 12, (20c) β l α l = 1 24. (20d) 6. Metody Rungego-Kutty 29
Warto zaznaczyć, iż po zastosowaniu (18c) niektóre z równań na współczynniki sa spełnione tożsamościowo, co stanowi nieako test wewnętrzne spóności teorii. Równania (20a) (20d), łacznie z równaniami (19a) (19b) oraz (18a) (18c), opisua wszystkie metody RK rzędu czwartego. Równania określaace metody czwartego rzędu narzucaa sześcienne zwiazki pomiędzy współczynnikami α, β. Wyrażenia, które musza spełniać współczynniki metod wyższego rzędu, wyprowadza się na te same zasadzie co powyższe, sa one ednak bardzie skomplikowane. W dowolnym rzędzie p równania te zawieraa człon i narzucaa zwiazki rzędu p 1. i=1 w i α p 1 i = 1 p (21) 6. Metody Rungego-Kutty 30
Stabilność metod RK W celu zbadania stabilności metody RK, zaburzmy y n w (1a) oraz (1b) przez pewne ε n, przy czym ε n 1. W miesce (1a) otrzymamy y n+1 + ε n+1 = y n + ε n + h y n + ε n + h i=1 i=1 w i k i (y n + ε n ) w i k i (y n ) + h i=1 w i L i ε n = y n+1 + ε n + hw T Lε n = y n+1 + Gε n, (22) 6. Metody Rungego-Kutty 31
L i,i = 1,..., s, sa macierzami o składowych [L i ] µν = (k i) µ (ε n ) ν, (23) L oznacza wektor złożony z tych macierzy, w T = [w 1,..., w s ] T, zaś G = I + h w T L est macierza wzmocnienia. Metoda est stabilna, gdy wszystkie wartości własne macierzy wzmocnienia G spełniaa zależność g < 1 (wrtości własne g moga być zespolone). Kluczowe stae się obliczenie macierzy L i. Mamy 6. Metody Rungego-Kutty 32
(k i ) µ (ε n ) ν = = ( f ( N J µσ σ=1 x n + α i h, y n + ε n + h s β i k (y n + ε n ) δ σν + h =1 (ε n ) ν ) )) ( k β σ i. (24) (ε n ) ν µ J est macierza Jacobiego funkci f po drugim argumencie. Formalnie rzecz biorac, e elementy należałoby obliczać w każdym punkcie pośrednim z osobna. Przymimy ednak przybliżenie polegaace na tym, iż obliczamy tę macierz w lewym krańcu przedziału prowadzi to do poprawek wyższego rzędu w h. 6. Metody Rungego-Kutty 33
Reprezentaca diagonalna Przedźmy do reprezentaci, w które macierz ta est diagonalna i oznaczmy przez λ pewna wartość własna macierzy J. Formalnie rzecz biorac, poniższa procedurę należy powtórzyć dla wszystkich wartości własnych J, okaże się ednak, że nie est to konieczne. Równanie (24) możemy przepisać teraz w postaci L i = λ 1 + h =1 β i L, i = 1,..., s. (25) (25) est układem równań, z którego można wyliczyć poszukiwane wielkości L i. 6. Metody Rungego-Kutty 34
Współczynnik wzmocnienia Układ ten można zapisać w postaci [I λhb] L = λê, (26) gdzie ê = [1, 1,..., 1] T, zaś [B] i = β i. Oznaczaac z = λh, ostatecznie otrzymuemy następuace wyrażenie na współczynnik wzmocnienia: g = 1 + z w T [I zb] 1 ê. (27) g est liczba, nie macierza; macierzowość macierzy wzmocnienia G brała się z macierzowości akobianu, a skoro akobian zastapiliśmy wartościa własna, G zastapiliśmy e wartościami własnymi. 6. Metody Rungego-Kutty 35
Obszar stabilności Badanie stabilności metod RK sprowadza się teraz do wyznaczenia obszaru stabilności metody, to est zbioru takich z C, że współczynniki g wyliczone dla wszystkie wartości własnych macierzy Jacobiego spełniaa g < 1. Metoda RK est stabilna, eśli dla wszystkich wartości własnych macierzy Jacobiego we wszystkich punktach pośrednich, z = h (wartość własna) należy do obszaru stabilności. Zauważmy, że w ten sposób uwolniliśmy się nieako od szczegółów równania, które rozwiazuemy: własności równania (funkci f) tkwia w wartościach własnych macierzy Jacobiego, czyli w liczbach z. Kształt obszaru stabilności zależy tylko od wybrane metody RK. 6. Metody Rungego-Kutty 36
Obszar stabilności klasyczne czterokrokowe metody Rungego-Kutty 3 2 1 0-1 -2-3 -3-2.5-2 -1.5-1 -0.5 0 0.5 6. Metody Rungego-Kutty 37
Obszary stabilności metod awnych i nieawnych Współczynnik wzmocnienia g może być albo funkca wymierna, albo wielomianem w z. W tym drugim przypadku obszar stabilności metody est z cała pewnościa skończony, ako że każdy wielomian rośnie nieograniczenie (na moduł) przy z. Jeśli natomiast współczynnik g est funkca wymierna w z, to est możliwe, że obszar stabilności metody est nieograniczony. Jeśli w szczególności cała lewa półpłaszczyzna płaszczyzny zespolone należy do obszaru stabilności, mówimy, że metoda est A stabilna. Oznacza to, że dowolnie wielki krok h nie prowadzi do utraty stabilności (oczywiście nie znaczy to, że rozwiazanie numeryczne uzyskane z krokiem h 0 będzie miało wiele wspólnego z rozwiazaniem analitycznym znaczy to tylko, że bład z poprzednich kroków nie przenosi się do kroków następnych). 6. Metody Rungego-Kutty 38
W aki sposób g może stać się funkca wymierna w z? Może się tak stać tylko przy obliczaniu [I zb] 1, a eszcze ściśle, przy dzieleniu przez wyznacznik det [I zb]. Zauważmy, że dla metody awne macierz B ma tylko elementy poddiagonalne, a zatem det [I zb] = 1, a skoro tak, to g sa wielomianami w z. Widzimy zatem, że awne metody RK maa ograniczony obszar stabilności tylko metody nieawne moga mieć nieograniczony obszar stabilności. 6. Metody Rungego-Kutty 39