• Non ci sono risultati.

21-22Gennaio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale

N/A
N/A
Protected

Academic year: 2021

Condividi "21-22Gennaio2009 [email protected] MassimilianoMartinelli SoluzioniAnaliticheeNumericheApplicateall’IngegneriaAmbientale"

Copied!
116
0
0

Testo completo

(1)

Metodi numerici per la risoluzione di sistemi lineari

Soluzioni Analitiche e Numeriche Applicate all’Ingegneria Ambientale

Massimiliano Martinelli

[email protected]

Università Politecnica delle Marche, Ancona Facoltà di Ingegneria

21-22 Gennaio 2009

(2)

Metodi numerici per la risoluzione di sistemi lineari

Outline

1 Introduzione

2 Metodi numerici per la risoluzione di sistemi lineari Metodi diretti

(3)

Metodi numerici per la risoluzione di sistemi lineari

Obiettivi del corso

Introduzione 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

(4)

Metodi numerici per la risoluzione di sistemi lineari

Obiettivi del corso

Introduzione 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

Esempi

Trasporto di sostanze inquinanti Simulazioni oceanografiche Previsioni meteorologiche . . .

(5)

Metodi numerici per la risoluzione di sistemi lineari

Obiettivi del corso

Introduzione 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

Esempi

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

(6)

Metodi numerici per la risoluzione di sistemi lineari

Animazione 1 Animazione 2 Animazione 3

(7)

Metodi numerici per la risoluzione di sistemi lineari

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

(8)

Metodi numerici per la risoluzione di sistemi lineari

Errori nei modelli computazionali

Problema fisico: xph

Modello matematico: F(x, d) = 0 Soluzione calcolata: ˆxn

Problema discretizzato: Fn(xn, dn) = 0

em e

ec

en ea

emerrore del modello matematico ecerrore del modello computazionale enerrore di discretizzazione

eaerrore dovuto dall’algoritmo

(9)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Ogni x∈ R tale che xmin≤ x ≤ xmaxviene convertito in virgola mobile fl(·): R 7→ F, dove

fl(x) = x(1 +δ) con |δ| ≤u=1

2β1−t=εM

2 u= precisione macchina (o unita di arrotondamento)

(10)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Ogni x∈ R tale che xmin≤ x ≤ xmaxviene convertito in virgola mobile fl(·): R 7→ 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 7→ R viene sostituita con

: R× R 7→ F x  y= fl(fl(x) ◦ fl(y))

(11)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Ogni x∈ R tale che xmin≤ x ≤ xmaxviene convertito in virgola mobile fl(·): R 7→ 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 7→ R viene sostituita con

: R× R 7→ 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

(12)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Ogni x∈ R tale che xmin≤ x ≤ xmaxviene convertito in virgola mobile fl(·): R 7→ 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 7→ R viene sostituita con

: R× R 7→ 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

(13)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Domanda 1:

Utilizzando⊞ : R× R 7→ F invece di +: R × R 7→ R, valgono le stesse proprietà?

Commutatività: x⊞ y= y ⊞ x?

Associatività:(x ⊞ y) ⊞ z= x ⊞ (y ⊞ z)?

(14)

Metodi numerici per la risoluzione di sistemi lineari

Operazioni in virgola mobile

Domanda 1:

Utilizzando⊞ : R× R 7→ F invece di +: R × R 7→ 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 7→ F è sempre caratterizzata da un piccolo errore relativo?

(15)

Metodi numerici per la risoluzione di sistemi lineari

Costo computazionale

Quantità di memoria occupata

Tempo di calcolo (può essere stimato in base al numero di operazioni elementari:+, −, ×, ÷)

(16)

Metodi numerici per la risoluzione di sistemi lineari

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 → +⇐⇒ ∃n0, ∃M > 0 t.c. |c(n)| < M|f (n)| ∀n > n0

(17)

Metodi numerici per la risoluzione di sistemi lineari

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 → +⇐⇒ ∃n0, ∃M > 0 t.c. |c(n)| < M|f (n)| ∀n > n0

equivalente a lim sup

n→+

c(n) f(n) < +∞

(18)

