Soluzioni Analitiche e Numeriche Applicate all Ingegneria Ambientale

Documenti analoghi
Modelli Matematici e Calcolo Numerico

n +1 determinanti (D i, i =1,...,n e det A) n! prodotti per ciascun determinante n 1 moltiplicazioni per ciascun prodotto

Corso di Calcolo Numerico

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica

Complementi di Matematica e Calcolo Numerico A.A

Sistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3

1 Risoluzione di sistemi lineari

Un sistema lineare si rappresenta in generale come

Complementi di Matematica e Calcolo Numerico A.A

Calcolo Numerico con elementi di programmazione

Complementi di Matematica e Calcolo Numerico C.L. Chimica Industriale A.A

Calcolo Numerico con elementi di programmazione

Sistemi lineari. Lucia Gastaldi. 11 novembre Dipartimento di Matematica,

Complementi di Matematica e Calcolo Numerico A.A

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,

3 Soluzione di sistemi lineari

Compito numero 2 - Compito intero

1. Martedì 27/09/2016, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

Sistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,

Risoluzione di sistemi lineari sparsi e di grandi dimensioni

1. Lunedì 26/09/2016, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

1. Mercoledì 1/10/2014, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

1. Martedì 29/09/2015, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

1. Mercoledì 27/09/2017, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

x n i sima pos. x, y = x T y = x i y i R. i=1

Corso di Geometria e Algebra Lineare

Registro di Matematica Applicata /18 - Dott.ssa L. Fermo 2

4. Algoritmi per la soluzione di sistemi lineari.

Registro di Matematica Applicata /18 - Dott.ssa L. Fermo 2

SISTEMI LINEARI. Metodi diretti. Calcolo numerico 07/08 p. 1/1

Corso di Calcolo Numerico

Metodi diretti: eliminazione gaussiana

Calcolo Numerico con elementi di programmazione

Complementi di Matematica e Calcolo Numerico A.A

1. Martedì 1/10/2013, ore: 2(2) Introduzione al corso: problemi ben posti, condizionamento, stabilità, complessità

SISTEMI LINEARI. Ax = b

Tracce di calcolo numerico 1

Anno accademico

SISTEMI LINEARI QUADRATI

NORMA DI UN VETTORE. Una NORMA VETTORIALE su R n è una funzione. : R n R +

+ Analisi Numerica (1 modulo) Docente: M.Gaviano; domande di ripasso a.a

RICHIAMI PER IL CORSO DI ANALISI NUMERICA

Matrici di permutazione

Calcolo degli Autovalori. Avviso. Spettro di una matrice. Polinomio caratteristico. Data la matrice A:

Sistemi sovradeterminati

Daniela Lera A.A

Metodi Numerici con elementi di Programmazione (A.A )

Corso di Calcolo Numerico

2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:

RICHIAMI DI ALGEBRA LINEARE E NORME DI MATRICI E VETTORI. a 11 a 12 a 1n a 21 a 22 a 2n. a m1 a m2 a mn

Algebra lineare. Laboratorio di programmazione e calcolo CdL in Chimica. Pierluigi Amodio

Motivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali

Algebra Lineare Metodi Iterativi

Esercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =

RICHIAMI DI ALGEBRA LINEARE E NORME DI MATRICI E VETTORI. a 11 a 12 a 1n a 21 a 22 a 2n. a m1 a m2 a mn

Esercitazione di Calcolo Numerico 1 27 Maggio Calcolare la fattorizzazione P A = LU della matrice A =

Sistemi di equazioni lineari. la soluzione è unica se det(a) 0 e vale

Laboratorio di Calcolo Numerico

Metodi Numerici con elementi di Programmazione (A.A )

LABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. 2012/13 Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese

RISOLUZIONE DI SISTEMI LINEARI

Fattorizzazione LU (lu)

ARGOMENTI DEL CORSO CALCOLO NUMERICO

Metodi Diretti per la Risoluzione di Sistemi Lineari

MACROAREA DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Matematica

Corso di Laurea in Matematica Analisi Numerica (1 mod., 6 crediti, 48 ore, a.a , lez.3)

Motivazioni. Sistemi lineari. Obiettivo. Il problema

MATRICI E SISTEMI LINEARI

Complementi di Matematica e Calcolo Numerico A.A

Cenni sui metodi iterativi per sistemi lineari. Analisi Numerica Prof. M. Lucia Sampoli a.a. 2014/2015

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm:

Calcolo Numerico (CdS in Matematica) A.A. 2012/13

8 Metodi iterativi per la risoluzione di sistemi lineari

= 3 (con qualunque precisione di macchina) e richiede una sola operazione, mentre attraverso il calcolo dell'inversa 1/7 si ottiene la soluzione

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Si dimostra che queste funzioni godono delle proprietà delle norme (ossia sono norme).

Laboratorio di Calcolo Numerico Laboratorio 11: Metodi diretti per la soluzione di sistemi lineari

Corso di Matematica per la Chimica

Richiami di algebra delle matrici a valori reali

Risoluzione di più sistemi con la stessa matrice

Esercitazione 5: Sistemi a risoluzione immediata.

Esercizio 1 Sia. a n. X (k+1) = X (k) (2I AX (k) )

Lezione n. 1. Introduzione all analisi numerica (richiami di algebra lineare e analisi funzionale)

Algoritmi del gradiente e del gradiente coniugato per la risoluzione di sistemi lineari

Programma del corso di: Laboratorio di Programmazione e Calcolo Corso di laurea in Matematica a.a Proff. B. Paternoster, D.

Autovalori e autovettori

Algebra lineare numerica

Programmare con MATLAB c Parte 5 Cicli: for e while

Per esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo

Appunti su Indipendenza Lineare di Vettori

Trasformazione elementari di Givens

