Lezione n. 2 Introduzione all analisi numerica (metodi diretti ed iterativi per la soluzione di sistemi di equazioni lineari e non lineari) R. Albanese, "Metodi numerici Pag. 1
Pag. 2 Metodi diretti per la soluzione di sistemi lineari CRAMER ELIMINAZIONE DI GAUSS FATTORIZZAZIONE LU ALTRE FATTORIZZAZIONI (Cholesky, QR Orthogonal-triangular, SVD) GRADIENTE CONIUGATO per A simm. def. pos. (è anche diretto) x k+1 =x k +αp k, α: r T k+1 p k = 0 p k =r k + βp k-1, β: p T k+1 Ap k = 0 (anziché β=0)
Metodi iterativi per sistemi lineari METODI ITERATIVI Definizione Confronto con i metodi diretti Proprietà richieste: consistenza, convergenza, velocità di convergenza METODI ITERATIVI APPLICATI A SISTEMI LINEARI (Ax=b) Formule iterative con consistenza esclusiva: x k+1 =x k +M(Ax k -b) Esempi di scelta di M: M=-σA T, M=D -1 (Gauss-Jacobi), M=(L 0 +D) -1 (Gauss-Seidel) Proprietà: consistenza, convergenza, velocità di convergenza Criteri di arresto: r k / b <ε, e k / x <ε Gradiente coniugato Precondizionamento e metodo ICCG R. Albanese, "Metodi numerici Pag. 3
Metodi iterativi per sistemi non lineari Metodo di Newton-Raphson F(x k+1 ) F(x k ) + J(x k )(x k+1 -x k )=0, J= F/ x x k+1 = x k -J -1 (x k )F(x k ) consistenza esclusiva con J non singolare (-) convergenza garantita solo in casi particolari di scarsa rilevanza pratica (+) convergenza del secondo ordine in caso di successo: e k+1 / e k 0 (+) convergenza in una iterazione nel caso lineare (-) calcolo ed inversione di J ad ogni iterazione Iterazioni di punto fisso (Picard): Esempio Quasi-Newton x k+1 =x k -J -1 (x 0 )F(x k ) Consistenza esclusiva (+) convergenza garantita se T(x)= x - J -1 (x 0 )F(x) è una contrazione (-) convergenza lineare numero elevato di iterazioni (+) calcolo ed inversione di J al primo passo basso costo per iterazione R. Albanese, "Metodi numerici Pag. 4
Pag. 5 Esempio di applicazione di Newton e Picard Pot. di nodo per rete di bipoli: Ag(A T ϕ)=0 da Ai=0, v=a T ϕ, i=g(v) Newton: ϕ k+1 = ϕ k [A( g/ x) k A T ] -1 Ag(A T ϕ k ) Picard: ϕ k+1 = ϕ k (AG 0 A T ) -1 Ag(A T ϕ k ) Iterazione di punto fisso: T(ϕ) = ϕ (AG 0 A T ) -1 Ag(A T ϕ) è una contr.se Τ / ϕ <L<1 Unicità : α β = T(α)-T(β) <L α β Convergenza: ϕ k+1 = T k <L ϕ k ϕ k+n -ϕ k <L k ϕ 0 -T(ϕ 0 ) /(1-L) Vel. convergenza: e k+1 <L e k Stima dell errore e k = ϕ k - α <L k ϕ 0 -T(ϕ 0 ) /(1-L) T è una contrazione con caratteristiche monotone e G 0 opportuna x =(x T AG 0 A T x) 1/2, ϕ =Σ κ G 0κκ v 2 κ, Τ =Σ κ ω κ G 0κκ v 2 κ ω κ = 1 2 <di κ /dv κ >/G 0κκ +(<di κ /dv κ >/G 0κκ ) 2 G 0κκ > [(di κ /dv κ ) max +(di κ /dv κ ) min ]/2 garantisce L 2 <1 T 2 = [ ϕ (AG 0 A T ) -1 A g] T AG 0 A T [ ϕ (AG 0 A T ) -1 A g]= ϕ T AG 0 A T ϕ 2 ϕ T A g+ g T A T (AG 0 A T ) -1 A g v T G 0 v 2 v T i + i T G -1 0 i g T A T (AG 0 A T ) -1 A g= g T G 0-1/2 G 0 1/2 A T (AG 0 A T ) -1 AG 0 1/2 G 0-1/2 g= g T G 0-1/2 MG 0-1/2 g ρ(μ) 2 g T G 0-1 g
Integrazione di equazioni differenziali ordinarie PROBLEMA DI CAUCHY Esistenza ed unicità Sistemi lineari tempoinvarianti INTEGRAZIONE NUMERICA CON METODI AD UN PASSO Soluzione numerica con metodi a passo fisso Metodi ad un passo: schema, errore locale, errore globale Consistenza e convergenza Zero-stabilità Stabilità a passo fissato Metodo-θ: Eulero esplicito, Eulero implicito, Crank-Nicolson Stima degli errori e scelta del passo Metodi multi-step, predictor-corrector, Runge-Kutta R. Albanese, "Metodi numerici Pag. 6
Pag. 7 PROBLEMA DI CAUCHY
Pag. 8 INTEGRAZIONE NUMERICA CON METODI AD UN PASSO dy/dt = f(t,y) in (a,b) con y(a)=y a (a,b) diviso in N intervalli h= t=(b-a)/n, t k =a+kh y(t k ) valore esatto di y all istante t k y k valore numerico approssimato y* k+1 = valore numerico ottenuto assumendo y j = y(t j ), j<k+1 a=t 0 t 1 t 2 t N t e k+1 = y k+1 y(t k+1 ) errore globale τ k+1 = y* k+1 y(t k+1 ) errore locale formule a 1 passo: y k+1 = y k + h φ(h, t k +1, f) Eulero esplicito: φ(h, t k +1, f)= f(t k ) Consistenza: τ k+1 /h = O[h p ] φ(h, t k +1, f) f(t k ) per h 0 Convergenza: e k 0 per h 0, N e k={1,2,..., N}
Pag. 9 Stabilità Zero-stabilità y k+1 = y k + h [φ(h, t k +1, f)+ δ k+1 ], y 0 =y(t 0 )+δ 0 y k+1 = y k + h [φ(h, t k, y k, y k+1, f)+ δ k+1 ], y 0 =y(t 0 )+δ 0 ε>0 C, h 0 : h<h 0, δ k+1 -δ k+1 < ε y k+1 - y k+1 < Cε Metodi a 1 passo zero-stabili se φ verifica (Lipschitz): φ < L 1 y k + L 2 y k+1 Lax: consistenza + stabilità convergenza Stabilità a passo fissato y k+1 = y k + h [φ(h, t k +1, f)+ δ k+1 ], y 0 =y(t 0 )+δ 0 y k+1 = y k + h [φ(h, t k, y k, y k+1, f)+ δ k+1 ], y 0 =y(t 0 )+δ 0 ε>0 C, δ k+1 -δ k+1 < ε y k+1 - y k+1 < Cε, h=h 0, criterio di stabilità: δy k+1 δy k +h( φ/ y k+1 )δy k +1 +h( φ/ y k )δy k ρ[(ι h φ/ y k+1 ) -1 (Ι+h φ/ y k )]<1
Pag. 10 Metodo-θ: Eulero esplicito, Eulero implicito, Crank-Nicolson y(t k+1 ) = y(t k + θh)+y (t k + θh)(1- θ)h + y (t k + θh) (1- θ) 2 h 2 /2 +O[h 3 ] (+1) y(t k ) = y(t k + θh) -y (t k + θh)θh + y (t k + θh) θ 2 h 2 /2 +O[h 3 ] (-1) y(t k+1 ) - y(t k ) = y (t k + θh)h + y (t k + θh) (1-2θ)h 2 /2 + O[h 3 ] y (t k+1 ) = y (t k + θh)+y (t k + θh)(1- θ)h + O[h 2 ] y (t k ) = y (t k + θh) -y (t k + θh)θh +O[h 2 ] θy (t k+1 ) + (1-θ)y (t k ) = y (t k + θh) + O[h 2 ] (θ) (1-θ) y(t k+1 ) - y(t k ) = [θy (t k+1 )+ (1-θ)y (t k )]h + y (t k + θh) (1-2θ)h 2 /2 + O[h 3 ] Metodo-θ: y k+1 = y k + h [θ f(t k+1 +1 )+ (1-θ) f(t k )]: θ = 0 Eulero espl., O[h], stab. cond. θ = 1 Eulero impl., O[h], stab. incond. θ = 1/2 Crank-Nicolson, impl., O[h 2 ], stab. incond.
Pag. 11 Stima degli errori e scelta del passo 1. Il passo h deve garantire innanzitutto la stabilità 2. Per quanto concerne l accuratezza (stima errore): Valori noti nei punti nodali: interpolaz lineare nei nodi e valutaz. errore sull equaz. (discontinuità di dy/dt) Utilizzo di metodi di diverso ordine (es. Eulero e CN, o RK 2^ e 3^ ord.) Riduzione del passo
Metodo di Runge-Kutta y k+1 =y k +hσ i b i K i, K i =Σ j f(t k +c j h +hσ j a ij K j ) II ordine esplicito: IV ordine esplicito: (y k+1 -y k )/h=b 1 K 1 +b 2 K 2 K 1 = j f(t k +c 1 h ) K 2 = j f(t k +c 2 h +ha 21 K 1 ) (y k+1 -y k )/h=y (t k )+ y (t k ) h/2 + O[h 3 ] Uguagliando gli sviluppi in serie di Taylor, dove y =f e y =f t +ff y : (y k+1 -y k )/h=f[t k +h/2 +h f(t k,y k )/2] R. Albanese, "Metodi numerici Pag. 12
Predictor-Corrector, multistep 1. Predictor-corrector: P (espl.) y^k+1 =y k +h φ P (h, t k, f) (es. Eulero espl.) C (impl.) y k+1 = y k +h φ C (h, t k, y^ k+1, f) (es. Crank-Nicolson) Stabilità condizionata Ordine r=min(r P +1,r C ) 2. Multistep Inquadrabile con qualche accorgimento nella teoria dei single-step Non necessariamente zero-stabili Problemi di interpolazione e cond. iniz. cambiando passo R. Albanese, "Metodi numerici Pag. 13