Metodi numerici per la risoluzione di sistemi lineari

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 → +⇐⇒ ∃n0, ∃M > 0 t.c. |c(n)| < M|f (n)| ∀n > n0

equivalente a lim sup

n→+

c(n) f(n) < +∞

Domanda:

Dato un algoritmo poco costoso in tempo e uno poco costoso in memoria, quale scegliereste?

(19)

Metodi numerici per la risoluzione di sistemi lineari

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

Prodotto matrice-vettore Prodotto matrice-matrice

(20)

Metodi numerici per la risoluzione di sistemi lineari

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore⇒ O(n)

Prodotto matrice-vettore⇒ O(n2) Prodotto matrice-matrice⇒ O(n3)

(21)

Metodi numerici per la risoluzione di sistemi lineari

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore⇒ O(n)

Prodotto matrice-vettore⇒ O(n2) Prodotto matrice-matrice⇒ O(n3) Determinante (formula di Leibnitz)

det(A) =

σ∈Sn

sgn(σ)

n i=1

ai,σ(i)

doveσè una permutazione dell’insieme{1,...,n} e Snl’insieme di tutte le permutazioni dell’insieme{1,...,n}

(22)

Metodi numerici per la risoluzione di sistemi lineari

Costo di alcune operazioni tipiche in algebra lineare Prodotto vettore-vettore⇒ O(n)

Prodotto matrice-vettore⇒ O(n2) Prodotto matrice-matrice⇒ O(n3) Determinante (formula di Leibnitz)

det(A) =

σ∈Sn

sgn(σ)

n i=1

ai,σ(i)

doveσè una permutazione dell’insieme{1,...,n} e Snl’insieme di tutte le permutazioni dell’insieme{1,...,n}

+/− ×

n! (n − 1)n! O(nn!)

(23)

Metodi numerici per la risoluzione di sistemi lineari

Outline

1 Introduzione

2 Metodi numerici per la risoluzione di sistemi lineari Metodi diretti

(24)

Metodi numerici per la risoluzione di sistemi lineari

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, . . .

(25)

Metodi numerici per la risoluzione di sistemi lineari

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

(26)

Metodi numerici per la risoluzione di sistemi lineari

Risoluzione di sistemi lineari

Il problema

Data una matrice A∈ Kn,n(dove K= {R,C}) e un vettore b ∈ Kn, trovare x∈ Kn tale che

Ax= b

(27)

Metodi numerici per la risoluzione di sistemi lineari

Risoluzione di sistemi lineari

Il problema

Data una matrice A∈ Kn,n(dove K= {R,C}) e un vettore b ∈ Kn, trovare x∈ Kn tale che

Ax= b Approccio matematico classico (metodo di Cramer) Se det(A) 6= 0 allora x = A−1b, dove

A−1=det(A)1 CT, con Cij= (−1)i+jMij Mijè il(i, j)-esimo minore di A

Stima del costo: c(n) ≃ O(n2n!) (per i metodi numerici invece: c(n) . O(n3))

(28)

Metodi numerici per la risoluzione di sistemi lineari

Risoluzione di sistemi lineari

Il problema

Data una matrice A∈ Kn,n(dove K= {R,C}) e un vettore b ∈ Kn, trovare x∈ Kn tale che

Ax= b Approccio matematico classico (metodo di Cramer) Se det(A) 6= 0 allora x = A−1b, dove

A−1=det(A)1 CT, con Cij= (−1)i+jMij Mijè il(i, j)-esimo minore di A

Stima del costo: c(n) ≃ O(n2n!) (per i metodi numerici invece: c(n) . O(n3)) Esempio: n= 20 e t×≃ 10−9s

(29)

Metodi numerici per la risoluzione di sistemi lineari

Risoluzione di sistemi lineari

Il problema

Data una matrice A∈ Kn,n(dove K= {R,C}) e un vettore b ∈ Kn, trovare x∈ Kn tale che

Ax= b Approccio matematico classico (metodo di Cramer) Se det(A) 6= 0 allora x = A−1b, dove

A−1=det(A)1 CT, con Cij= (−1)i+jMij Mijè il(i, j)-esimo minore di A