Esercitazione 4: Vettori e Matrici

Norme di vettori e matrici

Analisi Numerica (2 moduli, 12 crediti, 96 ore, a.a )

Transcript:

Soluzioni Analitiche e Numeriche Applicate all Ingegneria Ambientale Massimiliano Martinelli massimiliano.martinelli@gmail.com Università Politecnica delle Marche, Ancona Facoltà di Ingegneria 21-22 Gennaio 2009

Outline 1 2

Obiettivi del corso agli strumenti di base e ai metodi numerici per la soluzione di equazioni differenziali ordinarie ed alle derivate parziali che intervengono nei modelli utilizzati in ingegneria ambientale

Obiettivi del corso Esempi agli strumenti di base e ai metodi numerici per la soluzione di equazioni differenziali ordinarie ed alle derivate parziali che intervengono nei modelli utilizzati in ingegneria ambientale Trasporto di sostanze inquinanti Simulazioni oceanografiche Previsioni meteorologiche...

Obiettivi del corso Esempi agli strumenti di base e ai metodi numerici per la soluzione di equazioni differenziali ordinarie ed alle derivate parziali che intervengono nei modelli utilizzati in ingegneria ambientale Trasporto di sostanze inquinanti Simulazioni oceanografiche Previsioni meteorologiche... Si descriveranno (alcuni) metodi numerici per la soluzione di: Sistemi lineari Sistemi non-lineari Differenziazione e Integrazione numerica Equazioni differenziali ordinarie Equazioni alle derivate parziali

Animazione 1 Animazione 2 Animazione 3

Libri consigliati A. Quarteroni, R. Sacco, F. Saleri, Matematica Numerica, Springer W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes: The Art of Scientific Computing, Third Edition, Cambridge University Press, http://www.nr.com Y. Saad, Iterative Methods for Sparse Linear Systems, SIAM, http://www-users.cs.umn.edu/~saad/books.html J.W. Thomas, Numerical Partial Differential Equations: Finite Difference Methods, Springer A. Quarteroni, Modellistica numerica per problemi differenziali, Springer

Errori nei modelli computazionali Problema fisico: x ph e m e Modello matematico: F(x,d) = 0 e c Soluzione calcolata: ˆx n e n e a Problema discretizzato: F n (x n,d n ) = 0 e m errore del modello matematico e c errore del modello computazionale e n errore di discretizzazione e a errore dovuto dall algoritmo

Operazioni in virgola mobile Ogni x R tale che x min x x max viene convertito in virgola mobile fl( ): R F, dove fl(x) = x(1+δ) con δ u = 1 2 β 1 t = ε M 2 u = precisione macchina (o unita di arrotondamento)

Operazioni in virgola mobile Ogni x R tale che x min x x max viene convertito in virgola mobile fl( ): R F, dove fl(x) = x(1+δ) con δ u = 1 2 β 1 t = ε M 2 u = precisione macchina (o unita di arrotondamento) Ogni operazione aritmetica : R R R viene sostituita con : R R F x y = fl(fl(x) fl(y))

Operazioni in virgola mobile Ogni x R tale che x min x x max viene convertito in virgola mobile fl( ): R F, dove fl(x) = x(1+δ) con δ u = 1 2 β 1 t = ε M 2 u = precisione macchina (o unita di arrotondamento) Ogni operazione aritmetica : R R R viene sostituita con : R R F x y = fl(fl(x) fl(y)) Utilizzando la cifra di arrotondamento, è verificata la proprietà seguente: x,y R δ R t.c. x y = (x y)(1+δ) con δ u

Operazioni in virgola mobile Ogni x R tale che x min x x max viene convertito in virgola mobile fl( ): R F, dove fl(x) = x(1+δ) con δ u = 1 2 β 1 t = ε M 2 u = precisione macchina (o unita di arrotondamento) Ogni operazione aritmetica : R R R viene sostituita con : R R F x y = fl(fl(x) fl(y)) Utilizzando la cifra di arrotondamento, è verificata la proprietà seguente: x,y R δ R t.c. x y = (x y)(1+δ) con δ u Nel caso in cui = + (somma), si ha che l errore relativo x y (x+y) x+y u(1+u) x + y x+y + u

Operazioni in virgola mobile Domanda 1: Utilizzando : R R F invece di +: R R R, valgono le stesse proprietà? Commutatività: x y =? y x Associatività: (x y) z =? x (y z)

Operazioni in virgola mobile Domanda 1: Utilizzando : R R F invece di +: R R R, valgono le stesse proprietà? Commutatività: x y =? y x Associatività: (x y) z =? x (y z) Domanda 2: L operazione di somma : R R F è sempre caratterizzata da un piccolo errore relativo?

Costo computazionale Quantità di memoria occupata Tempo di calcolo (può essere stimato in base al numero di operazioni elementari: +,,, )

Costo computazionale Quantità di memoria occupata Tempo di calcolo (può essere stimato in base al numero di operazioni elementari: +,,, ) Complessità algoritmica Problema di dimensione n Stima del costo computazionale c(n) espressa con la notazione di Landau O( ) (O-grande) c(n) O(f(n)) per n + n 0, M > 0 t.c. c(n) < M f(n) n > n 0

Costo computazionale Quantità di memoria occupata Tempo di calcolo (può essere stimato in base al numero di operazioni elementari: +,,, ) Complessità algoritmica Problema di dimensione n Stima del costo computazionale c(n) espressa con la notazione di Landau O( ) (O-grande) c(n) O(f(n)) per n + n 0, M > 0 t.c. c(n) < M f(n) n > n 0 equivalente a lim sup c(n) f(n) < + n +

