. Integrazione numerica I metodi di integrazione numerica per le equazioni differenziali consistono nel determinare schemi ricorrenti che generano orbite discrete vicine a quelle esatte. Uno schema di integrazione di ordine m è una mappa da t a t + t che approssima il flusso esatto S t+ t,t a meno di un termine ( t) m+1, detto errore locale di discretizzazione. L errore in un intervallo di tempo finito [0, t] è in generale stimato da ( t) m e Lt se non si fanno altre ipotesi sul campo vettoriale tranne quelle di regolarità. Vi sono schemi di integrazione che preservano proprietà geometriche o simmetrie del flusso. Per le equazioni di Hamilton gli schemi di integrazione simplettici, sono mappe il cui jacobiano è una matrice simplettica al pari di quello del flusso..1. METODO DI EULERO Per l equazione differenziale ẋ(t) = Φ(x(t), t) dove x R d la differenza tra x(t + t) x(t) (S t+ t,t 1)x(t) si ottiene tramite lo sviluppo di Taylor al primo ordine x(t + t) x(t) = tφ + E 1 (.1.1) oppure al secondo ordine x(t + t) x(t) = tφ + ( t) [ Φ x Φ + Φ ] t + E (.1.) dove Φ è valutata in x(t), t al pari dei resti E 1 ed E che sono di ordine ( t) e ( t) 3
4. Integrazione numerica c 88-08- 980 rispettivamente. Se il sistema è autonomo troncando la serie di Lie si ha m x(t + t) x(t) = (e t D Φ 1)x(t) = ( t) j j=1 j! D j Φ x(t) + E m (.1.3) dove il E m è di ordine ( t) m+1. Gli schemi di integrazione, detti di Eulero, si ottengono trascurando il resto. Lo schema del primo ordine è dato da x k+1 x k = tφ(x k, t k ) dove t k = k t, ed in modo del tutto simile si ottengono gli schemi di ordine superiore. Notiamo che uno schema di integrazione differisce dalla mappa di Poincaré di un sistema periodico perché le successioni di punti che genera sono prossime all orbita esatta anziché appartenere ad essa, come mostra schematicamente la figura.1.1. Figura.1.1. Sezione di Poincaré (lato sinistro), integrazione numerica (lato destro). Errore locale ed errore globale Scriviamo l evoluzione tra t e t + t x(t + t) x(t) (S t+ t,t 1)x(t) = tψ ( x(t), t ) + E ( x(t), t ), (.1.4) supponendo che Ψ sia lipschitziana ed il resto E, detto errore locale di discretizzazione, sia di ordine m Ψ(y, t) Ψ(x, t) L x y, E ( t) m+1 M (.1.5) in un dominio compatto D R d. Lo schema di integrazione è fornito dalla ricorrenza x k+1 x k = t Ψ(x k, t k ) (.1.6) dove t k = k t. In ogni intervallo [t k + t, t k ] la mappa esatta S tk + t,t k differisce dallo schema di integrazione per l errore locale E. La norma della differenza tra la soluzione esatta al tempo t k e la soluzione approssimata definita da (.1.6) costituisce l errore globale e k = x(k t) x k (.1.7) Teorema. Per uno schema di integrazione di ordine m che soddisfi (.1.6) l errore globale è limitato da e k ( t) m M [ e Lt k 1 ] (.1.8) L
c 88-08- 980.. Metodo di Runge-Kutta 43 Infatti prendendo la differenza tra (.1.4) valutato per t = t k e (.1.6) si ha x(t k+1 ) x k+1 x(t k ) x k + t Ψ(x(t k ), t k ) Ψ(x k, t k ) + E (.1.9) L errore e k soddisfa la disuguaglianza e k+1 e k + tle k + M( t) m+1 (.1.10) e, scelto lo stesso punto iniziale x 0 = x(0) cui corrisponde e 0 = 0, è maggiorato da e k che soddisfa la ricorrenza e k+1 = (1 + tl)e k + M( t) m+1 (.1.11) inizializzata da e 0 = 0. Infatti e 1 M( t) m+1 = e 1 e supposto e k e k si ha e k+1 e k + tle k +M( t) m+1 = e k+1 e dunque per induzione la disuguaglianza è vera qualunque sia k. La parte omogenea della ricorrenza ha come soluzione c(1+l t) k dove c è una costante arbitraria e la soluzione di (.1.1) si ottiene aggiungendo una soluzione particolare della ricorrenza non omogenea cioè ( t) m M/L. La costante c è fissata da e 0 = 0 e k e k = ( t) m M L [ (1 + tl) k 1 ] ( t) m M L (elk t 1) (.1.1) La stima esponenziale non è migliorabile se non si fanno ipotesi più specifiche sulla natura del campo vettoriale... METODO DI RUNGE-KUTTA I metodi di Eulero richiedono il calcolo delle derivate del campo Φ(x, t) rispetto a x e t. Per evitare questo calcolo, oneroso per gli schemi di ordine elevato poiché va fatto analiticamente, sono stati sviluppati altri schemi detti di Runge-Kutta, che richiedono solo la valutazione del campo. Lo schema del secondo ordine si basa sulla identità seguente Ψ(x, t) 1 [Φ(x, t) + Φ(x + tφ(x, t), t + t)] = = Φ(x, t) + t [ ] Φ Φ (x, t) Φ(x, t) + (x, t) + O ( ( t) ) (..1) x t ed il corrispondente algoritmo che definisce lo schema di Runge-Kutta è [ 1 x k+1 x k = t Φ(x k, t k ) + 1 ( Φ x k + tφ(x k, t k ), t k + t) ] (..) In generale uno schema di Runge-Kutta si scrive nella forma seguente m Ψ = A j K j, K 1 = Φ(x, t), K j = Φ(x+β j tk j 1, t+α j t), j (..3) j=1
44. Integrazione numerica c 88-08- 980 dove i pesi A i con i 1 ed i coefficienti α i, β i con i si determinano imponendo che l errore di discretizzazione sia ( t) m+1. Per m= si ricava che A 1 +A =1, A α =A β = 1 che ammette una famiglia ad un parametro µ con 0<µ<1 di soluzioni α =β =(µ) 1 e A 1 =1 µ, A =µ; lo schema (..3) corrisponde a µ= 1. Per lo schema del quarto ordine m=4 occorre risolvere un sistema algebrico la cui soluzione è A 1 =A 4 = A = A 3 = 6 1, α =β =α 3 =β 3 = 1, α 4=β 4 =1. Scritto per esteso lo schema di Runge-Kutta del quarto ordine, che è tra i più frequentemente usati per l integrazione numerica, diventa K 1 = Φ(x k, t k ) K = Φ(x k + t K 1, t k + t ) K 3 = Φ(x k + t K, t k + t ) (..4) K 4 = Φ(x k + tk 3, t k + t) x k+1 = x k + t 6 [K 1 + K + K 3 + K 4 ] Poiché l errore globale è spesso fortemente sovrastimato da (.1.8), in particolare nel caso di moti periodici o quasiperiodici, una valutazione più attendibile si ottiene se l equazione ammette un integrale primo. Se H(x) è l integrale primo di un sistema autonomo H(x k ) = H(x(t k )) + H x (x(t k)) e k + O(e k) = H(x 0 ) + H x (x(t k)) e k + O(e k) (..5) dove e k = x k x(t k ). La variazione H(x k ) H(x 0 ) dell integrale primo fornisce la proiezione dell errore sulla normale alla superficie H(x) = E, dopo aver diviso per H/ x fintanto che esso si mantiene sufficientemente piccolo da poter trascurare O(e k ) in (..5)..3. INTEGRATORI SIMPLETTICI Le equazioni del moto di un sistema conservativo con d gradi di libertà e hamiltoniano H = p / +V (q) sono q = p, ṗ = f(q) dove f(q) = grad V (q). Uno schema di Eulero del primo ordine si scrive q k+1 = q k + tp k (.3.1) p k + tf(q k ) p k+1 La matrice jacobiana della mappa (.3.1) non è simplettica. Se d = 1 ad esempio il suo determinante vale 1 ( t) f (q k ). Lo schema alternativo di integrazione definito da q k+1 = I t q k (.3.) 0 I p k + tf(q k ) p k+1
c 88-08- 980.3. Integratori simplettici 45 dove I è l identità d d risulta simplettico, perché la sua matrice jacobiana M soddisfa MJ M = J. Se d = 1 si verifica subito che il determinante jacobiano vale 1. Uno schema simplettico si ottiene sostituendo al flusso esatto in un intervallo di tempo t, la composizione di due o più flussi hamiltoniani noti esplicitamente. Se H = T(p) + V (q) allora il flusso e t D T x generato da T ed il flusso e t D V x generato da V sono noti esplicitamente e la loro composizione approssima il flusso e t D H x con un errore ( t) e td T e td V e td H = ( t) D [V,T] + O ( ( t) 3) (.3.3) Per provarlo sviluppiamo gli esponenziali ponendo A = D T, B = D V, τ = t e τa e τb e τ(a+b) = (1 + τa + τ A +...)(1 + τb + τ B +...) [1 + τa + τb + τ A + τ B + τ = τ (AB BA) + O(τ3 ) (AB + BA) +...] = (.3.4) ed osserviamo che dalla identità di Jacobi segue AB BA = D T D V D V D T = D [V,T]. Uno schema simplettico del secondo ordine è dato da come dimostra la seguente identità. e 1 td T e td V e 1 td T e td H = O(( t) 3 ) (.3.5) e τ A e τb e τ A e τ(a+b) = O(τ 3 ) (.3.6) Confronto per l oscillatore È istruttivo paragonare il metodo di Eulero ed un metodo simplettico, su di un esempio quale l oscillatore armonico evidenziando la profonda differenza che esiste tra i due schemi, come mostra la figura (.3.1). In entrambi i casi la ricorrenza è lineare. Gli autovalori della matrice hanno modulo maggiore di 1 nel primo caso, uguale ad 1 nel secondo; le orbite sono su di una spirale nel primo caso, su di una ellisse nel secondo. La stabilità stessa del punto di equilibrio e la topologia delle orbite è diversa per il metodo di Eulero mentre rimane inalterata per lo schema simplettico. Per un oscillatore armonico il cui hamiltoniano è H = 1 p + 1 q ω scriviamo i due schemi di integrazione (.3.1) e (.3.) nella forma ( qk+1 ) ( qk ) = M dove le matrici ME ed M S per gli schemi di Eulero e simplettico sono p k+1 p k date da M E = 1 t, M S = 1 ω ( t) t, (.3.7) ω t 1 ω t 1
46. Integrazione numerica c 88-08- 980 p p x x Figura.3.1. Schemi di integrazione applicati all oscillatore armonico: di Eulero (lato sinistro), simplettico (lato destro). La matrice M E dello schema di Eulero ha autovalori λ = 1 ± iω t = e µ±iα ; dopo aver calcolato la matrice U degli autovettori valutiamo l iterato k-esimo di M E, per confrontarlo con la matrice fondamentale X(t k ) dell oscillatore, data da (10.4.0), ove t k = k t M k = ekµ cos(kα) ω 1 sin(kα) α = ω t 1 3 ω3 ( t) 3 +..., E ω sin(kα) cos(kα) µ = 1 ω ( t) +... (.3.8) L errore percentuale sulla fase rispetto alla soluzione esatta è di ordine ω ( t) mentre l ampiezza ha una crescita esponenziale in ω t k t; dopo un numero di periodi t k /T uguale al numero di iterazioni T/ t su un periodo, la crescita in ampiezza quindi è di ordine 1. Nello schema simplettico gli autovalori hanno modulo 1 e sono dati da e ±iα dove cosα = 1 1 ω ( t) che si può riscrivere sin(α/) = ω t/. Dopo aver calcolato gli autovettori troviamo che la matrice iterata k volte è data da M k = S cos α(k + 1/) cos(α/) ω t sinα sin(kα) cos α(k 1/) cos(α/) sin(α/) ω tcos(α/) sinkα, α = ω t + 1 4 ω3 ( t) 3 +... (.3.9) L errore in fase è dello stesso ordine di quello del metodo di Eulero ma l ampiezza è ora costante, l orbita è su una ellisse e l errore sui semiassi è di ordine ( t).