Stima del costo: c(n) ≃ O(n2n!) (per i metodi numerici invece: c(n) . O(n3))

Esempio: n= 20 e t×≃ 10−9s metodo di Cramer: 309 secoli metodi numerici: 8.0 · 10−6s

(30)

Metodi numerici per la risoluzione di sistemi lineari

Risoluzione di sistemi lineari

Il problema

Data una matrice A∈ Kn,n(dove K= {R,C}) e un vettore b ∈ Kn, trovare x∈ Kn tale che

Ax= b Approccio matematico classico (metodo di Cramer) Se det(A) 6= 0 allora x = A−1b, dove

A−1=det(A)1 CT, con Cij= (−1)i+jMij Mijè il(i, j)-esimo minore di A

Stima del costo: c(n) ≃ O(n2n!) (per i metodi numerici invece: c(n) . O(n3))

Esempio: n= 20 e t×≃ 10−9s metodo di Cramer: 309 secoli metodi numerici: 8.0 · 10−6s

Per i problemi reali si arriva anche a n= 107− 108

(31)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

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

(32)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

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

(33)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

Se Ax=λx con x6= 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 pA(λ) = det(A −λI) = 0

dove pA(λ) è chiamato polinomio caratteristico

(34)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

Se Ax=λx con x6= 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

pA(λ) = det(A −λI) = 0 dove pA(λ) è chiamato polinomio caratteristico det(A) =

n i=1

λi e tr(A) =

n i=1

λi

(35)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

Se Ax=λx con x6= 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

pA(λ) = det(A −λI) = 0 dove pA(λ) è chiamato polinomio caratteristico det(A) =

n i=1

λi e tr(A) =

n i=1

λi

ρ(A) = max

λ∈σ(A)|λ| è chiamato raggio spettrale di A

(36)

Metodi numerici per la risoluzione di sistemi lineari

Autovalori e autovettori

Se Ax=λx con x6= 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

pA(λ) = det(A −λI) = 0 dove pA(λ) è chiamato polinomio caratteristico det(A) =

n i=1

λi e tr(A) =

n i=1

λi

ρ(A) = max

λ∈σ(A)|λ| è chiamato raggio spettrale di A

Se A è triangolare i suoi autovalori sono gli elementi sulla diagonale

(37)

Metodi numerici per la risoluzione di sistemi lineari

Decomposizione ai valori singolari (Singular Value Decomposition, SVD) Sia A∈ Cm×n. Esistono allora due matrici unitarie U∈ Cm×me V∈ Cn×ntali che

UHAV=Σ= diag(σ1, . . . ,σp) con p= min(m, n) eσ1≥ ... ≥σp≥ 0. I numeriσisono chiamati valori singolari di A.

(38)

Metodi numerici per la risoluzione di sistemi lineari

Definizione di prodotto scalare

Un prodotto scalare su uno spazio vettoriale V definito su un campo K è un applicazioneh·,·i: V × V 7→ K che soddisfa le seguenti proprietà:

1 è lineare rispetto ai vettori di V, cioè:

hγx+λz, yi =γhx,yi +λhz,yi, ∀x,y,z ∈ V , ∀γ,λ∈ K

2 è hermitiana, cioèhx,yi = hy,xi , ∀x,y ∈ V

3 è definita positiva, cioè:hx,xi ≥ 0 e hx,xi = 0 se e solo se x = 0

(39)

Metodi numerici per la risoluzione di sistemi lineari

Definizione di norma

Sia V uno spazio vettoriale su un campo K. Diremo che l’applicazione||·||: V 7→ 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)

(40)

Metodi numerici per la risoluzione di sistemi lineari

Definizione di norma

Sia V uno spazio vettoriale su un campo K. Diremo che l’applicazione||·||: V 7→ 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∈ Rn p-norme:

||x||p= n

i=1

|xi|p1p

1≤ p < norma del massimo (o norma infinito)

||x||= max

1≤i≤n|xi|

(41)

Metodi numerici per la risoluzione di sistemi lineari

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| = |xTy| ≤ ||x||2||y||2

(42)