Costo computazionale Quantità di memoria occupata Tempo di calcolo (può essere stimato in base al numero di operazioni elementari: +,,, ) Complessità algoritmica Problema di dimensione n Stima del costo computazionale c(n) espressa con la notazione di Landau O( ) (O-grande) c(n) O(f(n)) per n + n 0, M > 0 t.c. c(n) < M f(n) n > n 0 equivalente a lim sup c(n) f(n) < + Domanda: n + Dato un algoritmo poco costoso in tempo e uno poco costoso in memoria, quale scegliereste?

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore Prodotto matrice-vettore Prodotto matrice-matrice

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore O(n) Prodotto matrice-vettore O(n 2 ) Prodotto matrice-matrice O(n 3 )

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore O(n) Prodotto matrice-vettore O(n 2 ) Prodotto matrice-matrice O(n 3 ) Determinante (formula di Leibnitz) det(a) = sgn(σ) σ S n n a i,σ(i) i=1 dove σ è una permutazione dell insieme {1,...,n} e S n l insieme di tutte le permutazioni dell insieme {1,...,n}

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore O(n) Prodotto matrice-vettore O(n 2 ) Prodotto matrice-matrice O(n 3 ) Determinante (formula di Leibnitz) det(a) = sgn(σ) σ S n n a i,σ(i) i=1 dove σ è una permutazione dell insieme {1,...,n} e S n l insieme di tutte le permutazioni dell insieme {1,...,n} +/ n! (n 1)n! O(nn!)

Outline 1 2

Risoluzione di sistemi lineari Dove intervengono Soluzione numerica di una EDP = soluzione di (almeno) un sistema lineare Soluzione di problemi non lineari spesso ricondotta alla risoluzione di una sequenza di sistemi lineari (linearizzazione) Derivate di funzionali vincolati,...

Risoluzione di sistemi lineari Dove intervengono Soluzione numerica di una EDP = soluzione di (almeno) un sistema lineare Soluzione di problemi non lineari spesso ricondotta alla risoluzione di una sequenza di sistemi lineari (linearizzazione) Derivate di funzionali vincolati,... La soluzione del sistema lineare è spesso la parte più costosa del calcolo Necessità di avere a disposizione algoritmi accurati, efficienti e robusti

Risoluzione di sistemi lineari Il problema Data una matrice A K n,n (dove K = {R,C}) e un vettore b K n, trovare x K n tale che Ax = b

Risoluzione di sistemi lineari Il problema Data una matrice A K n,n (dove K = {R,C}) e un vettore b K n, trovare x K n tale che Ax = b Approccio matematico classico (metodo di Cramer) Se det(a) 0 allora x = A 1 b, dove A 1 = 1 det(a) CT, con C ij = ( 1) i+j M ij M ij è il (i,j)-esimo minore di A Stima del costo: c(n) O(n 2 n!) (per i metodi numerici invece: c(n) O(n 3 ))

Risoluzione di sistemi lineari Il problema Data una matrice A K n,n (dove K = {R,C}) e un vettore b K n, trovare x K n tale che Ax = b Approccio matematico classico (metodo di Cramer) Se det(a) 0 allora x = A 1 b, dove A 1 = 1 det(a) CT, con C ij = ( 1) i+j M ij M ij è il (i,j)-esimo minore di A Stima del costo: c(n) O(n 2 n!) (per i metodi numerici invece: c(n) O(n 3 )) Esempio: n = 20 e t 10 9 s

Risoluzione di sistemi lineari Il problema Data una matrice A K n,n (dove K = {R,C}) e un vettore b K n, trovare x K n tale che Ax = b Approccio matematico classico (metodo di Cramer) Se det(a) 0 allora x = A 1 b, dove A 1 = 1 det(a) CT, con C ij = ( 1) i+j M ij M ij è il (i,j)-esimo minore di A Stima del costo: c(n) O(n 2 n!) (per i metodi numerici invece: c(n) O(n 3 )) Esempio: n = 20 e t 10 9 s metodo di Cramer: 309 secoli metodi numerici: 8.0 10 6 s

Risoluzione di sistemi lineari Il problema Data una matrice A K n,n (dove K = {R,C}) e un vettore b K n, trovare x K n tale che Ax = b Approccio matematico classico (metodo di Cramer) Se det(a) 0 allora x = A 1 b, dove A 1 = 1 det(a) CT, con C ij = ( 1) i+j M ij M ij è il (i,j)-esimo minore di A Stima del costo: c(n) O(n 2 n!) (per i metodi numerici invece: c(n) O(n 3 )) Esempio: n = 20 e t 10 9 s metodo di Cramer: 309 secoli metodi numerici: 8.0 10 6 s Per i problemi reali si arriva anche a n = 10 7 10 8

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore L insieme degli autovalori di A è chiamato spettro di A e verrà denotato con σ(a)

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore L insieme degli autovalori di A è chiamato spettro di A e verrà denotato con σ(a) Gli autovalori sono le soluzioni dell equazione caratteristica p A (λ) = det(a λ I) = 0 dove p A (λ) è chiamato polinomio caratteristico

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore L insieme degli autovalori di A è chiamato spettro di A e verrà denotato con σ(a) Gli autovalori sono le soluzioni dell equazione caratteristica p A (λ) = det(a λ I) = 0 dove p A (λ) è chiamato polinomio caratteristico det(a) = n i=1 λ i e tr(a) = n λ i i=1

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore L insieme degli autovalori di A è chiamato spettro di A e verrà denotato con σ(a) Gli autovalori sono le soluzioni dell equazione caratteristica p A (λ) = det(a λ I) = 0 dove p A (λ) è chiamato polinomio caratteristico det(a) = n i=1 λ i e tr(a) = n λ i i=1 ρ(a) = max λ è chiamato raggio spettrale di A λ σ(a)

