Introduzione all’approssimazione numerica del problema di Cauchy Problema di Cauchy: 0 y (t) = f (t, y(t)) t0 < t ≤ T y(t0 ) = y0 condizione iniziale Formulazione integrale: Z t y(t) − y(t0 ) = t0 Z y 0 (τ )dτ = t f (τ, y(τ ))dτ, t0 < t ≤ T t0 METODI NUMERICI Si suddivide l’intervallo di integrazione I = [t0 , T ], con T < +∞, in Nh sottointervalli [tn , tn+1 ] di ampiezza h = (T − t0 )/Nh , per n = 0, 1, ..., Nh − 1. h è detto parametro di discretizzazione (può essere anche variabile), i tn sono i nodi della discretizzazione. In corrispondenza dell’insieme dei nodi tn il metodo numerico genera un insieme di valori un , soluzione numerica o discreta, cioè l’approssimazione dei valori y(tn ) della soluzione del problema continuo nei nodi tn . Definizione Un metodo numerico si dice a un passo se ∀n ≥ 0, un+1 dipende solo da un e non da un−1 , un−2 ,... In caso contrario si dirà a più passi o multistep. • Costruzione del metodo di Eulero esplicito 1) per via geometrica (costruendo la retta tangente a y(x) in tn e calcolandola in tn+1 ). 2) mediante lo sviluppo di Taylor di y(x) troncato al primo ordine (centro in tn , passo h). 3) per differenziazione numerica (approssimando la derivata y 0 (tn ) con il rapporto incrementale in avanti) 4) per integrazione numerica (sfruttando la formulazione integrale ed approssimando l’integrale con la formula del rettangolo che utilizza f (tn , y(tn )). I quattro approcci sono equivalenti e portano alla seguente formula: u0 = y0 un+1 = un + hf (tn , un ) n = 0, 1, 2, ... • Analogamente si costruisce il metodo di Eulero implicito: u0 = y0 un+1 = un + hf (tn+1 , un+1 ) n = 0, 1, 2, ... • Metodo dei trapezi o di Crank-Nicolson. Si ottiene facendo la media aritmetica dei valori di un+1 ottenuti con i metodi di Eulero esplicito e implicito, o, analogamente, sfruttando la formulazione integrale ed approssimando l’integrale con la formula dei trapezi: u0 = y0 un+1 = un + h2 (f (tn , un ) + f (tn+1 , un+1 )) n = 0, 1, 2, ... • Metodo di Heun. Si ottiene a partire dal metodo di Crank-Nicolson utilizzando un+1 calcolata con un passo del metodo di Eulero esplicito per il calcolo di f (tn+1 , un+1 ). In questo modo si ’rende esplicita’ la formula di Crank-Nicolson e si ottiene il seguente metodo: u = y0 0 h )) n = 0, 1, 2, ... un+1 = un + 2 (f (tn , un ) + f (tn+1 , un + hf (tn , un ) | {z }≈un+1 Cenni sull’analisi dei metodi a un passo • Consistenza Un metodo esplicito a un passo si può scrivere nella forma compatta un+1 = un + hΦ(tn , un , fn ; h) dove fn = f (tn , un ) e Φ è detta funzione incremento. Ponendo yn = y(tn ) (soluzione esatta) e sostituendo la soluzione esatta nello schema del generico metodo a un passo, possiamo scrivere: yn+1 = yn + hΦ(tn , yn , f (tn , yn ); h) + εn+1 dove εn+1 è il residuo che si genera nel punto tn avendo ’preteso’ di far verificare alla soluzione esatta lo schema numerico. Riscriviamo il residuo nella forma εn+1 = hτn+1 (h). La quantità τn+1 è detta errore di troncamento locale (relativa al nodo tn+1 ). Definiamo τ (h) = max 0≤n≤Nh −1 |τn+1 (h)| (errore di troncamento globale). Definizione Un metodo numerico si definisce consistente se lim τ (h) = 0 h→0 Un metodo numerico ha ordine di consistenza p se τ (h) = O(hp ) per h → 0. Definizione Un metodo numerico si definisce convergente se ∀n = 0, ..., Nh si ha |un − yn | ≤ C(h) dove C(h) è un infinitesimo rispetto a h per h → 0. Se C(h) = O(hp ) diremo che il metodo converge con ordine p. Si può dimostrare che il metodo di Eulero esplicito è convergente con ordine 1. • Stabilità Si possono introdurre diversi concetti di stabilità nell’analisi dei metodi numerici per l’approssimazione di un problema di Cauchy. Zero-stabilità Garantisce che, in un intervallo limitato e fissato, piccole perturbazioni sui dati (dato iniziale e termine f ) producano perturbazioni limitate sulla soluzione quando h → 0. Teorema di equivalenza di Lax-Ritchmyer Ogni metodo consistente è convergente se e solo se è zero-stabile. Assoluta stabilità - Stabilità su intervalli illimitati Nello studio della zero-stabilità si considerano intervalli limitati e il numero Nh di sottointervalli può andare all’infinito solo per h → 0. Esistono tuttavia numerose situazioni nelle quali si è interessati a determinare la soluzione di un problema di Cauchy per tempi ’grandi’, in teoria ’infiniti’. L’assoluta stabilità riguarda la proprietà di un metodo numerico di riprodurre l’andamento della soluzione analitica per x → ∞, (nel caso discreto n → ∞, per h fissato), dunque riguarda il comportamento asintotico di un . Si consideri il problema di Cauchy lineare (problema modello Pm ) 0 y (t) = λy(t) t > 0 y(0) = 1 con λ < 0, λ ∈ R, e soluzione esatta y(t) = eλt , dove y(t) → 0 per t → ∞. Definizione Un metodo numerico per Pm si definisce assolutamente stabile se |un | → 0 per tn → ∞. Definizione Si definisce intervallo di assoluta stabilità l’insieme A dei valori del prodotto hλ per i quali il metodo numerico produce soluzioni che tendono a zero quando tn → ∞: A = {hλ : |un | → 0 per tn → ∞} • Eulero esplicito: A = (−2, 0). • Eulero implicito: A = (−∞, 0). • Crank-Nicolson : A = (−∞, 0). • Heun: A = (−2, 0). Definizione Un metodo numerico si dice A−stabile se per λ < 0 è assolutamente stabile, cioè l’intervallo di assoluta stabilità è A = (−∞, 0)