Metodi numerici per la risoluzione di sistemi lineari

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| = |xTy| ≤ ||x||2||y||2

Disuguaglianza di Hölder Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| ≤ ||x||p||y||q, con 1 p+1

q= 1

(43)

Metodi numerici per la risoluzione di sistemi lineari

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| = |xTy| ≤ ||x||2||y||2

Disuguaglianza di Hölder Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| ≤ ||x||p||y||q, con 1 p+1

q= 1

Equivalenza fra norme

Due norme||·||pe||·||qsu V sono equivalenti se esistono due costanti positive cpqe Cpqtali che

cpq||x||q≤ ||x||p≤ Cpq||x||q ∀x ∈ V

(44)

Metodi numerici per la risoluzione di sistemi lineari

Disuguaglianza di Cauchy-Schwarz Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| = |xTy| ≤ ||x||2||y||2

Disuguaglianza di Hölder Per ogni coppia x, y ∈ Rnsi ha

|hx,yi| ≤ ||x||p||y||q, con 1 p+1

q= 1

Equivalenza fra norme

Due norme||·||pe||·||qsu V sono equivalenti se esistono due costanti positive cpqe Cpqtali che

cpq||x||q≤ ||x||p≤ Cpq||x||q ∀x ∈ V

In uno spazio normato di dimensione finita, tutte le norme sono equivalenti

(45)

Metodi numerici per la risoluzione di sistemi lineari

Norme di matrici

Norma di Frobenius (o norma Euclidea)

||A||F= s n

i,j=1

|aij|2= tr(AAH)

Norma naturale (o norma indotta)

||A||p= sup

x6=0

||Ax||p

||x||p

||A||1= max

j=1,...,n

m i=1

|aij|

||A||= max

i=1,...,m

n j=1

|aij|

se A è reale e simmetrica, allora||A||2=ρ(A)

(46)

Metodi numerici per la risoluzione di sistemi lineari

Stime per||·||2

maxi,j |aij| ≤||A||2≤ nmaxi,j |aij|

1n||A||≤||A||2 n||A||

1n||A||1≤||A||2 n||A||1

||A||2≤p||A||1||A||

(47)

Metodi numerici per la risoluzione di sistemi lineari

Stime per||·||2

maxi,j |aij| ≤||A||2≤ nmaxi,j |aij|

1n||A||≤||A||2 n||A||

1n||A||1≤||A||2 n||A||1

||A||2≤p||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

(48)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

(49)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

Le norme naturali sono norme consistenti

(50)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

Le norme naturali sono norme consistenti

Sia||·|| una norma consistente. Alloraρ(A) ≤ ||A||

(51)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

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) +ε

(52)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

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||

(53)

Metodi numerici per la risoluzione di sistemi lineari

Norme consistenti

Una norma di matrice||| · ||| si dice consistente con una norma di vettore ||·|| se

||Ax|| ≤ |||A|||||x|| ∀x ∈ Rn

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

kAk= 0 ρ(A) < 1

(54)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Numero di condizionamento

Kp(A) = ||A||p||A−1||p

dove||A||p= sup

x6=0

||Ax||p

||x||p

. Si noti che Kp(A) ≥ 1.

(55)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Numero di condizionamento

Kp(A) = ||A||p||A−1||p

dove||A||p= sup

x6=0

||Ax||p

||x||p

. Si noti che Kp(A) ≥ 1.

Analisi a priori

Come reagisce la soluzione esatta di un sistema lineare Ax= b al variare dei dati?

(56)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Numero di condizionamento

Kp(A) = ||A||p||A−1||p

dove||A||p= sup

x6=0

||Ax||p

||x||p

. Si noti che Kp(A) ≥ 1.

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

Kp(A)

||δb||p

||b||p ||δx||p

||x||p ≤ Kp(A)||δb||p

||b||p

(57)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Numero di condizionamento

Kp(A) = ||A||p||A−1||p

dove||A||p= sup

x6=0

||Ax||p

||x||p

. Si noti che Kp(A) ≥ 1.

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

Kp(A)

||δb||p

||b||p ||δx||p

||x||p ≤ Kp(A)||δb||p