Autovalori e autovettori Se Ax = λ x con x 0 λ è un autovalore e x è un autovettore L insieme degli autovalori di A è chiamato spettro di A e verrà denotato con σ(a) Gli autovalori sono le soluzioni dell equazione caratteristica p A (λ) = det(a λ I) = 0 dove p A (λ) è chiamato polinomio caratteristico det(a) = n i=1 λ i e tr(a) = n λ i i=1 ρ(a) = max λ è chiamato raggio spettrale di A λ σ(a) Se A è triangolare i suoi autovalori sono gli elementi sulla diagonale

Decomposizione ai valori singolari (Singular Value Decomposition, SVD) Sia A C m n. Esistono allora due matrici unitarie U C m m e V C n n tali che U H AV = Σ = diag(σ 1,...,σ p ) con p = min(m,n) e σ 1... σ p 0. I numeri σ i sono chiamati valori singolari di A.

Definizione di prodotto scalare Un prodotto scalare su uno spazio vettoriale V definito su un campo K è un applicazione, : V V K che soddisfa le seguenti proprietà: 1 è lineare rispetto ai vettori di V, cioè: γx+λ z,y = γ x,y +λ z,y, x,y,z V, γ,λ K 2 è hermitiana, cioè x,y = y,x, x,y V 3 è definita positiva, cioè: x,x 0 e x,x = 0 se e solo se x = 0

Definizione di norma Sia V uno spazio vettoriale su un campo K. Diremo che l applicazione : V K è una norma su V se sono verificate le seguenti proprietà 1 v 0 v V e v = 0 se e solo se v = 0 2 αv = α v α K, v V 3 v+w v + w v,w V (disuguaglianza triangolare)

Definizione di norma Sia V uno spazio vettoriale su un campo K. Diremo che l applicazione : V K è una norma su V se sono verificate le seguenti proprietà 1 v 0 v V e v = 0 se e solo se v = 0 2 αv = α v α K, v V 3 v+w v + w v,w V (disuguaglianza triangolare) Esempi di norme ( x R n) p-norme: ( n x p = x i p) 1 p i=1 1 p < norma del massimo (o norma infinito) x = max 1 i n x i

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x,y R n si ha x,y = x T y x 2 y 2

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x,y R n si ha x,y = x T y x 2 y 2 Disuguaglianza di Hölder Per ogni coppia x,y R n si ha x,y x p y q, con 1 p + 1 q = 1

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x,y R n si ha x,y = x T y x 2 y 2 Disuguaglianza di Hölder Per ogni coppia x,y R n si ha x,y x p y q, con 1 p + 1 q = 1 Equivalenza fra norme Due norme p e q su V sono equivalenti se esistono due costanti positive c pq e C pq tali che c pq x q x p C pq x q x V

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x,y R n si ha x,y = x T y x 2 y 2 Disuguaglianza di Hölder Per ogni coppia x,y R n si ha x,y x p y q, con 1 p + 1 q = 1 Equivalenza fra norme Due norme p e q su V sono equivalenti se esistono due costanti positive c pq e C pq tali che c pq x q x p C pq x q x V In uno spazio normato di dimensione finita, tutte le norme sono equivalenti

Norme di matrici Norma di Frobenius (o norma Euclidea) A F = n Norma naturale (o norma indotta) i,j=1 a ij 2 = tr(aa H ) Ax p A p = sup x 0 x p m A 1 = max a ij j=1,...,n i=1 n A = max a ij i=1,...,m j=1 se A è reale e simmetrica, allora A 2 = ρ(a)

Stime per 2 max i,j a ij A 2 nmax a ij i,j 1 n A A 2 n A 1 n A 1 A 2 n A 1 A 2 A 1 A

Stime per 2 max i,j a ij A 2 nmax a ij i,j 1 n A A 2 n A 1 n A 1 A 2 n A 1 A 2 A 1 A Norme naturali: proprietà 1 Ax p A p x p 2 I p = 1 3 AB p A p B p 4 ρ(a) A p

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n Le norme naturali sono norme consistenti

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n Le norme naturali sono norme consistenti Sia una norma consistente. Allora ρ(a) A

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n Le norme naturali sono norme consistenti Sia una norma consistente. Allora ρ(a) A Sia ε > 0. Allora esiste una norma consistente A,ε tale che A A,ε ρ(a)+ε

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n Le norme naturali sono norme consistenti Sia una norma consistente. Allora ρ(a) A Sia ε > 0. Allora esiste una norma consistente A,ε tale che A A,ε ρ(a)+ε ρ(a) = inf A

Norme consistenti Una norma di matrice si dice consistente con una norma di vettore se Ax A x x R n Le norme naturali sono norme consistenti Sia una norma consistente. Allora ρ(a) A Sia ε > 0. Allora esiste una norma consistente A,ε tale che A A,ε ρ(a)+ε ρ(a) = inf A Potenze di matrici: convergenza lim k Ak = 0 ρ(a) < 1

Condizionamento e stabilità Numero di condizionamento K p (A) = A p A 1 p Ax p dove A p = sup. Si noti che K p (A) 1. x 0 x p

Condizionamento e stabilità Numero di condizionamento K p (A) = A p A 1 p Ax p dove A p = sup. Si noti che K p (A) 1. x 0 x p Analisi a priori Come reagisce la soluzione esatta di un sistema lineare Ax = b al variare dei dati?

Condizionamento e stabilità Numero di condizionamento K p (A) = A p A 1 p Ax p dove A p = sup. Si noti che K p (A) 1. x 0 x p Analisi a priori Come reagisce la soluzione esatta di un sistema lineare Ax = b al variare dei dati? Perturbazione di b: A(x+δx) = b+δb 1 δb p δx p K p (A) δb p K p (A) b p x p b p

