Metodi numerici per sistemi lineari quadrati

Metodi numerici per
sistemi lineari quadrati
a.a. 2012/2013
Prof. Maria Lucia Sampoli
Richiami sulle matrici
Norme di vettori e di matrici
Il concetto di norma e’ una generalizzazione del concetto di lunghezza di
x ∈ Ron di una matrice
A ∈ R n× n
un vettore
DEFINIZIONE: Una funzione da Rn in R: x
e’ detta norma vettoriale
Esempi
||x||, tale che
Norme matriciali indotte
DEFINIZIONE: Una funzione da RnXn in R: A
||A||, tale che
e’ detta norma matriciale.
In generale si considerano norme matriciali indotte
Sistemi lineari quadrati
‘
Condizionamento
Condizionamento
Condizionamento: proprietà
Condizionamento: proprietà
Dato Ax=b, come calcolare x?
Sistemi triangolari
Sistemi triangolari
Metodi diretti: fattorizzazione LR
Metodi diretti: fattorizzazione LR
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Metodo di eliminazione di Gauss
Algoritmo di Gauss
(n - 1)n(2n - 1) (n - 1)n n 3
(n - k) + ∑ (n - k) =
≈
+
∑
2
3
6
k =1
k=1
n-1
n -1
2
Algoritmo di Gauss
Metodo di Gauss: pivoting e scaling
Metodo di Gauss: pivot totale
Metodo di Gauss: pivot parziale
Metodo di Gauss: pivot parziale
Metodo di Gauss: pivot parziale
Metodo di fattorizzazione diretta
Metodo di fattorizzazione diretta
Fattorizzazione di Choleski
Fattorizzazione di Choleski
Fattorizzazione di Choleski
Metodi iterativi per sistemi lineari
Nei metodi diretti la presenza di eventuali elementi nulli nella matrice
non può essere sfruttata ai fini di ridurre il costo computazionale e
l'occupazione di memoria ( aspetti signicativi per sistemi di grandi
dimensioni)
Infatti la trasformazione di A può introdurre un numero diverso da zero
laddove prima c'era uno zero (fill-in)
I metodi iterativi sono utili per la risoluzione di sistemi lineari di grandi
dimensioni con matrici A sparse (il numero degli elementi non nulli è
dell'ordine di n)
Costruzione di un metodo iterativo
Consideriamo il sistema lineare Ax = b con det(A) ≠ 0. Introduciamo
la seguente decomposizione della matrice A = P − N. Allora si ha
Ax = b ⇒ (P - N ) x = b ⇒ Px = Nx + b ⇒ x = P -1Nx + P -1b
Il sistema è ricondotto ad un problema di punto fisso. Applichiamo il
procedimento delle approssimazioni successive
dove B e’ matrice di iterazione
Convergenza di un metodo iterativo
Matrici sparse
Il costo di un metodo iterativo è dato dal
numero delle iterazioni x costo del prodotto di B per un vettore
Quindi l’uso dei metodi iterativi è consigliato nel caso di matrici sparse
e di grandi dimensioni.
Il formato sparse è utilizzato in Matlab per ridurre i costi di
memorizzazione della matrice.
Decomposizione della matrice
Metodo di Jacobi
Metodo di Gauss-Seidel
Criteri di arresto
Condizioni per la convergenza
In generale non si può affermare che il metodo di Gauss-Seidel
converga più velocemente del metodo di Jacobi (o viceversa).
Tuttavia, nel caso di matrici tridiagonali il metodo di Gauss-Seidel
converge se e solo se converge il metodo di Jacobi e, asintoticamente,
sono necessarie metà iterazioni di Gauss-Seidel per ottenere la stessa
precisione di Jacobi.
Il vettore residuo è nullo se e solo se calcolato nella soluzione esatta.
Un residuo piccolo non necessariamente implica vicinanza alla
soluzione (dipende dal condizionamento della matrice A).
Se una matrice A è a diagonale dominante in senso forte sia Jacobi
che Gauss-Seidel convergono (cond. SUFF.)
Gauss-Seidel converge se A è una matrice simmetrica e definita
positiva (SUFF.)