Komputerowa analiza zagadnień różniczkowych 4. Metody Rungego-Kutty (I) P. F. Góra http://th-www.if.u.edu.pl/zfs/gora/ 200
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+ = y n + h i= ( k i = f t n + hα i, y n + h w i k i + O(h p+ ), = (a) ) β i k. (b) Równania () definiua s-etapowa 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. Copyright c 2009-0 P. F. Góra 4 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 (a) mamy y lim n+ y n h 0 + h = w i i= dt lim k h 0 + i. (2) Granica lewe strony (2) est oczywiście dy = f(t n, y n ). Z (b) wynika, n że lim k h 0 + i = f(t n, y n ), a zatem warunkiem zgodności metod RK est i= w i =. (3) Copyright c 2009-0 P. F. Góra 4 3
Zapis metod RK w postaci tabeli Współczynniki metody RK zapisue się na ogół w postaci tabeli α β β 2... β s α 2. β 2. β 22..... β 2s. α s β s β s2... β ss w w 2... w s = α B w T. (4) Copyright c 2009-0 P. F. Góra 4 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. Copyright c 2009-0 P. F. Góra 4 5
Zależność pomiędzy ilościa etapó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ść etapów potrzebych do zrealizowania metody awne danego rzędu podae poniższa tabela: Rzad metody 2 3 4 5 6 7 8 Minimalna ilość etapów 2 3 4 6 7 9 Copyright c 2009-0 P. F. Góra 4 6
Przykłady metod RK Metody Eulera, awna i nieawna, sa, formalnie rzecz biorac, ednoetapowymi metodami RK rzędu. Ich tabelki maa postać 0 0 (awna) (nieawna) (5) Copyright c 2009-0 P. F. Góra 4 7
Jawna metoda punktu środkowego est dwuetapowa metoda rzędu drugiego k = f(x n, y n ), (6a) k 2 = f ( x n + 2 h, y n + 2 hk ), (6b) y n+ = y n + h k 2 + O(h 3 ) (6c) 0 0 0 2 2 0 0 Copyright c 2009-0 P. F. Góra 4 8
Nieawna metoda punktu środkowego est ednoetapowa metoda rzędu drugiego k = f ( t n + 2 h, y n + 2 hk ), (7a) y n+ = y n + hk + O(h 3 ). (7b) Tabelka dla te metody ma postać 2 2 Copyright c 2009-0 P. F. Góra 4 9
Klasyczna metoda czteroetapowa Naczęście stosowana metoda RK est klasyczna metoda czteroetapowa większość ludzi uważa, że termin metoda Rungego-Kutty określa tylko tę metodę k = f (t n, y n ), (8a) k 2 = f ( t n + 2 h, y n + 2 hk ), (8b) k 3 = f ( t n + 2 h, y n + 2 hk 2), (8c) k 4 = f (t n + h, y n + hk 3 ), (8d) y n+ = y n + h ( 6 k + 3 k 2 + 3 k 3 + 6 k 4) + O ( h 5 ). (8e) Copyright c 2009-0 P. F. Góra 4 0
Tabelka dla klasyczne metody czteroetapowe 0 0 0 0 0 2 2 0 0 0 2 0 2 0 0 0 0 0 6 3 3 6 Copyright c 2009-0 P. F. Góra 4
Zasady wyprowadzania współczynników metod RK Współczynniki metod RK rzędu p otrzymue się rozwiaac obie strony wyrażenia y n+ 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+ ) i żada ac równości współczynników rozwinięcia. Ponieważ 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. Te zasady sa słuszne dla równań skalarnych. Okazue się, że niekiedy, dla układów równań otrzymue się inne wyrażenia na rzad metody, niż w przypadku skalarnym. W ninieszym wykładzie pominiemy to zastrzeżenie. Copyright c 2009-0 P. F. Góra 4 2
Lewa strona Rozwiaac lewa stronę wyrażenia (9) otrzymuemy y n+ y n = p l= l! d l y dt l tn h l + O(h p+ ). (0) Mamy teraz dy = f(t, y) (a) 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) (b) y Copyright c 2009-0 P. F. Góra 4 3
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 (c) y f(t, y) 2 f + 4f 2 f 2 f y2 y y 2 ( ) 2 ( ) 3 f f + f. (d) y y Copyright c 2009-0 P. F. Góra 4 4
Prawa strona h i w i k i = h i = p l=0 p w i l=0 l! i l! d l k i dh l w i d l k i dh l 0 h l + O(h p ) 0 h l+ + O(h p+ ), (2) a zatem musimy obliczyć pochodne k i tylko do rzędu p, nie zaś p. Różniczkuac (b) i korzystaac z twierdzenia o funkcach uwikłanych otrzymuemy dk i dh = α f i t + f y β i k + h β i dk dh. (3a) Copyright c 2009-0 P. F. Góra 4 5
(3a) 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 Copyright c 2009-0 P. F. Góra 4 6
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 (3b) Copyright c 2009-0 P. F. Góra 4 7
( ) [ ( )] 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 + 2 dk β i dh y dh + h d 2 k β i dh 2 + f d 2 dk β i y dh dh + h d 2 k β i dh 2 β i dk dh 2 Copyright c 2009-0 P. F. Góra 4 8
= α 3 i 3 f t 3 + 3α2 i + 3α i 3 f t y 2 3 f t 2 y β i k + h 2 f + 3α i 2 t y + 3 2 f β y 2 i k + h + f 3 y β i dk dh + h β i d 2 k dh 2 + h β i k + h β i dk dh β i dk dh β i d 3 k dh 3 2 d 2 k β i dh 2 2 dk β i dh + 3 f y 3 β i dk dh + h β i k + h β i d 2 k dh 2 β i dk dh 3 (3c) Copyright c 2009-0 P. F. Góra 4 9
Jak uż powiedziano, powyższe wzory nie daa awnych wyrażeń na pochodne 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 Copyright c 2009-0 P. F. Góra 4 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 (4a) (4b) ( ) 2 β i f 2 2 f y 2 ( ) 2 f β i β q f, (4c) y Copyright c 2009-0 P. F. Góra 4 2
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. (4d) t y y,q,q,r Funkcę f i e pochodne należy teraz obliczać w punkcie (t n, y n ). Copyright c 2009-0 P. F. Góra 4 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. Copyright c 2009-0 P. F. Góra 4 23
p = W naniższym rzędzie uzgadniamy tylko współczynniki przy wyrazach rzędu h. Otrzymuemy! f = 0! i= w i f, czyli i= w i =, (5) 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. Copyright c 2009-0 P. F. Góra 4 24
p = 2 Aby metoda była rzędu drugiego, żadamy spełnienia (5) oraz następua- cych warunków dodatkowych, wynikaacych z postulatu zgodności współczynników przy wyrazach rzędu h 2 : i= w i i= = w i α i = 2, (6a) β i = 2. (6b) Copyright c 2009-0 P. F. Góra 4 25
Punkt ten wymaga pewne dyskusi. otrzymuemy Odemuac stronami (6a), (6b) i= α i β i = w i = 0. (7) Gdyby w i były liniowo niezależne, powyższy warunek oznaczałby, że koniecznie α i = s = β i. Ale w i nie sa liniowo niezależne, ako że wiaże e warunek zgodności (5)! W te sytuaci (7) 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 prawe stronie (7) i tak też uczynimy. Copyright c 2009-0 P. F. Góra 4 26
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 = β i. Wszystkie metody RK rzędu drugiego opisane sa zatem układem równań i= i= = w i =, (8a) w i α i = 2, (8b) β i = α i. (8c) Zauważmy, iż z (8c) wynika, że we wszystkich metodach awnych α = 0. Copyright c 2009-0 P. F. Góra 4 27
p = 3 W trzecim rzędzie dostaemy w i i= i= = w i α 2 i = 3, (9a) β i α = 6, (9b) gdzie skorzystaliśmy z (8c) w celu zmnieszenia ilości niezależnych równań. Równania te, wraz z równaniami (8a) (8c), opisua wszystkie metody RK rzędu trzeciego. Widać, że o ile równania (8a) (8c) narzucały zwiazki liniowe na współczynniki α, β, równania (9a) (9b) narzucaa zwiazki kwadratowe. Copyright c 2009-0 P. F. Góra 4 28
p = 4 W czwartym rzędzie, po skorzystaniu z (8c), ako nietrywialne równania dostaemy w i α i i= i= = w i i= = w i β i i= = l= w i α 3 i = 4, (20a) β i α = 8, (20b) β i α 2 = 2, (20c) β l α l = 24. (20d) Warto zaznaczyć, iż po zastosowaniu (8c) niektóre z równań na współ- Copyright c 2009-0 P. F. Góra 4 29
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 (9a) (9b) oraz (8a) (8c), 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= i narzucaa zwiazki rzędu p. w i α p i = p (2) Copyright c 2009-0 P. F. Góra 4 30
Metoda diagramowa Ręczne rozwianie obu stron wyrażenia (9) w szereg Taylora est żmudne i bardzo łatwo o pomyłki, zwłaszcza dla metod rzędu większego niż 4. J. C. Butcher rozwinał specalna metodę diagramowa, oparta o drzewa zakorzenione, bardzo ułatwiaac a wyliczanie wszystkich współczynników. Zobacz J. C. Butcher, Numerical Methods for Ordinary Differential Equations, Wiley, 2003, rozdział 3. J. C. Butcher, Trees and numerical methods for ordinary differential equations, Numer. Alg. 53, 53 (2009). Copyright c 2009-0 P. F. Góra 4 3
Przykład: Rzad awne metody punktu środkowego (6) 0 0 0 2 2 0 0 Sprawdzamy: w + w 2 = 0 + = metoda est co namnie rzędu pierwszego w α + w 2 α 2 = 0 0 + 2 = 2 β + β 2 = 0 = α ; β 2 + β 22 = 2 + 0 = 2 = α 2 metoda est co namnie rzędu drugiego w α 2 + w 2α 2 2 = 0 0 + () 2 2 = 4 3 trzeciego (ani wyższego). metoda nie est rzędu Copyright c 2009-0 P. F. Góra 4 32
Przykład: Rzad nieawne metody punktu środkowego (7) 2 2 w = = metda est rzędu co namnie pierwszego w α = 2 = 2 β = 2 = α metoda est co namnie rzędu drugiego w α 2 = () 2 2 = 4 wyższego). 3 metoda nie est rzędu trzeciego (ani Copyright c 2009-0 P. F. Góra 4 33
Stabilność metod RK W celu zbadania stabilności metody RK, zaburzmy y n w (a) oraz (b) przez pewne ε n, przy czym ε n. W miesce (a) otrzymamy y n+ + ε n+ = y n + ε n + h y n + ε n + h i= i= w i k i (y n + ε n ) w i k i (y n ) + h i= w i L i ε n = y n+ + ε n + hw T Lε n = y n+ + Gε n, (22) Copyright c 2009-0 P. F. Góra 4 34
L i,i =,..., s, sa macierzami o składowych [L i ] µν = (k i) µ (ε n ) ν, (23) L oznacza wektor złożony z tych macierzy, w T = [w,..., 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 < (wartości własne g moga być zespolone). Kluczowe stae się obliczenie macierzy L i. Mamy Copyright c 2009-0 P. F. Góra 4 35
(k i ) µ (ε n ) ν = = ( f ( N J µσ σ= x n + α i h, y n + ε n + h s β i k (y n + ε n ) δ σν + h = (ε 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. Copyright c 2009-0 P. F. Góra 4 36
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 = λ + h = β i L, i =,..., s. (25) (25) est układem równań, z którego można wyliczyć poszukiwane wielkości L i. Copyright c 2009-0 P. F. Góra 4 37
Współczynnik wzmocnienia Układ ten można zapisać w postaci [I λhb] L = λê, (26) gdzie ê = [,,..., ] T, zaś [B] i = β i. Oznaczaac z = λh, ostatecznie otrzymuemy następuace wyrażenie na współczynnik wzmocnienia: g = + z w T [I zb] ê. (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. Copyright c 2009-0 P. F. Góra 4 38
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 <. 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. Copyright c 2009-0 P. F. Góra 4 39
Przykład: Obszar stabilności awne metody punktu środkowego Badamy g = + z [ 0 ] ( I z [ 0 0 = + z [ 0 ] [ 0 z 2 = + z [ 0 ] [ 0 z = + z [ z 2 ] [ 2 ] ]) [ 2 0 ] [ ] ] [ ] = + z + z2 2 ] (28) Copyright c 2009-0 P. F. Góra 4 40
Brzeg obszaru stabilności znadziemy rozwiazu ac + z + z2 2 = eiφ dla φ [0, 2π]. + z + z2 2 =, czyli 2.0.5.0 0.5 0.0-0.5 -.0 -.5-2.0-3.0-2.5-2.0 -.5 -.0-0.5 0.0 0.5.0 Copyright c 2009-0 P. F. Góra 4 4
Przykład: Obszar stabilności nieawne metody punktu środkowego ( g = + z z ) 2 + z = 2 2 z, g 2 2 + z 2 = = (2 + x)2 + y 2 2 z (2 x) 2 + y 2 (29) gdzie z = x + iy. Widać, że g 2 < x < 0: Obszarem stabilności metody est cała lewa półpłaszczyzna. Copyright c 2009-0 P. F. Góra 4 42
Obszar stabilności klasyczne czteroetapowe metody Rungego-Kutty 3 2 0 - -2-3 -3-2.5-2 -.5 - -0.5 0 0.5 Copyright c 2009-0 P. F. Góra 4 43
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). Copyright c 2009-0 P. F. Góra 4 44
W aki sposób g może stać się funkca wymierna w z? Może się tak stać tylko przy obliczaniu [I zb], 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] =, 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. Copyright c 2009-0 P. F. Góra 4 45
Metody awne tego samego rzędu i o te same ilości punktów pośrednich Można udowodnić, że wszystkie awne s-etapowe metody rzędu p, maa, dla ustalonych s i p, takie same obszary stabilności. Na przykład awna metoda punktu środkowego i awna metoda trapezowa maa taki sam rzad i takie same obszary stabilności. Jaki est więc sens używania obu tych metod? Metody co prawda sa równoważne pod wymienionymi wyże względami, ale uzyskiwane wyniki sa numerycznie inne. Z rozmaitych powodów edna z metod może być wygodniesza w użyciu od innych naczęście chodzi o inna obsługę błędów. Możliwe sa także inne powody, dla których któraś z metod może być preferowana względem innych. Copyright c 2009-0 P. F. Góra 4 46
Metoda Gilla 0 0 0 0 0 2 2 2 0 0 0 2 2 0 6 2 2 2 0 0 2 2+ 2 2 2 0 2 2 6 2+ 2 6 6 (30) Jest to metoda awna, tego samego rzędu, co klasyczna metoda czteroetapowa (8), o takie same złożoności obliczeniowe i takim samym obszarze stabilności. Co zatem, potencalnie, przemawia za używaniem metody (30)? Okazue się, iż metodę tę można zaprogramować tak, aby zaoszczędzić pamięć przydzielana na eden wektor pośredni. Copyright c 2009-0 P. F. Góra 4 47
Rozpiszmy metodę Gilla awnie: k = f (x n, y n ), (3a) k 2 = f k 3 = f ( ( ( x n + 2 h, y n + 2 hk ), (3b) x n + 2 h, y n + 2 h ( ( 2 )k + (2 2)k 2 ) ) (3c) k 4 = f x n + h, y n + 2 h ( 2k 2 + (2+ ) ) 2)k 3, ( y n+ = y n + h 6 k + 2 2 k 2 + 2 + 2 k 3 + 6 6 6 k 4 ) (3d). (3e) Copyright c 2009-0 P. F. Góra 4 48
Do prawidłowego działania algorytmu trzeba, ak się wydae, zarezerwować pamięć potrzebna do przechowywania wektorów k,2,3,4. Można się ednak obyć bez zapamiętywania ednego z tych wektorów. Klucz polega na obserwaci, iż ostatnie wyrażenie można przepisać w ten sposób: y n+ = y n + 6 h ( k + 2k 2 + ( 2k 2 + (2 + 2)k 3 ) + k4 ). (32) W wyrażeniu (32) występue taka sama kombinaca wektorów, co w wyrażeniu (3d). Możemy wobec tego metodę Gilla zaprogramować przy użyciu następuacego pseudokodu: Copyright c 2009-0 P. F. Góra 4 49
k = hf (x n, y n ), (33a) ( ) k 2 = hf x n + 2 h, y n + 2 k, (33b) ( k 3 = hf x n + 2 h, y n + ( ( 2 )k + (2 ) ) 2)k 2 (33c) 2 k 3 = 2k 2 + (2+ 2)k 3, (33d) k 2 = k + 2k 2, (33e) ( k = hf x n + h, y n + ) 2 k 3, (33f) y n+ = y + 6 (k 2 + k 3 + k ). (33g) W ten sposób nie musimy przydzielać osobne pamięci do zapamiętania k 4, ako że recykluemy pamięć użyta do zapamiętania k. W czasach, gdy pamięci (ferrytowe) były koszmarnie drogie, miało to istotne znaczenie. Copyright c 2009-0 P. F. Góra 4 50