Condizionamento e stabilità Numero di condizionamento K p (A) = A p A 1 p Ax p dove A p = sup. Si noti che K p (A) 1. x 0 x p Analisi a priori Come reagisce la soluzione esatta di un sistema lineare Ax = b al variare dei dati? Perturbazione di b: A(x+δx) = b+δb 1 δb p δx p K p (A) δb p K p (A) b p x p b p Perturbazione di A: (A+δA)(x+δx) = b δx p x p K p (A) 1 K p (A) δa p / A p δa p A p

Condizionamento e stabilità K p (A) 1 le perturbazioni sui dati non influenzano eccessivamente i risultati sistema ben condizionato Nella risoluzione numerica di una EDP il tipo di matrice che si ottiene dipende: dal problema dal metodo di discretizzazione usato dalla qualità della griglia di calcolo

Condizionamento e stabilità K p (A) 1 le perturbazioni sui dati non influenzano eccessivamente i risultati sistema ben condizionato Nella risoluzione numerica di una EDP il tipo di matrice che si ottiene dipende: dal problema dal metodo di discretizzazione usato dalla qualità della griglia di calcolo Precondizionamento Invece del sistema Ax = b si risolve il sistema equivalente PAx = Pb dove la matrice PA è ben condizionata: K p (PA) K p (A).

Condizionamento e stabilità K p (A) 1 le perturbazioni sui dati non influenzano eccessivamente i risultati sistema ben condizionato Nella risoluzione numerica di una EDP il tipo di matrice che si ottiene dipende: dal problema dal metodo di discretizzazione usato dalla qualità della griglia di calcolo Precondizionamento Invece del sistema Ax = b si risolve il sistema equivalente PAx = Pb dove la matrice PA è ben condizionata: K p (PA) K p (A). Minore propagazione degli errori di arrotondamento Aumento della velocità di convergenza dei metodi di risoluzione iterativi

Condizionamento e stabilità Stabilità di un algoritmo Si tratta di sapere quanto la soluzione di un sistem lineare ottenuta con un dato algoritmo è sensibile a piccoli errori sui dati A e b. Un algoritmo è detto stabile se non amplifica eccessivamente le perturbazioni sui dati Due nozioni complementari: condizionamento di una matrice, che esprime la sensibilità della soluzione esatta agli errori di arrotondamento stabilità di un algoritmo, che è legata all amplificazione degli errori dovuta all agoritmo di risoluzione usato per una buona risoluzione di un sistema lineare bisogna avere una matrice non troppo mal condizionata e un algoritmo sifficientemente stabile

Metodi di risoluzione Classificazione METODI DIRETTI: in assenza di errori di arrotondamento, danno la soluzione esatta in un numero finito di operazioni METODI ITERATIVI: la soluzione è ottenuta come limite di una successione METODI MISTI

Fattorizzazione LU ed eliminazione gaussiana Fattorizzazione LU Considerare la matrice del sistema lineare Ax = b come prodotto di due matrici A = LU dove L è triangolare inferiore: L ij = 0 per j > i (L =lower) U è triangolare superiore: U ij = 0 per i > j (U =upper)

Fattorizzazione LU ed eliminazione gaussiana Fattorizzazione LU Considerare la matrice del sistema lineare Ax = b come prodotto di due matrici A = LU dove L è triangolare inferiore: L ij = 0 per j > i (L =lower) U è triangolare superiore: U ij = 0 per i > j (U =upper) La soluzione del sistema Ax = b è ottenuta risolvendo due sistemi triangolari 1 Ly = b 2 Ux = y

Fattorizzazione LU ed eliminazione gaussiana Fattorizzazione LU Considerare la matrice del sistema lineare Ax = b come prodotto di due matrici A = LU dove L è triangolare inferiore: L ij = 0 per j > i (L =lower) U è triangolare superiore: U ij = 0 per i > j (U =upper) La soluzione del sistema Ax = b è ottenuta risolvendo due sistemi triangolari 1 Ly = b 2 Ux = y Vantaggio L inversione di una matrice triangolare è facile e poco costosa: O(n 2 )

