ODE PROBLEMA DI CAUCHY IN 1-D Sia f : I x RR, I R. Cerchiamo y: I R con y derivabile in I: x I (1) Se x t tale problema è detto PROBLEMA AI VALORI INIZIALI. Supponiamo che siano verificate le condizioni di esistenza e unicità della soluzione.
Teorema di esistenza e unicità Sia G n+1 un dominio e f : G n una funzione continua che soddisfi la condizione di Lipschitz: (x,u),(x,v) G e qualche costante L > 0. (x0,u0) G [x0-a, x0+a] con a > 0 tale che il problema abbia soluzione unica in tale intervallo.
METODI AD UN PASSO SUCCESSIONE DI APPROSSIMAZIONI DELLA y Esistono metodi numerici ad un passo o a più passi. DEF: Un metodo numerico si dice ad un passo se n 0, yn+1 dipende solo da yn. METODI AD UN PASSO Sviluppo in serie di Taylor di y(x) attorno xi. Supponendo che y(x) sia sufficientemente regolare tronchiamo al k-esimo termine :
Poiché è richiesto il calcolo delle derivate non è conveniente Poiché è richiesto il calcolo delle derivate non è conveniente. E’ meglio usare metodi ad un passo che utilizzano l’informazione al passo precedente per calcolare la soluzione al passo successivo.
METODO DI EULERO Ponendo k = 1 si ottiene : che è il metodo di Eulero in avanti o esplicito. Oppure che è il metodo di Eulero all’indietro o implicito. DEF: Un metodo si dice esplicito se yi+1 dipende solo dai valori ai passi precedenti. Un metodo si dice implicito se yi+1 dipende da se stessa attraverso f. Questi ultimi richiedono la risoluzione di un problema non lineare se f non è lineare in y.
METODO DEI TRAPEZI METODO DI HEUN dove si è posto . La suddetta formula è stata ricavata integrando la (1) ed applicando il metodo del trapezio. La formula appena esposta è stata ricavata applicando il metodo del trapezio ed utilizzando il metodo di Eulero in avanti per calcolare le yi+1. METODO DI HEUN
ANALISI DEI METODI AD UN PASSO Indicando, come prima, con y(xi+1) la soluzione in xi+1 e con yi+1 la soluzione approssimata in xi+1 si ha : dove è l’errore al passo i+1. Riscriviamolo come La quantità τi+1(h) è detta errore di troncamento locale. Definiamo, invece, errore di troncamento globale la quantità τ dipende dalla soluzione del problema di Cauchy.
La funzione incremento caratterizza completamente il metodo ad un passo ed è tale che Pertanto, poiché , si ha : che dà la consistenza del metodo numerico con il problema di Cauchy. Un metodo di dice consistente quando . Un metodo si dice consistente di ordine p se , h0. ES.:Dimostrare la consistenza dei metodi di Eulero ed Heun. da cui .
ZERO - STABILITA’ Un metodo numerico del tipo si dice zero-stabile se dove Zi e yi sono le soluzioni di : con Tale stabilità riguarda il comportamento del metodo numerico quando h0. Essa assicura che il metodo sia poco sensibile alle piccole perturbazioni.
DEF.: Un metodo si dice convergente se i Un metodo si dice convergente di ordine p se i TEOREMA DI CONVERGENZA Ip:-y(x) sia soluzione di -yi+1 sia soluzione approssimata, - sia Lipschitziana nella 2a variabile - -sia
Ts: Dim. ma con . Da cui la tesi.
Poiché la condizione di consistenza è 0 per h0, si ha: TEOREMA: Un metodo ad un passo è convergente se e solo se è consistente. Analizziamo più in dettaglio l’errore del metodo di Eulero esplicito. Sia: l’errore globale, cioè la differenza tra la soluzione analitica e quella approssimata, e sia: la soluzione ottenuta con un passo del metodo di Eulero esplicito.
INTERPRETAZIONE GEOMETRICA DEGLI ERRORI PER METODI AD UN PASSO Vediamo come è possibile controllare gli errori nei metodi ad un passo. Sia y(x) la soluzione di: y’ = f(x,y) y (x0) = y0 e sia yi una approssimazione ad y(xi) in qualche xi. y(xi)-yi rappresenta l’errore globale che è quello che vogliamo tenere limitato da una certa accuratezza e che è difficile da stimare.
Ciò che vogliamo fare è controllare l’errore globale controllando l’errore locale. INSERIRE DISEGNO
y(xi+1)-yi+1=[y(xi+1)-u(xi+1)]+[u(xi+1)-yi] Vediamo cos’e l’errore locale. ottenuto con il metodo. u(x) è una curva integrale di y’=f(x,y) che passa per yi, quindi soddisfa u’ = f(x, u) u(xi) = yi L’errore locale è quindi: u(xi+1)- yi+1 Esso quindi ci dice quanto bene può essere seguita la curva u(x) con un passo. Pertanto l’errore globale e locale sono correlati da: y(xi+1)-yi+1=[y(xi+1)-u(xi+1)]+[u(xi+1)-yi]
u(xi+1) = u(xi)+hΦ(xi, u(xi), h)+ht L’errore globale ha quindi due componenti: y(xi+1)-u(xi+1) misura di quanto distano le due curve integrali y(x) e u(x) (dipende quindi dalla ODE ed è legata alla “Stabilità” del problema); u(xi+1)-yi misura quanto bene il metodo risolve u’=f(x,u). u(xi)=yi, è legato al metodo e può essere reso piccolo aumentando l’accuratezza del metodo (decrescendo il passo h oppure aumentando l’ordine del metodo). Ricaviamo u(xi+1)-yi: u(xi+1) = u(xi)+hΦ(xi, u(xi), h)+ht ma u(xi)=y => yi+1 = u(xi)+hΦ(xi, yi, h)+ht => u(xi+1)-yi+1= ht
y’i+1 = yi+hФ2(xi, yi, h) q p<q Supponiamo di usare due metodi, uno di ordine p e uno di ordine q, e vediamo di stimare l’errore locale: Partiamo per entrambi da (xi, yi): yi+1 = yi+hФ1(xi, yi, h) p y’i+1 = yi+hФ2(xi, yi, h) q p<q Si ha: u(xi+1)=u(xi)+hФ1(xi, u(xi); h)+ht u(xi+1)=u(xi)+hФ2(xi, u(xi); h) +ht’ yi+1-y’i+1=ht – ht’ ovvero yi+1-y’i+1=ht+O(hq+1) => ht ~ yi+1-y’i+1 e quindi: u(xi+1)-yi+1≈ y’i+1-yi+1
ASSOLUTA STABILITA’ Tale tipo di stabilità riguarda la propagazione degli errori dei passi precedenti. Un metodo è assolutamente stabile se, per h fissato, yi è limitato per xi . Consideriamo il Problema Test: 1) Sol: y(t) = et se Re(λ)<0 => lim |y(t)| =0 t->0
METODO DI EULERO IN AVANTI DEF: Un metodo numerico è assolutamente stabile se yi, soluzione di 1) è tale che: yi 0 per ti 2) Poiché yi è funzione di hλ si ha: Regione di Assoluta Stabilità ≡ {z = hλ є C vera la 2)} METODO DI EULERO IN AVANTI Applichiamo il metodo alla 1): yi+1=yi+hλyi y0=1 => yi=(1+hλ)i la 2) è vera se: |1+h λ|<1
METODO DI EULERO INDIETRO R.A per Eulero in Avanti: hλ є C- 0<h<(2/|λ|) C-={z є C : Re(z)<0} Per ogni hλ non appartiene a {zєC: |z-1|<1} METODO DI EULERO INDIETRO
METODI DI RUNGE-KUTTA Tutti i metodi ad un passo possono essere dedotti, come già detto, dallo sviluppo in serie di Taylor: yi+1=yi+hTk(xi, yi; h) dove: Tk(xi, yi, h)=y’(xi)+h/2y’’(xi)+…+h^(k-1)/k! h(k)(xi) Il calcolo delle derivate di f può essere oneroso. D’altronde, i metodi visti precedentemente sono di basso ordine. Un buon compromesso tra la semplicità dei metodi di basso ordine e la serie di Taylor troncata ad un alto ordine è dato dai metodi di Runge-Kutta.
Rispetto ai metodi Multi-Step, che vedremo più avanti, si ha lo svantaggio che occorrono molte valutazioni della f per raggiungere la stessa accuratezza. L’idea dei metodi di R-K è di costruire formule del tipo: yi+1= yi+hΦ(xi, yi, h) Con Φ coincidente con Tk per un certo numero di termini senza l’utilizzo esplicito delle derivate. Per un certo metodi di ordine K: Φ(xi, yi, h)=A1f(θ1, γ1)+…+Akf(θk, γk) Per il metodo di Eulero, che può essere interpretato come R-K del 1° ordine, il punto (θ1, γ1) ≡ (x0, y0)
(xi, yi), (xi+αh, yi+αhf(xi, yi)) => Nei R-K del 2° ordine si hanno i punti: (xi, yi), (xi+αh, yi+αhf(xi, yi)) => Espandiamo f(xi+αh, yi+αhf(xi, yi)) attorno ad (xi,yi): da cui: ma:
Quindi, perché si abbia Φ = T2 si deve avere: A1+A2= 1 αA2 = che danno luogo ad una famiglia di metodi R-K del 2° ordine. I più noti di tali metodi sono quelli di Eulero modificato, di Heun e di Raltson. Eulero modificato: α = A2 = 1 A1 = 0
Che è equivalente a calcolare con Eulero: Calcolare la pendenza: ed usarla per tutto l’intervallo Disegno
METODI DI RUNGE-KUTTA A PASSO VARIABILE Poiché tali metodi sono ad un passo e’ semplice rendere tale passo adattativo, cioè tale da ridurre l’errore. Per ridurre l’errore e’ necessario poterlo stimare. Ciò può essere fatto in due modi: stesso metodo con due passi diversi (h, 2h) due metodi di ordine diverso ma con lo stesso numero di stadi
caso 1) Metodo di ordine p. Partendo dal dato esatto: y(xn) = yn l’errore locale sia minore di ε. Si ha: dove Φ(yn) è una funzione incognita. Stesso calcolo con passo 2h a partire da xn-1 Sottraendo:
Se |ξ| < ε si prosegue altrimenti si dimezza il passo. In generale, il passo raddoppia se caso 2) come già visto, usando 2 schemi di ordine p є p+1 la differenza tra le soluzioni approssimate dà una stima dell’errore di troncamento locale per lo schema di ordine inferiore. Metodo di Heun, α=1, A1=A2=½ è usato per rendere esplicito il metodo dei trapezi
k2=f(xi+(3/4)h, yi+(3/4)hk1) Metodo di Ralston, α=3/4, A1=⅓, A2=⅔ tale metodo da il minimo errore di troncamento yi+1=yi+(h/3)(k1+2k2) k1=f(xi, yi) k2=f(xi+(3/4)h, yi+(3/4)hk1) Metodi R-K espliciti generali yi+1= yi+h k1=f(xi, yi), kj=f(xi+ αjh, yi+h ) per j=2,…n
Il metodo più noto è quello del 4° ordine: Metodi di ordine maggiore non sono convenienti poiché richiedono un numero troppo grande di valutazioni della f.
METODI MULTISTEP Integriamo la ODE tra tn-j e tn+k e applichiamo una quadratica di Newton-Cotes poiché supponiamo la suddivisione uniforme dell’intervallo. Utilizziamo q+1 punti: tn-q, tn-q+1, …, tn e costruiamo il polinomio di Lagrange, integrando poi in [tn-j, tn+k]
Integrando il polinomio si ha: k, j q determinano vari metodi multistep k=1 j=0 ADAMS- BASHFORTH espliciti k=0 j=1 ADAMS- MOULTON impliciti k=1 j=1 NYSTRÖM
Metodi Adams-Bashforth (espliciti) Sono basati sulla quadratura interpolatoria dell’integrale: k=1, j=0 Se q=0 EULERO ESPLICITO : yn+1=yn+hfn Metodi Adams-Moulton (impliciti) k=0, j=1 preferibile riscriverlo come Se q=0 EULERO IMPLICITO: yn+1=yn+hfn+1 Se q=1 CRANK-NICHOLSON (TRAPEZI):
METODI PREDICTOR-CORRECTOR Metodi di Nyström k=1, j=1 Se q=0 METODO DEL PUNTO MEDIO METODI PREDICTOR-CORRECTOR Risolvendo un problema di Cauchy non lineare con uno schema implicito è richiesto, ad ogni passo, la risoluzione di un’equazione non lineare. Si possono usare: metodi di Punto Fisso, metodo di Newton, … Ciò richiederà un guess iniziale vicino alla soluzione sia per problemi di convergenza, sia per diminuire il numero di iterazioni. Ciò può essere ottenuto usando in coppia un metodo
Ciò può essere ottenuto usando in coppia un metodo esplicito (predictor) che fornisce un buon dato iniziale per il metodo implicito (corrector) che è generalmente più stabile. Un esempio di tale metodo è quello di Heun in cui il predictor è Eulero in avanti e il corrector è il metodo di Crank-Nicholson P. C. L’ordine di convergenza è q se p ha ordine q-1 e c ha ordine q. Generalmente si usano i metodi di Adams in coppia (2-3, 3-4) per ottenere PC di ordine pari a quello del corrector.
Metodi BDF (Backward Differentiating Formula) Famiglia di schemi complementari a quelli di Adams. Lì si usa una quadratura per approssimare l’integrale, nei BDF si approssima la y’. Se si hanno q+1 punti e si conosce un’approssimazione della soluzione nei punti n-q+1, …, n+1 si può determinare una pq la cui derivata interpola la y’. Calcoliamo la derivata in uno dei nodi tk Se k=n, il metodo è esplicito; se k=n+1, implicito. In generale: ESPLICITO IMPLICITO
LMM (LINEAR MULTISTEP METHODS) dove i coefficienti sono dati dalle derivate del polinomio di Lagrange. Es.: q=1 Eulero avanti q=2 Punto Medio q=3 Instabile LMM (LINEAR MULTISTEP METHODS) Una generalizzazione dei metodi multistep che include i metodi di Adams e i metodi BDF, è data dalla famiglia dei metodi multistep lineari. Un metodo multistep lineare ha la forma:
CONVERGENZA L’analisi della convergenza è più complicata poiché: La sol. approssimata è influenzata pure dagli errori nei valori di partenza: lj = yj - y(xj) j=0,..,k-1 Tali valori si dicono CONSISTENTI se j=0,..,k-1. 2. I metodi M-S possono essere instabili. Per mostrare ciò, vediamo un esempio:
Soluzione: y(x)=ex. Tale problema è detto Problema Test. Per >0 il problema è instabile. Analizziamo il comportamento di qualche metodo multistep nel caso <0. Consideriamo il metodo del Punto Medio che ha l’equazione, alle diff. associata: le cui soluzioni sono:
che ha sol. generale Ricaviamo 1 e 2 :
per h0, 11, 20 per >0, | r1|>| r2|>0 termine dominante: 1 r1n per <0, 0<r1<1, r2<-1 termine dominante: 2 r2n Pertanto per <0 la soluzione diverge da quella vera. Questo perché la ODE ha una sola soluzione mentre l’equazione alle differenze di ordine K ha k soluzioni di cui una corrisponde alla vera soluzione per aversi convergenza è quindi necessario che le altre soluzione rimangano limitate. Analizziamo quindi il comportamento delle equazioni alle differenze relativamente al problema della stabilità. DEF: L’equazione alle differenze con coefficienti a0,…,ak-1 costanti è detta stabile se tutte le sue soluzioni sono limitate.
Per cercare delle condizioni facilmente verificabili per stabilire la convergenza di un metodo MS partiamo dall’errore locale di discretizzazione Abbiamo visto che il metodo è consistente se 0 per h0. E’ detto di ordine p se: Se y(x) è sufficientemente differenziabile si può esprimere h come Infatti espandendo y(x+hj) e y’(x+hj) attorno x si ha
che dà h se poniamo Se c0=c1=…..=cp=0, cp+10, il metodo è di ordine p. Vediamo le proprietà di un metodo convergente. Se il metodo multistep converge, c0 deve essere nullo.
Sia dato il problema sol: y(x)=1 Fissiamo e verifichiamo n ed h: Supponiamo il metodo convergente (non alla soluzione y=1): per h0 0jk k fissato
Dimostriamo ora che un metodo convergente alla soluzione ha ordine almeno 1. Sia dato il problema: sol: y(x)=x
Una soluzione è data da : con Se E poiché la soluzione è y(x)=x : Un metodo che è almeno di ordine 1 è detto consistente allora una condizione necessaria per la convergenza è la consistenza ma essa non è sufficiente. Solo se anche la condizione della radice è soddisfatta allora si ha convergenza.
Infatti, se il metodo è convergente, lo è pure per il problema sol.: y(x)=0 che è soddisfatta da: dove ri è soluzione del polinomio caratteristico. Poiché si abbia convergenza, si deve avere: ma yn+k=h(ri)n+k
Se ri non è uno zero semplice, ma ha molteplicità m: Per j = n+k: ma La condizione della radice è: se ri è uno zero semplice del polinomio caratteristico se ri non è uno zero semplice del polinomio caratteristico
Per un metodo consistente, il polinomio caratteristico ha una radice r1=1 detta radice principale. Infatti, in tal caso I metodi hanno p(x) = x2-1 e quindi soddisfano il criterio della radice. Sono consistenti e quindi convergenti. Eppure non sono buoni da usare in pratica. Abbiamo già visto che per i MS non basta la sola convergenza poiché le equazioni alle differenze hanno soluzioni in più rispetto alla ODE. Tali soluzioni, dette Parasitiche, devono rimanere piccole rispetto alla radice principale e ciò porta al concetto di stabilità relativa.
Applicando il metodo al problema test: sol: y(x)=ex si ha Soluzione del Problema Test: Quindi ym è una buona approssimazione di y(xm) se: 1y0, i0 i=2,…,k ri<<ex i=2,…,k E’ soddisfatto se i valori di partenza sono buoni E’ relativo alla stabilità relativa
Stabilità assoluta Un metodo MS si dirà relativamente stabile se: |r1|>|ri| i=2,..,k L’intervallo di stabilità relativa è il più grande intervallo (,), tale che il metodo è R.S. h (,). Se è grande, h dovrà essere piccolo. Con tale tipo di stabilità si controlla l’errore relativo.Infatti: Stabilità assoluta Spesso è importante fare un’analisi di stabilità tenendo il passo h fissato, e ciò permette di controllare l’errore assoluto, un metodo è assolutamente stabile se gli errori ai passi precedenti non aumentano.
Tale concetto si applica anche ai metodi onestep, come abbiamo già visto applicando il metodo M-S al problema test t>0 Si ha:
Per x=xn, si ha: e sottraendo E quindi gli errori soddisfano un’equazione alle differenze le cui soluzioni sono:
Diremo che un metodo M-S soddisfa la condizione assoluta delle radici se esiste h0>0: |rj(h)|<1 j=0,..,k hh0 Pertanto C.N.S. affinché un metodo M-S sia assolutamente stabile, ovvero che |yn|0 per tn è che esso soddisfi la condizione assoluta delle radici. L’assoluta stabilità implica la zero stabilità, mentre il viceversa non è vero.