Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Metodi Numerici e Statistici per lIngegneria
Sistemi lineari
Silvia Falletta
Dipartimento di Scienze Matematiche, Politecnico di [email protected]
A.A. 2013/2014
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Matrici e vettori: cosa non possiamo non sapere
Sia x = (x1, . . . , xn)T Rn. Richiamiamo le seguenti norme per
vettori:
||x ||2 =n
i=1 x2i =
xT x norma euclidea;
||x || = max1in |xi |;||x ||1 =
ni=1 |xi |.
Sia A = (aij)i ,j=1,...,n Rnn. Richiamiamo le seguenti norme permatrici:
||A||2 =(ATA) norma spettrale, dove (B) = maxi |i |,
con i autovalore di B , e` detto raggio spettrale di B ;
||A|| = max1inn
j=1 |aij |;||A||1 = max1jn
ni=1 |aij |.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Proprieta`Per le norme 1, 2 ed valgono le seguenti proprieta`:
||AB || ||A||||B ||||I || = 1, con I matrice identita`||Ax || ||A||||x ||
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Una matrice A si dice triangolare superiore se
A =
? ? ? ? ?0 ? ? ? ?0 0 ? ? ?0 0 0 ? ?0 0 0 0 ?
aij = 0, i > j
Una matrice A si dice triangolare inferiore se
A =
? 0 0 0 0? ? 0 0 0? ? ? 0 0? ? ? ? 0? ? ? ? ?
aij = 0, i < j
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Una matrice A si dice diagonale se
A =
? 0 0 0 00 ? 0 0 00 0 ? 0 00 0 0 ? 00 0 0 0 ?
aij = 0, i 6= j
Una matrice A si dice tridiagonale se
A =
? ? 0 0 0? ? ? 0 00 ? ? ? 00 0 ? ? ?0 0 0 ? ?
aij = 0, |i j | > 1
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Una matrice A si dice a diagonale dominante (per righe) se
|aii | >n
j=1,j 6=i
|aij |,i = 1, . . . , n
Esempio 4 1 12 7 1
3 2 9
Una matrice A si dice a diagonale dominante per colonne se
|ajj | >n
i=1,i 6=j
|aij |,j = 1, . . . , n
Esempio 6 1 12 7 1
3 2 9
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Una matrice A si dice simmetrica definita positiva se
1 AT = A
2 xTAx > 0 x 6= oEsempioLa matrice A = BTB , con B Rnn e non singolare, e` simmetricadefinita positiva.
Una matrice simmetrica A e` definita positiva se, e solo se, tutti isuoi autovalori sono reali e positivi.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Risoluzione numerica di sistemi lineari: condizionamento
Consideriamo il sistema lineare
a11x1 + a12x2 + . . .+ a1nxn = b1a21x1 + a22x2 + . . .+ a2nxn = b2
. . . . . .an1x1 + an2x2 + . . .+ annxn = bn
che in forma matriciale diventa
a11 a12 . . . a1na21 a22 . . . a2n...
......
...an1 an2 . . . ann
x1x2...xn
=
b1b2...bn
Ax = b,
e risolviamo il seguente problema: dati A Rnn non singolare(det(A) 6= 0) e b Rn, determinare x Rn tale che Ax = b. Taleproblema ammette una ed una sola soluzione.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Esaminiamo dapprima il condizionamento del problema. A talscopo perturbiamo i dati A e b nei dati A = A + A e b = b + bed indichiamo con x = x + x la soluzione in aritmetica esatta delsistema perturbato Ax = b. Quindi confrontiamo lerrore relativodella soluzione ||x ||/||x || con gli errori relativi dei dati ||A||/||A||e ||b||/||b||. Se ||A|| < 1/||A1|| ( A + A e` non singolare), sidimostra che
||x ||||x ||
K (A)
1 K (A) ||A||||A||
( ||A||||A|| +
||b||||b||
)
doveK (A) = ||A||||A1||.
Supponendo inoltre che ||A|| < 1/(2||A1||) si ha||x ||||x || 2K (A)
( ||A||||A|| +
||b||||b||
).
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Pertanto K (A) = ||A||||A1|| viene definito come numero dicondizionamento del sistema Ax = b. Per le norme 1,2 ed dimatrice si ha:
K (A) = ||A||||A1|| ||AA1|| = ||I || = 1.
Pertanto, se K (A) 1 il sistema e` ben condizionato; seK (A) >> 1 il sistema potrebbe essere mal condizionato
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Un esempio classico di sistema mal condizionato e` quello associatoalla matrice di Hilbert
Hn =
1 12 . . .1n
12
13 . . .
1n+1
......
......
1n
1n+1 . . .
12n1
, K2(Hn) 10n+1
oppure alla matrice di Vandermonde
Vn =
xn11 . . . x1 1
xn12 . . . x2 1...
......
...xn1n . . . xn 1
dove xi 6= xj per i 6= j .
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB
norm(A) oppure norm(A,2) calcola la norma 2 del vettore odella matrice A;
norm(A,inf) calcola la norma del vettore o della matriceA;
norm(A,1) calcola la norma 1 del vettore o della matrice A;
cond(A) oppure cond(A,2) calcola il numero dicondizionamento in norma 2 del sistema Ax = b;
cond(A,inf) calcola il numero di condizionamento in norma del sistema Ax = b;cond(A,1) calcola il numero di condizionamento in norma 1del sistema Ax = b;
hilb(n) genera la matrice di Hilbert Hn di ordine n;
vander(x) genera la matrice di Vandermonde associata alvettore x .
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Come risolvere numericamente Ax = b?Regola di Cramer
Abbiamo bisogno di una routine per calcolare il determinantedi una matrice.
CATTIVA IDEA: perche` richiede (n + 1)! operazioni dimacchina
Ad esempio, se supponiamo di eseguire un flop (floating pointoperation) in 106 secondi
0 2 4 6 8 10 12 14 16 18 201015
1010
105
100
105
1010
size of the system
year
s
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Metodi diretti
I metodi numerici per la risoluzione di un sistema lineare sonoessenzialmente di due tipi:
diretti
iterativi.
Consideriamo dapprima i metodi diretti.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Tecnica di sostituzione allindietro (backward substitution)per sistemi triangolari superiore
Dato il sistema triangolare superiore
a11x1 + a12x2+ . . .+ a1nxn = b1. . . . . . . . .an1n1xn1+ an1nxn = bn1
annxn = bn
, aii 6= 0,i .
ricaviamo direttamente lincognita xn dallultima equazione, xn1dalla penultima equazione,..., x1 dalla prima:
xn =bnann
xn1 =bn1an1nxn
an1n1...
x1 =b1
Pnj=2 a1jxj
a11
{
xn =bnann
xi =bi
Pnj=i+1 aijxj
aii
, i = n 1, . . . , 1
Costo computazionale in termini di operazioni aritmetiche (+, ):n2/2.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB
A = [...; ...; ...];
b = [.; .; .];
n = length(b);
x = zeros(n,1);
x(n) = b(n)/A(n,n);
for i = n-1:-1:1
s = 0;
for j = i+1:n
s = s+A(i,j)*x(j);
end
x(i) = (b(i)-s)/A(i,i);
end
s = A(i,i+1:n)*x(i+1:n)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Tecnica di sostituzione in avanti (forward substitution) persistemi triangolari inferiore
Dato il sistema triangolare inferiore
a11x1 = b1a21x1+ a22x2 = b2
. . . . . .an1x1+ an2x2+ . . .+ annxn = bn
, aii 6= 0,i
ricaviamo direttamente lincognita x1 dalla prima equazione, x2dalla seconda equazione,..., xn dallultima:
x1 =b1a11
x2 =b2a21x1
a22...
xn =bn
Pn1j=1 anjxj
ann
{
x1 =b1a11
xi =bi
Pi1j=1 aijxj
aii
, i = 2, . . . , n
Costo computazionale in termini di operazioni aritmetiche (+, ):n2/2.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB...n=length(b);
x=zeros(n,1);
x(1)=b(1)/A(1,1);
for i=2:n
s=A(i,1:i-1)*x(1:i-1);
x(i)=(b(i)-s)/A(i,i);
end
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Metodo delle eliminazioni di Gauss
Assegnato un sistema lineare Ax = b di ordine n, il metodo delleeliminazioni di Gauss trasforma in n 1 passi il sistema Ax = b inuno equivalente (ovvero che ammette la stessa soluzione) Ux = b,con U matrice triangolare superiore.Il metodo di Gauss utilizza le seguenti proprieta` dei sistemi lineari:
la soluzione rimane invariata se si scambiano tra loro dueequazioni del sistema;
la soluzione rimane invariata se si sostituisce ad unequazionedel sistema una combinazione lineare dellequazione stessa conunaltra.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Per la descrizione del metodo delle eliminazioni di Gaussconsideriamo il seguente sistema lineare di ordine n = 4:
Ax = b
a11x1 + a12x2 + a13x3 + a14x4 = b1a21x1 + a22x2 + a23x3 + a24x4 = b2a31x1 + a32x2 + a33x3 + a34x4 = b3a41x1 + a42x2 + a43x3 + a44x4 = b4
STEP k = 1Poniamo a
(1)ij := aij e b
(1)i := bi . Supponiamo a
(1)11 6= 0, altrimenti
scambiamo la prima equazione con lequazione k-esima tale che
a(1)k1 6= 0; quindi eliminiamo lincognita x1 nelle equazioni
i = 2, 3, 4. A tal scopo sostituiamo li -esima equazione conlequazione che si ottiene sommando alli -esima stessa la prima
equazione moltiplicata per mi1 := a(1)i1 /a(1)11 :
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
mi1 (a(1)11 x1+ a
(1)12 x2 + a
(1)13 x3 + a
(1)14 x4) = mi1b
(1)1
a(1)i1 x1+ a
(1)i2 x2 + a
(1)i3 x3 + a
(1)i4 x4 = b
(1)i
a(2)i2 x2 + a
(2)i3 x3 + a
(2)i4 x4 = b
(2)i
dove
a(2)ij = a
(1)ij + mi1a
(1)1j , b
(2)i = b
(1)i + mi1b
(1)1 , i , j = 2, 3, 4.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
STEP k = 2
a(1)11 x1 + a
(1)12 x2 + a
(1)13 x3 + a
(1)14 x4 = b
(1)1
a(2)22 x2 + a
(2)23 x3 + a
(2)24 x4 = b
(2)2
a(2)32 x2 + a
(2)33 x3 + a
(2)34 x4 = b
(2)3
a(2)42 x2 + a
(2)43 x3 + a
(2)44 x4 = b
(2)4
Supponiamo a(2)22 6= 0; quindi eliminiamo lincognita x2 nelle
equazioni i = 3, 4. A tal scopo sostituiamo li -esima equazione conlequazione che si ottiene sommando alli -esima stessa la seconda
equazione moltiplicata per mi2 := a(2)i2 /a(2)22 . Otteniamo
a(1)11 x1 + a
(1)12 x2 + a
(1)13 x3 + a
(1)14 x4 = b
(1)1
a(2)22 x2 + a
(2)23 x3 + a
(2)24 x4 = b
(2)2
a(3)33 x3 + a
(3)34 x4 = b
(3)3
a(3)43 x3 + a
(3)44 x4 = b
(3)4
dove
a(3)ij = a
(2)ij + mi2a
(2)2j , b
(3)i = b
(2)i + mi2b
(2)2 , i , j = 3, 4.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
STEP k = 3Supponiamo a
(3)33 6= 0; quindi eliminiamo lincognita x3
nellequazione i = 4. A tal scopo sostituiamo li -esima equazionecon lequazione che si ottiene sommando alli -esima stessa la terza
equazione moltiplicata per mi3 := a(3)i3 /a(3)33 . Otteniamo cos` ilseguente sistema triangolare superiore
a(1)11 x1 + a
(1)12 x2 + a
(1)13 x3 + a
(1)14 x4 = b
(1)1
a(2)22 x2 + a
(2)23 x3 + a
(2)24 x4 = b
(2)2
a(3)33 x3 + a
(3)34 x4 = b
(3)3
a(4)44 x4 = b
(4)4
Ux = b
dove
a(4)ij = a
(3)ij + mi3a
(3)3j , b
(4)i = b
(3)i + mi3b
(3)3 , i , j = 4.
Risolviamo infine il sistema Ux = b con la tecnica di sostituzioneallindietro.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Il seguente schema di calcolo riassume la descrizione del metododelle eliminazioni di Gauss:
i = k+1, . . . , n
k = 1, . . . , n 1
mik = a(k)ik /a(k)kka(k+1)ij = a
(k)ij + mika
(k)kj , j = k + 1, . . . , n
b(k+1)i = b
(k)i + mikb
(k)k
xn =
b(n)n
a(n)nn
xk =b(k)k
Pnj=k+1 a
(k)kj
xj
a(k)kk
, k = n 1, . . . , 1
Costo computazionale in termini di operazioni aritmetiche (+, ):O(n3/3).
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Confronto tempi di calcolo: Cramer e GEM
0 2 4 6 8 10 12 14 16 18 201015
1010
105
100
105
1010
size of the system
year
s
Cramers ruleGaussian elimination
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
EsempioApplichiamo il metodo delle eliminazioni di Gauss al sistema:
Ax = b
2 1 1 20 2 0 11 0 2 10 2 1 1
x1x2x3x4
=
0104
la cui soluzione esatta e` x = (1, 1, 1, 1)T .
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
STEP k = 1Memorizziamo i moltiplicatori mi1 al posto di ai1, i = 2, 3, 4:
A =
2 1 1 20 2 0 1
1/2 1/2 5/2 20 2 1 1
b =
0104
STEP k = 2Memorizziamo i moltiplicatori mi2 al posto di ai2, i = 3, 4:
A =
2 1 1 20 2 0 1
1/2 1/4 5/2 9/40 1 1 2
b =
01
1/43
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
STEP k = 3Memorizziamo i moltiplicatori mi3 al posto di ai3, i = 4:
A =
2 1 1 20 2 0 1
1/2 1/4 5/2 9/40 1 2/5 29/10
b =
01
1/429/10
Applichiamo la tecnica di sostituzione allindietro:
x4 = (29/10)/(29/10) = 1x3 = (1/4 9/4)/(5/2) = 1x2 = (1 (1))/2 = 1x1 = (2 + 1 1)/2 = 1
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB...for k=1:n-1
for i=k+1:n
A(i,k)=-A(i,k)/A(k,k);
for j=k+1:n
A(i,j)=A(i,j)+A(i,k)*A(k,j);
end
b(i)=b(i)+A(i,k)*b(k);
end
end
oppure, piu` semplicemente ed efficientemente,for k=1:n-1
A(k+1:n,k)=-A(k+1:n,k)/A(k,k);
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)+A(k+1:n,k)*A(k,k+1:n);
b(k+1:n)=b(k+1:n)+A(k+1:n,k)*b(k);
end
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Pivoting parziale
Nel metodo di Gauss la condizione a(k)kk 6= 0 e` necessaria se si vuole
procedere con le successive eliminazioni. Tale condizione e`garantita se A soddisfa una delle seguenti proprieta`:
det(Ak) 6= 0 k = 1, . . . , n, con Ak matrice di ordine kformata dagli elementi aij , 1 i , j k;A e` a diagonale dominante per righe;
A e` a diagonale dominante per colonne;
A e` simmetrica definita positiva.
Ricordiamo che se a(k)kk = 0 allora occorre individuare lelemento
a(k)ik 6= 0 con k < i n e scambiare la k-esima equazione con la
i -esima. Osserviamo che se A e` non singolare allora esiste
certamente un valore di i per il quale a(k)ik 6= 0.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Per garantire una migliore stabilita` numerica dellalgoritmo diGauss conviene operare uno scambio di equazioni anche quando
|a(k)kk | e` piccolo. Precisamente ad ogni passo k convieneindividuare lindice di riga r per il quale risulta
|a(k)rk | = maxkin
|a(k)ik |
e scambiare la k-esima equazione con lr -esima equazione. Talestrategia e` nota sotto il nome di pivoting parziale. Il pivoting e`superfluo quando:
A e` a diagonale dominante per colonne;
A e` simmetrica a diagonale dominante;
A e` simmetrica definita positiva.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Esempio Consideriamo il sistema di ordine n = 18:
Ax = b, aij = cos((j 1)i ), i = 2i 12n
pi
bi =
nj=1
aij
la cui soluzione esatta e` x = (1, 1, . . . , 1)T . Per esso risulta
K(A) 17||x x ||||x || 10
9
con x calcolata mediante il metodo di eliminazione di Gauss senzapivoting, e
||x xp||||x || 10
15
con xp calcolata mediante il metodo di eliminazione di Gauss conpivoting.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Fattorizzazioni di matrice e loro applicazioni
Il metodo di eliminazione di Gauss con pivoting parziale puo` essereinterpretato come una successione finita di trasformazioni dellamatrice A e del vettore termine noto b. Infatti, al passo k loscambio delle equazioni k ed r del sistema A(k)x = b(k) si puo`realizzare anche nel seguente modo:
PkA(k)x = Pkb
(k)
dovek r
Pk =
1 0 0 0 00 0 0 1 00 0 1 0 00 1 0 0 00 0 0 0 1
k
lr
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Inoltre, al passo k la sostituzione delle equazioni i = k + 1, . . . , ncon le equazioni che si ottengono rispettivamente sommando alleequazioni stesse la k-esima equazione moltiplicata per mik , si puo`realizzare nel seguente modo:
MkPkA(k)x = MkPkb
(k)
dovek
Mk =
1 0 0 0 00 1 0 0 00 mk+1k 1 0 00 0 1 00 mnk 0 0 1
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Pertanto il metodo delle eliminazioni di Gauss puo` essere cos`ridefinito:
Mn1Pn1 . . .M2P2M1P1 G
Ax =Mn1Pn1 . . .M2P2M1P1 G
b
m
GAx = Gb Ux = bdove
G = Mn1Pn1 . . .M2P2M1P1
eGA = U
prende il nome di fattorizzazione di Gauss.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Riordinando opportunamente i fattori della decomposizioneGA = U, otteniamo
Mn1 . . . M2M1 M
Pn1 . . .P2P1 P
A = U MPA = U
ove le matrici Mk ed Mk sono esattamente dello stesso tipo(triangolare inferiore, con elementi sottodiagonali tutti nulli trannequelli della colonna k dei moltiplicatori e con diagonale unitaria),ma differiscono per un diverso ordinamento dei moltiplicatori mik .Posto
P = Pn1 . . .P2P1
matrice di permutazione,
L = M1
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
si ha la seguente fattorizzazione:
PA = LU
con L matrice triangolare inferiore con diagonale unitaria ed Umatrice triangolare superiore della decomposizione di GaussGA = U. I fattori della decomposizione PA = LU si ottengonomediante lalgoritmo di Gauss con pivoting parziale e con un costocomputazionale pari a O(n3/3).
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Alcune applicazioni della fattorizzazione PA = LU:
risoluzione del sistema lineare Ax = b:
Ax = b PAx = Pb L Uxy
= Pb
{
Ly = Pb yUx = y x
calcolo del determinante di A:
det(A) = (1)sn
i=1
uii ,
ove s e` il numero totale degli scambi di equazioni effettuati;
calcolo dellinversa di A (costo computazionale pari a O(n3)):
PA = LU (PA)1 = (LU)1 A1P1 = U1L1 A1 = U1L1P
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
risoluzione di p sistemi lineari aventi tutti la stessa matrice deicoefficienti (costo computazionale pari a O(n3/3 + pn2)). Peresempio, per p = 3
Ax1 = b1Ax2 = b2Ax3 = b3
determiniamo PA = LU e quindi calcoliamo xi , i = 1, 2, 3,risolvendo i seguenti due sistemi triangolari:{
Ly = Pbi yUxi = y xi
risoluzione del sistema Apx = b a partire dai dati A e b (costocomputazionale pari a O(n3/3 + pn2)). Per p = 3
A3x = b A (A (Ax)y
z
) = b
Az = bAy = zAx = y
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Se A e` simmetrica definita positiva, tenendo conto che il pivoting e`superfluo (P = I ), e che A e` simmetrica, possiamo riscriverePA = LU nella forma
A = LLT
ove L e` una matrice triangolare inferiore con elementi positivi sulladiagonale principale. Tale fattorizzazione e` dettafattorizzazione di Choleski. I fattori della decomposizioneA = LLT si ottengono mediante un algoritmo il cui costocomputazionale e` O(n3/6).Alcune applicazioni della fattorizzazione di Choleski A = LLT :
risoluzione del sistema lineare Ax = b:
Ax = b L LT xy
= b {
Ly = b yLT x = y x
calcolo dellinversa di A (costo computazionale O(2n3/3)):
A = LLT A1 = (LLT )1 A1 = (LT )1L1 A1 = (L1)TL1
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB
x=A\b calcola x soluzione di Ax = b con il metodo dieliminazione di Gauss con pivoting parziale;
[L,U,P]=lu(A) calcola i fattori L, U, P della fattorizzazionePA = LU di A;
R=chol(A) alcola il fattore R = LT triangolare superiore dellafattorizzazione di Choleski A = RTR = LLT , della matricesimmetrica definita positiva A.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Conclusioni
Di seguito riassumiamo le principali proprieta` dei metodi diretti perla risoluzione del sistema lineare Ax = b:
1 x viene determinata mediante un numero finito di passi (al piu`n 1 se n e` lordine del sistema);
2 x in aritmetica con precisione infinita di calcolo vienedeterminata in maniera esatta; in aritmetica con precisionefinita di calcolo viene determinata con una precisione la cuientita` non dipende dalle richieste dellutente;
3 i metodi diretti modificano la matrice dei coefficienti;
4 i metodi diretti sono efficienti per matrici dense e dipiccole-medie dimensioni.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Metodi iterativi
Consideriamo il sistema lineare
Ax = b
a11x1 + a12x2 + . . .+ a1nxn = b1a21x1 + a22x2 + . . .+ a2nxn = b2
. . . . . .an1x1 + an2x2 + . . .+ annxn = bn
e supponiamo che aii 6= 0 i . A partire da un arbitrario vettoreiniziale x(0), con un metodo iterativo si determina una sequenza divettori
{x(k+1)
}k=0,1,...
che, sotto opportune condizioni, convergealla soluzione esatta x del sistema:
x(0) {
x(k)}
k=1,2,...: lim
kx x(k) = o (null vector)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Definiamo due classici metodi iterativi. A tal scopo ricaviamodalli -esima equazione per i = 1, . . . , n la variabile xi :
xi =bi
i1j=1 aijxj
nj=i+1 aijxj
aii, aii 6= 0
e generiamo la seguente successione di vettori:
x(k+1)i =
bi i1
j=1 aijx(k)j
nj=i+1 aijx
(k)j
aii, k = 0, 1, . . .
Tale espressione definisce il cosiddetto metodo di Jacobi.Ponendo invece
x(k+1)i =
bi i1
j=1 aijx(k+1)j
nj=i+1 aijx
(k)j
aii, k = 0, 1, . . .
otteniamo il cosiddetto metodo di Gauss-Seidel.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Esempio{3x1 x2 = 2x1 + 2x2 = 3
={
x1 =2+x23
x2 =3x12
x = (1, 1)T
METODO DI JACOBI:
x
(k+1)1 =
2+x(k)2
3
x(k+1)2 =
3x(k)1
2
x(0) x(1) x(2) x(3) x(4)
0 2/3 7/6 19/18 . . .0 3/2 7/6 11/12 . . .
METODO DI GAUSS-SEIDEL:
x
(k+1)1 =
2+x(k)2
3
x(k+1)2 =
3x(k+1)12
x(0) x(1) x(2) x(3) x(4)
0 2/3 19/18 107/108 . . .0 7/6 35/36 217/216 . . .
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
I metodi di Jacobi e Gauss-Seidel fanno parte di quella classe piu`generale di procedimenti iterativi che si deducono nel seguentemodo:
Ax = b (D + C )x = b Dx = b Cx= Dx(k+1) = b Cx(k), k = 0, 1, . . .
ove, ad ogni iterazione k, x(k+1) e` la soluzione di un sistemalineare con matrice dei coefficienti D e termine noto b Cx(k).Pertanto, la matrice D deve essere:
1 non singolare, ovvero tale da garantire lesistenza e lunicita`della soluzione ad ogni passo k;
2 di forma semplice (triangolare, diagonale), ovvero tale che lasoluzione del sistema possa ottenersi con un algoritmorelativamente semplice e poco costoso;
3 tale da garantire la convergenza di x(k+1) ad x per k .
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Osserviamo che, nel caso del metodo di Jacobi
aiix(k+1)i = bi
i1j=1
aijx(k)j
nj=i+1
aijx(k)j , i = 1, . . . , n,
le matrici D e C sono cos` definite
D =
a11 0 . . . 00 a22 . . . 0...
... . . ....
0 0 . . . ann
, C = A D;
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
nel caso del metodo di Gauss-Seidel
ij=1
aijx(k+1)j = bi
nj=i+1
aijx(k)j , i = 1, . . . , n
si ha
D =
a11 0 . . . 0a21 a22 . . . 0...
... . . ....
an1 an2 . . . ann
, C = A D
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Quando si implementa un procedimento iterativo occorre definiredei criteri darresto. Fissare un numero massimo kmax di iterazionirappresenta senzaltro un criterio darresto.Un altro criterio darresto, che riguarda la bonta`dellapprossimazione x(k), consiste nel fissare una tolleranzarelativa tollr ( eps) o assoluta tolla e nellarrestare il processoalliterazione k se x(k) soddisfa la seguente disuguaglianza
||x(k+1) x(k)|| tollr ||x(k+1)||
oppure||x(k+1) x(k)|| tolla
Osserviamo che tale criterio darresto ha senso quando il metodoconverge rapidamente.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Comandi MATLAB
METODO DI JACOBI:A = [...; ...; ...];
b = [.; .; .];
kmax = . ; toll = .;
n = length(b);
x0 = zeros(n,1);
D = diag(diag(A));
C = A-D;
for k = 1:kmax
x1 = D\(b-C*x0);if norm(x1-x0)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Convergenza dei metodi iterativi
Poniamo e(k) = x x(k) e sottraiamo membro a membro leseguenti due equazioni:
Dx = b CxDx(k) = b Cx(k1)
De(k) = Ce(k1) = e(k) = D1Ce(k1) = e(k) = Be(k1)
doveB = D1C = D1(A D) = I D1A
e` detta matrice di iterazione. Tenendo conto che luguaglianzae(k) = Be(k1) vale per ogni k = 1, 2, . . ., si ha
e(k) = Be(k1) = B2e(k2) = . . . = Bke(0)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
da cui deduciamo che
limk
e(k) = o (vettore nullo) x(0) limk
Bk = O (matrice nulla)
Poiche si dimostra che
limk
Bk = O (B) < 1, (B) = maxi|i |, con i autovalore di B
alloralim
ke(k) = o x(0) (I D1A) < 1
Ricordando che per le norme 1,2, sussiste la proprieta`(A) ||A||, possiamo senzaltro affermare che
||I D1A|| < 1 = limk
e(k) = o x(0)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Convergenza dei metodi di Jacobi e Gauss-Seidel
Usando ||I D1A|| < 1 si dimostra che se A e` a diagonaledominante per righe o per colonne, allora i metodi di Jacobi edi Gauss-Seidel convergono.
Si dimostra inoltre che se A e` simmetrica definita positiva,allora il metodo di Gauss-Seidel converge.
Osserviamo infine che la convergenza del metodo di Gauss-Seidelnon implica la convergenza del metodo di Jacobi e viceversa. Seentrambi convergono, in generale il metodo di Gauss-Seidelconverge piu` rapidamente.La rapidita` di convergenza dipende dal raggio spettrale: quanto piu`esso e` piccolo, tanto piu` e` rapida la convergenza.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Conclusioni
Di seguito riassumiamo le proprieta` dei metodi iterativi per larisoluzione del sistema lineare Ax = b:
1 x viene determinata come limite di una successione di vettoriconvergente;
2 x in aritmetica con precisione infinita di calcolo vienedeterminata in maniera approssimata; in aritmetica conprecisione finita di calcolo puo` essere determinata con unaprecisione soddisfacente le richieste dellutente;
3 i metodi iterativi non modificano la matrice dei coefficienti A;
4 i metodi iterativi sono efficienti per matrici sparse e di grandidimensioni.
Matrici e vettori: cosa non possiamo non sapereRisoluzione numerica di sistemi lineari: condizionamentoMetodi direttiMetodo delle eliminazioni di Gauss
Fattorizzazioni di matrice e loro applicazioniMetodi iterativiConvergenza dei metodi iterativi
Top Related