-
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