||b||p

Perturbazione di A:(A +δA)(x +δx) = b

||δx||p

||x|| Kp(A) 1− K(A)||δA|| /||A||

||δA||p

||A||

(58)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Kp(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

(59)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Kp(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: Kp(PA) ≪ Kp(A).

(60)

Metodi numerici per la risoluzione di sistemi lineari

Condizionamento e stabilità

Kp(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: Kp(PA) ≪ Kp(A).

Minore propagazione degli errori di arrotondamento

Aumento della velocità di convergenza dei metodi di risoluzione iterativi

(61)

Metodi numerici per la risoluzione di sistemi lineari

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

(62)

Metodi numerici per la risoluzione di sistemi lineari

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

(63)

Metodi numerici per la risoluzione di sistemi lineari

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: Lij= 0 per j > i (L =lower) U è triangolare superiore: Uij= 0 per i > j (U =upper)

(64)

Metodi numerici per la risoluzione di sistemi lineari

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: Lij= 0 per j > i (L =lower) U è triangolare superiore: Uij= 0 per i > j (U =upper)

La soluzione del sistema Ax= b è ottenuta risolvendo due sistemi triangolari

1 Ly= b

2 Ux= y

(65)

Metodi numerici per la risoluzione di sistemi lineari

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: Lij= 0 per j > i (L =lower) U è triangolare superiore: Uij= 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(n2)

(66)

Metodi numerici per la risoluzione di sistemi lineari

Soluzione di sistemi triangolari

Matrici triangolari inferiori (Lx= b) : sostituzione in avanti x1= b1

l11 xi= 1

lii

 bi

i−1 j=1

lijxj



i= 2, . . . , n

(67)

Metodi numerici per la risoluzione di sistemi lineari

Soluzione di sistemi triangolari

Matrici triangolari inferiori (Lx= b) : sostituzione in avanti x1= b1

l11 xi= 1

lii

 bi

i−1 j=1

lijxj



i= 2, . . . , n

Matrici triangolari superiori (Ux= b): sostituzione all’indietro xn= bn

unn xi= 1

uii

 bi

n j=i+1

uijxj

i= n − 1,...,1

(68)

Metodi numerici per la risoluzione di sistemi lineari

Soluzione di sistemi triangolari

Matrici triangolari inferiori (Lx= b) : sostituzione in avanti x1= b1

l11 xi= 1

lii

 bi

i−1 j=1

lijxj



i= 2, . . . , n

Matrici triangolari superiori (Ux= b): sostituzione all’indietro xn= bn

unn xi= 1

uii

 bi

n j=i+1

uijxj

i= n − 1,...,1

Costo computazionale: +/− × ÷

n(n−1) 2

n(n−1)

2 n O(n2)

(69)

Metodi numerici per la risoluzione di sistemi lineari

Eliminazione gaussiana

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

(70)

Metodi numerici per la risoluzione di sistemi lineari

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 6= 0

(71)

Metodi numerici per la risoluzione di sistemi lineari

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 6= 0 Introduciamo i moltiplicatori mi1=a

(1) i1

a(1)11 (i= 2, 3, . . . , n)

Riferimenti

Documenti correlati

Alvise Sommariva Metodi iterativi per la soluzione di sistemi lineari 48/ 81.. Supponiamo di dover risolvere il sistema lineare Ax = b.. Il metodo del gradiente coniugato ha

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Se A ` e una matrice simmetrica e definita positiva di ordine n, allora il metodo del gradiente coniugato ` e convergente e fornisce in aritmetica esatta la soluzione del sistema Ax =

Il metodo SOR ha quale costante quasi ottimale w = 1.350; Il metodo del gradiente coniugato converge in meno iterazioni rispetto agli altri metodi (solo 5 iterazioni, ma si osservi

Implementare il metodo di rilassamento per risolvere il sistema c.. del punto precedente per vari valori del

Laboratorio del corso di Calcolo

I metodi di Rosenbrock sono Runge-Kutta impliciti nei quali l’equazione non lineare per la valutazione della soluzione al nuovo passo `e ottenuta tramite un passo del metodo di