Metodi matematici dell’astronomia Equazioni differenziali e sistemi di equazioni differenziali (continua) Si ricorda innanzitutto che, pur riferendoci per semplicità a una singola eq. diff., tutto ciò che si dice vale anche per sistemi (basta sostituire il simbolo di vettore a y e f(x,y)). Per quanto riguarda l’errore, una maggiorazione dell’errore di troncamento globale si può fare in analogia con quanto visto per la formula di quadratura numerica del trapezio e del rettangolo, sommando gli errori locali fatti a ogni passo: N p p h N ( p) h t y ( n ) N p! n1 p! y ( p) n 1 N ( n ) hp (b a ) ( p) y ( ) p! h che corrisponde al fatto che, globalmente, un metodo localmente di ordine p diventa di ordine p-1. Naturalmente, non conoscendo la soluzione esatta y(x) la maggiorazione d’errore va fatta utilizzando il fatto che y=f(x,y), per cui y= f (x,y) Metodi matematici dell’astronomia f ' ( x, y ) df f f f f y' f dx x y x y che permette una stima d’errore effettuando la maggiorazione di f’(x,y) com funzione di 2 variabili. Metodi di Runge-Kutta Sono metodi che utilizzano valutazioni della funzione f(x,y) in un insieme di punti entro l’intervallo xn, xn+h. Il più semplice di tali metodi è il Metodo di Heun (metodo di R-K del 20 ordine). Si basa su un’approssimazione trapezoidale esplicita, cioè sull’ottenere l’approx. di y in xn+1= xn+h come 1 yn 1 yn h f ( xn , yn ) f ( xn 1 , y ( 1 ) n 1 ) , 2 dove al posto di yn+1 (che renderebbe il metodo implicito) c’è una sua approx. y(1)n+ data da una passo di Eulero in avanti Metodi matematici dell’astronomia yn( 11) yn hf ( xn , yn ). Risulta chiaramente che tale metodo equivale alla valutazione di yn+1 come media aritmetica di 2 stime avanzate: y(1)n+1, appunto, e y(2)n+1 definita come un passo di Eulero semi-implicito y (2) n 1 (1) (2) y y n 1 n 1 yn hf ( xn 1 , y n 1 ) per cui: yn 1 . 2 (1) Si verifica che y(x;h)-y(x)=c2(x)h2+c3(x)h3+···+, quindi il metodo è di 20 ordine. Il più usato tra i metodi di R-K è quello del 40 ordine, definito dalla sequenza di calcoli: Metodi matematici dell’astronomia k1 hf ( xn , yn ), 1 1 k 2 hf ( xn h , yn k1 ), 2 2 1 1 k3 hf ( xn h , yn k 2 ), 2 2 k 4 hf ( xn h , yn k3 ), yn 1 yn Poichè, come si può verificare, si ha y(x;h)-y(x)=c4(x)h4+c5(x)h5+···+ Il metodo è del 40 ordine. 1 k1 2k2 2k3 k4 . 6 Interpretazione euristica delle formule di R-K Nell’intervallo [xn,xn+1], dove xn+1 xn+h, la sol. esatta dell’eq. diff. darebbe L’idea dei metodi di R-K consiste nell’ y( x h ) y( x ) f ( x , y( x ))dx; approssimare l’integrale usando i dati disponibili. Ad es., il metodo di Heun si xn h n n xn Metodi matematici dell’astronomia ricava immediatamente se f dipende solo da x. In tal caso, infatti, si può approssimare l’integrale con la formula del trapezio: xn h xn f ( x )dx f ( x n ) f ( xn h ) h, 2 che è appunto la formula di Heun per f che non dipende da y. L’errore della form. di Heun sarebbe lo stesso della formula trapezoidale se si conoscesse f(xn+1,y(xn+1)) da mettere nell’appross. dell’integrale. Poichè invece si usa f(xn+1,y(1)(xn+1)), che ha un errore locale: y( k ) ( xn ) k y( xn1 ) yn1 y( xn1 ) yn y' ( xn )h h , k! k 2 (dove y(xn)=f(xn,yn)) ecco che la f. di Heun ha errore che contiene tutte le potenze 2 di h, mentre quella trapezoidale contiene solo le potenze pari maggiori o uguali a 2. Metodi matematici dell’astronomia Similmente, il metodo di R-K del 40 ordine si ricava immediatamente se f=f(x) approssimando l’integrale con la formula di Simpson, considerando anche il punto di mezzo tra xn e xn+1, xn+1/2xn+h/2: y( xn 1 ) y( xn ) xn1 xn 1 h f ( x )dx f ( xn ) 4 f ( xn ) f ( xn h ) 6 2 che è proprio l’espress. di R-K, tenuto conto che k2=k3 poichè f dipende solo da x. L’errore globale è quindi del 40 ordine, come nel metodo di S., anche nel caso generale f=f(x,y). Metodi matematici dell’astronomia Metodi impliciti (predictor-corrector) Il più semplice metodo implicito è quello trapezoidale 1 yn 1 yn h f ( xn , yn ) f ( xn 1 , yn 1 ), 2 (si noti che tale metodo corrisponde alla media aritmetica fra un passo di Eulero in avanti e uno indietro, da cui il nome, anche, di m. “di Eulero modificato”). Il metodo è chiaramente implicito, in quanto yn+1 appare come argomento di f(x,y); l’espressione è quindi del tipo yn+1=F(xn,xn+1,yn,yn+1). Se, quindi, f è una funzione non-lineare si tratta di risolvere un’eq. (o un sist. d’eq.) non-lineare a ogni passo d’integrazione. Ricordando le considerazioni generali sui m. iterativi risulta spontaneo l’utilizzo di un metodo iterativo tipo Metodi matematici dell’astronomia 1 1 1 yn( k11 ) F ( xn , xn 1 , yn ; yn( k1) ) yn hf ( xn , yn ) hf ( xn 1 , yn( k1) ) un hf ( xn 1 , yn( k1) ), 2 2 2 in cui l’indice iterativo è in realtà un apice (k). E’ possibile verificare che un criterio suff. per la convergenza del m. iterativo nel caso di un sistema è, in analogia col caso della singola eq. 1 f h 1 2 yn con l’usuale significato dei simboli di norma matriciale, derivate di vettori, ecc.. La convergenza è tanto più rapida quanto più piccola è la norma della matrice delle derivate della funz. vett. f(x,y). Una scelta iniziale y(0)n+1 valida e spontanea è quella di un passo di Eulero esplicito: y(0)n+1= y(0)n+hf(xn,yn). La scelta iniziale si chiama “predittore” (predictor) e la correzione iterativa “correttore” (corrector), per cui il m. implicito si chiama predictor-corrector. Metodi matematici dell’astronomia La fine del procedimento iterativo può avvenire quando è soddisfatta una condizione d’errore yn( k11 ) yn( k1) , con >0 prescelto, oppure prefissando un numero massimo, kmax , di iterazioni (la cosa migliore è la combinazione dei 2 criteri). Si noti che il metodo di Heun corrisponde alla scelta kmax=1. E’ ovvio che un buon predictor riduce il numero di iterazioni necessarie per arrivare a una buona approssimazione di yn+1. Metodo di Adams-Bashforth-Moulton Il più noto, e usato, m. predictor-corrector è quello di Adams-Bashforth -Moulton. E’ del 50 ordine localmente sia nel predictor Metodi matematici dell’astronomia (Adams-Bashforth) che nel corrector (Adams-Moulton). Le espressioni sono Predictor (A-B) yn 1 yn 1 h55 f n 59 f n 1 37 f n 2 9 f n 3 O( h 5 ). 24 Corrector (A-M) yn 1 yn 1 h9 f n 1 19 f n 5 f n 1 f n 2 O( h 5 ). 24 Nelle espressioni di sopra fn=f(xn,yn), ecc.. Il predictor serve chiaramente a evitare che il corrector sia una complicata espressione implicita per yn+1 (yn+1 ottenuto col predictor va messo in fn+1 nel corrector). Il metodo risulta quindi globalmente del 40 ordine. Metodi matematici dell’astronomia Un metodo alle differenze per un’eq. diff. del 20 ordine Eq. della forma y=f(x,y), con le c.i. y(a)=, y(a)= s’incontrano spesso in Fisica e astronomia (le equazioni del moto sono di quel tipo, dove a primo membroc’è l’accelerazione e l’espressione a secondo membro è la legge di forza ). Naturamente una possibilità di soluzione numerica pass attraverso la consueta riscrittura come sistema di eq. diff. del 10 ordine. Si possono usare, però, anche approssimazioni dirette (alle differenze) dell derivata seconda come quella (ottenibile dalla somma m. a m. di uno sviluppo di Taylor per yn+1 e per yn-1) y' ' ( xn ) yn 1 yn 1 2 yn , h2 e della derivata prima (sempre al 20 ordine e sempre con la combinazione Metodi matematici dell’astronomia lineare di 2 sviluppi di Taylor in avanti e indietro): y' ( xn ) yn 1 yn 1 . 2h Ne risulta il metodo (chiamato metodo centrale esplicito alle differenze) yn 1 2 yn yn1 h 2 f n , y0 , y1 y1 2h . Che non può essere utilizzato finchè non si elimina y-1 dall’espress. Alle differenze della c.i. sulla derivata. Tale eliminazione si può fare esprimendo y-1 tramite la prima relazione del metodo scritta per n=0, ottenend yn1 2 yn yn1 h 2 f n , 1 y0 , y1 y0 h h 2 f 0 . 2 Metodi matematici dell’astronomia Problemi stiff Alcuni problemi differenziali sono tali da essere intrinsecamente difficili da risolvere numericamente in maniera affidabile. Questi problemi sono detti stiff (rigidi, difficili). Vediamo con alcuni esempli. a) L’eq. y=100y ha soluzione esatta y(x)=c1e10x+c2e-10x. L’esponenziale crescente è assente quando le c.i. sono y(0)=1 e y(0)=-10. In tal caso la c1=0, c2=1 e la sol. è y(x)=e-10x. Applicando al problema detto i metodi Numerici precedentemente visti si verifica però che la soluzione dopo un po’ invece di convergere a zero esplode positivamente o negativamente con andamento e10x, come se c1 fosse diverso da zero. Il motivo è la transizione, per errore di arrotondamento, dalla soluzione “esatta” corrispondente alle c.i. date a una adiacente che corrisponde alla generale c. lineare dei 2 esponenziali. Metodi matematici dell’astronomia Per capire meglio la cosa si suggerisce per es. di studiare il problema perturbato y=100y, y(0)=1 e y(0)=-10+, la cui sol. è y(x)=( /20)e10x+(1- /20) e-10x, che corrisponde, in pratica, all’effettiva soluzione numerica del problema. Un altro tipico problema stiff è quello della presenza di “scale temporali Multiple” nella soluzione, come si può vedere con l’esempio del sistema: u' 998u 1998v v' 999u 1999v u( 0 ) 1 v( 0 ) 0. La sol. del sistema si ottiene ponendo u=2y-z e v=-y+z, sostituendo e sommando m. a m. e moltiplicando la 2a eq. per 2 e poi sommando m. a m. Metodi matematici dell’astronomia y' y , z' 1000 z , Il sistema si disaccoppia in cioè: u( x ) 2e x e 1000x , v( x ) e x e 1000x . Nelle sol. ci sono due componenti esponenziali che decadono entrambe ma con “tempi di decadimento” molto diversi, una delle 2 avendo un “tempo di decadimento” 1000 volte più grande. Questo vuol dire che un metodo numerico esplicito per essere accettabile deve usare un passo che Sia in grado di seguire la soluzione più rapidamente variabile. Poichè una ragionevole scelta del passo si ottiene richiedendo che tra n e n+1 l’incremento relativo di y sia inferiore a una costante prefissata: hn1 yn , f ( xn , yn ) ecco che nell’esempio sopra dato il passo risulta hn+1=min(1,1/1000) Metodi matematici dell’astronomia con ovvio sovraccarico di calcoli, che implica lungo tempo d’attesa e aggravio nell’errore accumulato di arrotondamento e troncamento. Qunado ci sono problemi stiff, instabili, è opportuno ricorrere a metodi Impliciti. Vediamo, infatti, che il metodo esplicito di Eulero soffre di instabilità per h grande nel caso di un’ eq. tipo y=-cy, c>0. In tal caso il m. di E. esplicito dà: yn+1=(1-ch)yn. Tale metodo diverge se |1-ch|>1, cioè (essendo c,h>0) se ch>2 h>2/c, mentre la sol. esatta converge a zero. Il metodo di E. implicito applicato all’eq. y=-cy dà invece yn+1=yn/(1+ch) che risulta stabile perchè converge a zero anche se h è grande (se però si usa h grande la soluzione può essere molto poco accurata anche se tende correttamente a zero per x grande). Anche il metodo del trapezio (implici- Metodi matematici dell’astronomia to del 20 ordine) è stabile, se applicato all’eq. sopra scritta. Infatti dà 1 1 hc 2 y yn 1 n, 1 1 hc 2 e quindi yn+1 converge a zero. Tutte queste considerazioni permangono valide per sistemi di eq. diff. lineari del tipo y=-Cy, dove C è una matrice definita positiva, e anche a sistemi y=f(x,y), dopo linearizzazione di f(x,y). Controllo del passo d’integrazione Un’integrazione accurata e sufficientemente rapida richiede controllo e modifica del passo h. Una possibilità è il controllo e modifica precedente- Metodi matematici dell’astronomia mente vista, che consisteva nell’ utilizzare (per avanzare la soluzione da xn a xn+1) un passo, hn+1, che fosse abbastanza piccolo da limitare la variazion relativa di y tra yn e yn+1 ottenibile con un passo di Eulero in avanti. Tale metodo è grossolano ma semplice da implementare. Un controllo forse migliore è quello che viene dalla scelta di un passo h ch limiti l’errore per passo a un valore prefissato. Esso si basa su una scelta di h e sulle valutazioni y(1)n+1 e y(2)n+1 a xn+1=xn+h ottenute, rispettivamente, con un passo h e con 2 passi h/2. Ricordando l’espressione che dà origine all’estrapolazione di Richardson ln y( x h ) y (2) n 1 yn( 21) yn( 11) 2 1 p h cn 2 p 1 , Si può fermare l’operazione di dimezzamento del passo quando si ha ln<h.