Soluzione di sistemi triangolari Matrici triangolari inferiori (Lx = b) : sostituzione in avanti x 1 = b 1 l 11 x i = 1 i 1 ) (b i l ij x j l ii j=1 i = 2,...,n

Soluzione di sistemi triangolari Matrici triangolari inferiori (Lx = b) : sostituzione in avanti x 1 = b 1 l 11 x i = 1 i 1 ) (b i l ij x j l ii j=1 i = 2,...,n Matrici triangolari superiori (Ux = b): sostituzione all indietro x n = b n u nn x i = 1 u ii (b i n j=i+1 u ij x j ) i = n 1,...,1

Soluzione di sistemi triangolari Matrici triangolari inferiori (Lx = b) : sostituzione in avanti x 1 = b 1 l 11 x i = 1 i 1 ) (b i l ij x j l ii j=1 i = 2,...,n Matrici triangolari superiori (Ux = b): sostituzione all indietro x n = b n u nn x i = 1 u ii (b i n j=i+1 u ij x j ) i = n 1,...,1 Costo computazionale: +/ n(n 1) 2 n(n 1) 2 n O(n 2 )

Eliminazione gaussiana Algoritmo che permette di ridurre il sistema Ax = b in un sistema equivalente Ux = ˆb, dove U è una matrice triangolare superiore.

Eliminazione gaussiana Algoritmo che permette di ridurre il sistema Ax = b in un sistema equivalente Ux = ˆb, dove U è una matrice triangolare superiore. Sia A (1) = A, b (1) = b e supponiamo che a (1) 11 0

Eliminazione gaussiana Algoritmo che permette di ridurre il sistema Ax = b in un sistema equivalente Ux = ˆb, dove U è una matrice triangolare superiore. Sia A (1) = A, b (1) = b e supponiamo che a (1) 11 0 Introduciamo i moltiplicatori m i1 = a(1) i1 (i = 2,3,...,n) a (1) 11

Eliminazione gaussiana Algoritmo che permette di ridurre il sistema Ax = b in un sistema equivalente Ux = ˆb, dove U è una matrice triangolare superiore. Sia A (1) = A, b (1) = b e supponiamo che a (1) 11 0 Introduciamo i moltiplicatori m i1 = a(1) i1 (i = 2,3,...,n) a (1) 11 Sottraendo dalla riga i la prima riga moltiplicata per m i1 si ha il sistema equivalente A (2) x = b (2), dove a (1) 11 a (1) 12... a (1) 1n A (2) 0 a (2) = 22... a (2) 2n... 0 a (k) n2... a (k) nn b (1) 1 e b (2) b (2) = 2.. b (2) n

Eliminazione gaussiana Algoritmo che permette di ridurre il sistema Ax = b in un sistema equivalente Ux = ˆb, dove U è una matrice triangolare superiore. Sia A (1) = A, b (1) = b e supponiamo che a (1) 11 0 Introduciamo i moltiplicatori m i1 = a(1) i1 (i = 2,3,...,n) a (1) 11 Sottraendo dalla riga i la prima riga moltiplicata per m i1 si ha il sistema equivalente A (2) x = b (2), dove a (1) 11 a (1) 12... a (1) 1n A (2) 0 a (2) = 22... a (2) 2n... 0 a (k) n2... a (k) nn Ripetere il procedimento per le righe i = 2,3,...,n b (1) 1 e b (2) b (2) = 2.. b (2) n

Eliminazione di Gaussiana All ultima iterazione abbiamo a (1) 11 a (1) 12...... a (1) 1n b (1) 0 a (2) 22 a (2) 1 2n b (2)..... x = 2.. 0...... 0 a (n) nn b (n) n Ricapitolando, per k = 1,2,...,n m ik = a(k) ik a (k) kk a (k+1) ij b (k+1) i = a (k) ij m ik a (k) kj = b (k) i m ik b (k) k i = k+1,...,n i,j = k+1,...,n i = k+1,...,n

Eliminazione gaussiana Costo computazionale Per k = 1,2,...,n m ik = a(k) ik a (k) kk a (k+1) ij b (k+1) i = a (k) ij m ik a (k) kj = b (k) i m ik b (k) k i = k+1,...,n i,j = k+1,...,n i = k+1,...,n + 0 n(n+1)(n 1) 3 n(n+1)(n 1) 3 n(n 1) 2 O(n 3 )

Eliminazione gaussiana Pivoting L eliminazione gaussiana può essere usata solo se a (k) kk 0 (pivot)

Eliminazione gaussiana Pivoting L eliminazione gaussiana può essere usata solo se a (k) kk 0 (pivot) Se a (k) kk = 0 si permuta la riga k con un altra riga j (k < j n) dove a(k) jk 0

Eliminazione gaussiana Pivoting L eliminazione gaussiana può essere usata solo se a (k) kk 0 (pivot) Se a (k) kk Se a (k) jk = 0 si permuta la riga k con un altra riga j (k < j n) dove a(k) jk 0 = 0 (k j n) allora la matrice A è singolare

Eliminazione gaussiana Pivoting L eliminazione gaussiana può essere usata solo se a (k) kk 0 (pivot) Se a (k) kk Se a (k) jk = 0 si permuta la riga k con un altra riga j (k < j n) dove a(k) jk 0 = 0 (k j n) allora la matrice A è singolare Corollario: l eliminazione gaussiana associata a una strategia di pivot è sempre possibile per una matrice non singolare

Eliminazione gaussiana Pivoting L eliminazione gaussiana può essere usata solo se a (k) kk 0 (pivot) Se a (k) kk Se a (k) jk = 0 si permuta la riga k con un altra riga j (k < j n) dove a(k) jk 0 = 0 (k j n) allora la matrice A è singolare Corollario: l eliminazione gaussiana associata a una strategia di pivot è sempre possibile per una matrice non singolare Alcune matrici per cui l eliminazione gaussiana può essere applicata senza pivoting sono: Matrici a diagonale dominante per righe (matrici per cui a ii a ij con j=1,j i i = 1,...,n) Matrici a diagonale dominante per colonne (matrici per cui a ii a ji con j=1,j i i = 1,...,n) Matrici simmetriche e definite positive

Eliminazione gaussiana e fattorizzazione LU Equivalenza tra l eliminazione gaussiana la fattorizzazione LU Sia N (i,j) la matrice con elementi nulli tranne l elemento nella posizione (i,j) pari a 1

Eliminazione gaussiana e fattorizzazione LU Equivalenza tra l eliminazione gaussiana la fattorizzazione LU Sia N (i,j) la matrice con elementi nulli tranne l elemento nella posizione (i,j) pari a 1 N (i,j) N (r,s) 0 j = r

Eliminazione gaussiana e fattorizzazione LU Equivalenza tra l eliminazione gaussiana la fattorizzazione LU Sia N (i,j) la matrice con elementi nulli tranne l elemento nella posizione (i,j) pari a 1 N (i,j) N (r,s) 0 j = r Sommare alla i-esima riga α-volte la riga j, equivale a moltiplicare a sinistra per la matrice I + αn (i,j)

Eliminazione gaussiana e fattorizzazione LU Equivalenza tra l eliminazione gaussiana la fattorizzazione LU Sia N (i,j) la matrice con elementi nulli tranne l elemento nella posizione (i,j) pari a 1 N (i,j) N (r,s) 0 j = r Sommare alla i-esima riga α-volte la riga j, equivale a moltiplicare a sinistra per la matrice I + αn (i,j) Eliminazione degli elementi sotto (a (k) kk ) (I m k+1,k N (k+1,k) )(I m k+2,k N (k+2,k) )...(I m n,k N (n,k) )A (k) = (I n i=k+1 m i,k N (i,k) )A (k) = M k A (k) = A (k+1)

Eliminazione gaussiana e fattorizzazione LU Equivalenza tra l eliminazione gaussiana la fattorizzazione LU Sia N (i,j) la matrice con elementi nulli tranne l elemento nella posizione (i,j) pari a 1 N (i,j) N (r,s) 0 j = r Sommare alla i-esima riga α-volte la riga j, equivale a moltiplicare a sinistra per la matrice I + αn (i,j) Eliminazione degli elementi sotto (a (k) kk ) (I m k+1,k N (k+1,k) )(I m k+2,k N (k+2,k) )...(I m n,k N (n,k) )A (k) = (I n i=k+1 m i,k N (i,k) )A (k) = M k A (k) = A (k+1) In definitiva si ha: M n 1 M n 2...M 1 A = MA = U

Eliminazione gaussiana e fattorizzazione LU 1 0...... 0 m 21 1. M 1 =... 0 1........ m n1 0 0... 1 1 0...... 0 0 1. M 2 =... m 32 1........ 0 m n2 0... 1

Eliminazione gaussiana e fattorizzazione LU 1 0...... 0 1 0...... 0 m 21 1. 0 1. M 1 =... 0 1. M 2 =... m 32 1............... m n1 0 0... 1 0 m n2 0... 1 1 0...... 0 m 21 1. M 2 M 1 =. m 32 1........ m n1 m n2 0... 1

Eliminazione gaussiana e fattorizzazione LU 1 0...... 0. m 21 1. M =.. m.. 32........ 0 m n1 m n2... m n,n 1 1

Eliminazione gaussiana e fattorizzazione LU 1 0...... 0. m 21 1. M =.. m.. 32........ 0 m n1 m n2... m n,n 1 1 1 0...... 0 m 21 1. M 1 = 2I M =.. m.. 32...... 0 m n1 m n2... m n,n 1 1

Eliminazione gaussiana e fattorizzazione LU Poiché A = M 1 U si ha 1 0...... 0. m 21 1. M =.. m.. 32........ 0 m n1 m n2... m n,n 1 1 1 0...... 0 m 21 1. M 1 = 2I M =.. m.. 32...... 0 m n1 m n2... m n,n 1 1 L = M 1

...ancora riguardo al pivoting P k = Matrice di permutazione tra la riga k e la riga i k k (P k ) 1 = (P k ) T = P k

...ancora riguardo al pivoting P k = Matrice di permutazione tra la riga k e la riga i k k (P k ) 1 = (P k ) T = P k Applicazione di P k prima di A (k) M 1 non è più triangolare inferiore M n 1 P n 1 M n 2 P n 2...M 1 P 1 A = MA = U

...ancora riguardo al pivoting P k = Matrice di permutazione tra la riga k e la riga i k k (P k ) 1 = (P k ) T = P k Applicazione di P k prima di A (k) M 1 non è più triangolare inferiore Introducendo P = P n 1...P 1 si ha M n 1 P n 1 M n 2 P n 2...M 1 P 1 A = MA = U PA = (PM 1 )U dove (PM 1 ) è triangolare inferiore poniamo L = PM 1

...ancora riguardo al pivoting P k = Matrice di permutazione tra la riga k e la riga i k k (P k ) 1 = (P k ) T = P k Applicazione di P k prima di A (k) M 1 non è più triangolare inferiore Introducendo P = P n 1...P 1 si ha M n 1 P n 1 M n 2 P n 2...M 1 P 1 A = MA = U PA = (PM 1 )U dove (PM 1 ) è triangolare inferiore poniamo L = PM 1 L e U sono calcolate con l eliminazione gaussiana partendo da PA

...ancora riguardo al pivoting P k = Matrice di permutazione tra la riga k e la riga i k k (P k ) 1 = (P k ) T = P k Applicazione di P k prima di A (k) M 1 non è più triangolare inferiore Introducendo P = P n 1...P 1 si ha M n 1 P n 1 M n 2 P n 2...M 1 P 1 A = MA = U PA = (PM 1 )U dove (PM 1 ) è triangolare inferiore poniamo L = PM 1 L e U sono calcolate con l eliminazione gaussiana partendo da PA Una volta ottenuto P, L e U si risolvono 1 Ly = Pb 2 Ux = y

Algoritmo di Doolittle (Fattorizzazione compatta) La fattorizzazione LU equivale a trovare i coefficienti l ir e u rj che soddisfano min(i,j) a ij = r=1 l ir u rj

Algoritmo di Doolittle (Fattorizzazione compatta) La fattorizzazione LU equivale a trovare i coefficienti l ir e u rj che soddisfano min(i,j) a ij = r=1 l ir u rj Supponiamo che le prime k 1 colonne di L e U siano disponibili e l kk = 1. Allora k 1 a kj = l kr u rj + u kj j = k,...,n a ik = r=1 k 1 r=1 l ir u rk + l ik u kk i = k+1,...,n

Algoritmo di Doolittle (Fattorizzazione compatta) La fattorizzazione LU equivale a trovare i coefficienti l ir e u rj che soddisfano min(i,j) a ij = r=1 l ir u rj Supponiamo che le prime k 1 colonne di L e U siano disponibili e l kk = 1. Allora k 1 a kj = l kr u rj + u kj j = k,...,n a ik = r=1 k 1 r=1 l ir u rk + l ik u kk Riordinando i termini, per k = 1,...,n k 1 u kj = a kj l kr u rj r=1 l ik = 1 ( k 1 ) a ik u kk l ir u rk r=1 i = k+1,...,n j = k,...,n i = k+1,...,n

Fattorizzazione di Cholesky Sia A R n n una matrice simmetrica e definita positiva. Allora esiste un unica matrice triangolare superiore H con elementi sulla diagonale strettamente positivi tale che A = H T H Gli elementi h ij di H possono essere calcolati con il seguente algoritmo: h 11 = a 11 e, per i = 2,...,n h ij = 1 j 1 ) (a ij h ik h jk h jj ( h ii = a ii k=1 i 1 ) 1/2 h 2 ik k=1 j = 1,...,i 1

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata.

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata. Sia r = b A x il residuo

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata. Sia r = b A x il residuo Con le quantità appena introdotte abbiamo Az = r

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata. Sia r = b A x il residuo Con le quantità appena introdotte abbiamo Az = r Si può definire dunque l algoritmo r (k) = b A x (k) Az (k) = r (k) x (k+1) = x (k) + z (k)

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata. Sia r = b A x il residuo Con le quantità appena introdotte abbiamo Az = r Si può definire dunque l algoritmo lim k x(k) = x r (k) = b A x (k) Az (k) = r (k) x (k+1) = x (k) + z (k)

Raffinamento successivo della soluzione Supponiamo di avere una soluzione approssimata x del sistema Ax = b Sia z = x x la differenza tra la soluzione esatta (sconosciuta) e quella approssimata. Sia r = b A x il residuo Con le quantità appena introdotte abbiamo Az = r Si può definire dunque l algoritmo r (k) = b A x (k) Az (k) = r (k) x (k+1) = x (k) + z (k) lim k x(k) = x La fattorizzazione LU viene eseguita una volta sola

Matrici sparse Una matrice A R n n è ritenuta sparsa se ha un numero di elementi non nulli dell ordine di O(n) (invece che O(n 2 ))

Matrici sparse Una matrice A R n n è ritenuta sparsa se ha un numero di elementi non nulli dell ordine di O(n) (invece che O(n 2 )) Soluzione di EDP mediante differenze finite, elementi finiti e volumi finiti matrici sparse di grandi dimensioni

Matrici sparse Una matrice A R n n è ritenuta sparsa se ha un numero di elementi non nulli dell ordine di O(n) (invece che O(n 2 )) Soluzione di EDP mediante differenze finite, elementi finiti e volumi finiti matrici sparse di grandi dimensioni Sono stati definiti metodi diretti efficienti per matrici sparse con struttura particolare (matrice a banda, tridiagonale, a blocchi, ecc.)

Matrici sparse Una matrice A R n n è ritenuta sparsa se ha un numero di elementi non nulli dell ordine di O(n) (invece che O(n 2 )) Soluzione di EDP mediante differenze finite, elementi finiti e volumi finiti matrici sparse di grandi dimensioni Sono stati definiti metodi diretti efficienti per matrici sparse con struttura particolare (matrice a banda, tridiagonale, a blocchi, ecc.) In generale, il processo di fattorizzazione non conserva la sparsità (fenomeno del fill-in) alto costo in termini di memoria necessaria Utilizzo di algoritmi di riordinamento (Cuthill-McKee, Reverse Cuthill-McKee, etc.)

Matrici sparse Una matrice A R n n è ritenuta sparsa se ha un numero di elementi non nulli dell ordine di O(n) (invece che O(n 2 )) Soluzione di EDP mediante differenze finite, elementi finiti e volumi finiti matrici sparse di grandi dimensioni Sono stati definiti metodi diretti efficienti per matrici sparse con struttura particolare (matrice a banda, tridiagonale, a blocchi, ecc.) In generale, il processo di fattorizzazione non conserva la sparsità (fenomeno del fill-in) alto costo in termini di memoria necessaria Utilizzo di algoritmi di riordinamento (Cuthill-McKee, Reverse Cuthill-McKee, etc.) Per matrici sparse non strutturate di grande dimensione, i metodi iterativi sono spesso utilizzati come alternativa ai metodi diretti

Matrici tridiagonali: algoritmo di Thomas a 1 c 1 0. A = b 2 a.. 2...... cn 1 0 b n a n

Matrici tridiagonali: algoritmo di Thomas a 1 c 1 0. A = b 2 a.. 2...... cn 1 0 b n a n 1 0 α 1 c 1 0 β 2 1. L =...... U = α.. 2... cn 1 0 β n 1 0 α n Dove α 1 = a 1 e, per i = 2,...,n β i = b i a i 1 α i = a i β i c i 1

Matrici tridiagonali: algoritmo di Thomas a 1 c 1 0. A = b 2 a.. 2...... cn 1 0 b n a n 1 0 α 1 c 1 0 β 2 1. L =...... U = α.. 2... cn 1 0 β n 1 0 α n Dove α 1 = a 1 e, per i = 2,...,n β i = b i a i 1 α i = a i β i c i 1 Costo computazionale: +/ n 1 n 1 n 1 O(n)

Algoritmo di Thomas per Ax = f (A tridiagonale) Dobbiamo risolvere Ly = f e Ux = y con 1 0 α 1 c 1 0 β 2 1. L =...... U = α.. 2... cn 1 0 β n 1 0 α n 1 Ly = f Sostituzione in avanti: 2 Ux = y Sostituzione all indietro: y 1 = f 1, y i = f i β i y i 1 i = 2,...,n y n = y n α n, x i = (y i c i x i+1 )/α i i = n 1,...,1

Algoritmo di Thomas per Ax = f (A tridiagonale) Dobbiamo risolvere Ly = f e Ux = y con 1 0 α 1 c 1 0 β 2 1. L =...... U = α.. 2... cn 1 0 β n 1 0 α n 1 Ly = f Sostituzione in avanti: 2 Ux = y Sostituzione all indietro: y 1 = f 1, y i = f i β i y i 1 i = 2,...,n y n = y n α n, x i = (y i c i x i+1 )/α i i = n 1,...,1 Costo computazionale: +/ 2(n 1) 2(n 1) n O(n)