Sei sulla pagina 1di 54

Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei

rativi Convergenza dei meto


Metodi Numerici e Statistici per lIngegneria
Sistemi lineari
Silvia Falletta
Dipartimento di Scienze Matematiche, Politecnico di Torino
silvia.falletta@polito.it
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 = (x
1
, . . . , x
n
)
T
R
n
. Richiamiamo le seguenti norme per
vettori:
||x||
2
=
_

n
i =1
x
2
i
=

x
T
x norma euclidea;
||x||

= max
1i n
|x
i
|;
||x||
1
=

n
i =1
|x
i
|.
Sia A = (a
ij
)
i ,j =1,...,n
R
nn
. Richiamiamo le seguenti norme per
matrici:
||A||
2
=
_
(A
T
A) norma spettrale, dove (B) = max
i
|
i
|,
con
i
autovalore di B, `e detto raggio spettrale di B;
||A||

= max
1i n

n
j =1
|a
ij
|;
||A||
1
= max
1j n

n
i =1
|a
ij
|.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Propriet`a
Per le norme 1, 2 ed valgono le seguenti propriet`a:
||AB|| ||A||||B||
||I || = 1, con I matrice identit`a
||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
_
_
_
_
_
_
a
ij
= 0, i > j
Una matrice A si dice triangolare inferiore se
A =
_
_
_
_
_
_
0 0 0 0
0 0 0
0 0
0

_
_
_
_
_
_
a
ij
= 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 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
_
_
_
_
_
_
a
ij
= 0, i = j
Una matrice A si dice tridiagonale se
A =
_
_
_
_
_
_
0 0 0
0 0
0 0
0 0
0 0 0
_
_
_
_
_
_
a
ij
= 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
|a
ii
| >
n

j =1,j =i
|a
ij
|, i = 1, . . . , n
Esempio
_
_
4 1 1
2 7 1
3 2 9
_
_
Una matrice A si dice a diagonale dominante per colonne se
|a
jj
| >
n

i =1,i =j
|a
ij
|, j = 1, . . . , n
Esempio
_
_
6 1 1
2 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 denita positiva se
1
A
T
= A
2
x
T
Ax > 0 x = o
Esempio
La matrice A = B
T
B, con B R
nn
e non singolare, `e simmetrica
denita positiva.
Una matrice simmetrica A `e denita positiva se, e solo se, tutti i
suoi 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
_

_
a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ . . . + a
2n
x
n
= b
2
. . . . . .
a
n1
x
1
+ a
n2
x
2
+ . . . + a
nn
x
n
= b
n
che in forma matriciale diventa
_
_
_
_
_
a
11
a
12
. . . a
1n
a
21
a
22
. . . a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
n1
a
n2
. . . a
nn
_
_
_
_
_
_
_
_
_
_
x
1
x
2
.
.
.
x
n
_
_
_
_
_
=
_
_
_
_
_
b
1
b
2
.
.
.
b
n
_
_
_
_
_
Ax = b,
e risolviamo il seguente problema: dati A R
nn
non singolare
(det(A) = 0) e b R
n
, determinare x R
n
tale che Ax = b. Tale
problema 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 tal
scopo perturbiamo i dati A e b nei dati

A = A + A e

b = b + b
ed indichiamo con x = x + x la soluzione in aritmetica esatta del
sistema perturbato

A x =

b. Quindi confrontiamo lerrore relativo
della soluzione ||x||/||x|| con gli errori relativi dei dati ||A||/||A||
e ||b||/||b||. Se ||A|| < 1/||A
1
|| (A + A `e non singolare), si
dimostra che
||x||
||x||

K(A)
1 K(A)
||A||
||A||
_
||A||
||A||
+
||b||
||b||
_
dove
K(A) = ||A||||A
1
||.
Supponendo inoltre che ||A|| < 1/(2||A
1
||) si ha
||x||
||x||
2 K(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||||A
1
|| viene denito come numero di
condizionamento del sistema Ax = b. Per le norme 1,2 ed di
matrice si ha:
K(A) = ||A||||A
1
|| ||AA
1
|| = ||I || = 1.
Pertanto, se K(A) 1 il sistema `e ben condizionato; se
K(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 associato
alla matrice di Hilbert
H
n
=
_
_
_
_
_
1
1
2
. . .
1
n
1
2
1
3
. . .
1
n+1
.
.
.
.
.
.
.
.
.
.
.
.
1
n
1
n+1
. . .
1
2n1
_
_
_
_
_
, K
2
(H
n
) 10
n+1
oppure alla matrice di Vandermonde
V
n
=
_
_
_
_
_
x
n1
1
. . . x
1
1
x
n1
2
. . . x
2
1
.
.
.
.
.
.
.
.
.
.
.
.
x
n1
n
. . . x
n
1
_
_
_
_
_
dove x
i
= x
j
per i = 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 o
della matrice A;
norm(A,inf) calcola la norma del vettore o della matrice
A;
norm(A,1) calcola la norma 1 del vettore o della matrice A;
cond(A) oppure cond(A,2) calcola il numero di
condizionamento 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 1
del sistema Ax = b;
hilb(n) genera la matrice di Hilbert H
n
di ordine n;
vander(x) genera la matrice di Vandermonde associata al
vettore 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 determinante
di una matrice.
CATTIVA IDEA: perch`e richiede (n + 1)! operazioni di
macchina
Ad esempio, se supponiamo di eseguire un op (oating point
operation) in 10
6
secondi
0 2 4 6 8 10 12 14 16 18 20
10
15
10
10
10
5
10
0
10
5
10
10
size of the system
y
e
a
r
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 sono
essenzialmente 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
_

_
a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
= b
1
. . . . . . . . .
a
n1n1
x
n1
+ a
n1n
x
n
= b
n1
a
nn
x
n
= b
n
, a
ii
= 0, i .
ricaviamo direttamente lincognita x
n
dallultima equazione, x
n1
dalla penultima equazione,..., x
1
dalla prima:
_

_
x
n
=
b
n
a
nn
x
n1
=
b
n1
a
n1n
x
n
a
n1n1
.
.
.
x
1
=
b
1

P
n
j =2
a
1j
x
j
a
11

_
x
n
=
b
n
a
nn
x
i
=
b
i

P
n
j =i +1
a
ij
x
j
a
ii
, i = n 1, . . . , 1
Costo computazionale in termini di operazioni aritmetiche (+, ):
n
2
/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) per
sistemi triangolari inferiore
Dato il sistema triangolare inferiore
_

_
a
11
x
1
= b
1
a
21
x
1
+ a
22
x
2
= b
2
. . . . . .
a
n1
x
1
+ a
n2
x
2
+ . . . + a
nn
x
n
= b
n
, a
ii
= 0, i
ricaviamo direttamente lincognita x
1
dalla prima equazione, x
2
dalla seconda equazione,..., x
n
dallultima:
_

_
x
1
=
b
1
a
11
x
2
=
b
2
a
21
x
1
a
22
.
.
.
x
n
=
b
n

P
n1
j =1
a
nj
x
j
a
nn

_
x
1
=
b
1
a
11
x
i
=
b
i

P
i 1
j =1
a
ij
x
j
a
ii
, i = 2, . . . , n
Costo computazionale in termini di operazioni aritmetiche (+, ):
n
2
/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 delle
eliminazioni di Gauss trasforma in n 1 passi il sistema Ax = b in
uno equivalente (ovvero che ammette la stessa soluzione) Ux =

b,
con U matrice triangolare superiore.
Il metodo di Gauss utilizza le seguenti propriet`a dei sistemi lineari:
la soluzione rimane invariata se si scambiano tra loro due
equazioni del sistema;
la soluzione rimane invariata se si sostituisce ad unequazione
del sistema una combinazione lineare dellequazione stessa con
unaltra.
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 Gauss
consideriamo il seguente sistema lineare di ordine n = 4:
Ax = b
_

_
a
11
x
1
+ a
12
x
2
+ a
13
x
3
+ a
14
x
4
= b
1
a
21
x
1
+ a
22
x
2
+ a
23
x
3
+ a
24
x
4
= b
2
a
31
x
1
+ a
32
x
2
+ a
33
x
3
+ a
34
x
4
= b
3
a
41
x
1
+ a
42
x
2
+ a
43
x
3
+ a
44
x
4
= b
4
STEP k = 1
Poniamo a
(1)
ij
:= a
ij
e b
(1)
i
:= b
i
. Supponiamo a
(1)
11
= 0, altrimenti
scambiamo la prima equazione con lequazione k-esima tale che
a
(1)
k1
= 0; quindi eliminiamo lincognita x
1
nelle equazioni
i = 2, 3, 4. A tal scopo sostituiamo li -esima equazione con
lequazione che si ottiene sommando alli -esima stessa la prima
equazione moltiplicata per m
i 1
:= a
(1)
i 1
/a
(1)
11
:
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
m
i 1
(a
(1)
11
x
1
+ a
(1)
12
x
2
+ a
(1)
13
x
3
+ a
(1)
14
x
4
) = m
i 1
b
(1)
1
a
(1)
i 1
x
1
+ a
(1)
i 2
x
2
+ a
(1)
i 3
x
3
+ a
(1)
i 4
x
4
= b
(1)
i
a
(2)
i 2
x
2
+ a
(2)
i 3
x
3
+ a
(2)
i 4
x
4
= b
(2)
i
dove
a
(2)
ij
= a
(1)
ij
+ m
i 1
a
(1)
1j
, b
(2)
i
= b
(1)
i
+ m
i 1
b
(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
x
1
+ a
(1)
12
x
2
+ a
(1)
13
x
3
+ a
(1)
14
x
4
= b
(1)
1
a
(2)
22
x
2
+ a
(2)
23
x
3
+ a
(2)
24
x
4
= b
(2)
2
a
(2)
32
x
2
+ a
(2)
33
x
3
+ a
(2)
34
x
4
= b
(2)
3
a
(2)
42
x
2
+ a
(2)
43
x
3
+ a
(2)
44
x
4
= b
(2)
4
Supponiamo a
(2)
22
= 0; quindi eliminiamo lincognita x
2
nelle
equazioni i = 3, 4. A tal scopo sostituiamo li -esima equazione con
lequazione che si ottiene sommando alli -esima stessa la seconda
equazione moltiplicata per m
i 2
:= a
(2)
i 2
/a
(2)
22
. Otteniamo
_

_
a
(1)
11
x
1
+ a
(1)
12
x
2
+ a
(1)
13
x
3
+ a
(1)
14
x
4
= b
(1)
1
a
(2)
22
x
2
+ a
(2)
23
x
3
+ a
(2)
24
x
4
= b
(2)
2
a
(3)
33
x
3
+ a
(3)
34
x
4
= b
(3)
3
a
(3)
43
x
3
+ a
(3)
44
x
4
= b
(3)
4
dove
a
(3)
ij
= a
(2)
ij
+ m
i 2
a
(2)
2j
, b
(3)
i
= b
(2)
i
+ m
i 2
b
(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 = 3
Supponiamo a
(3)
33
= 0; quindi eliminiamo lincognita x
3
nellequazione i = 4. A tal scopo sostituiamo li -esima equazione
con lequazione che si ottiene sommando alli -esima stessa la terza
equazione moltiplicata per m
i 3
:= a
(3)
i 3
/a
(3)
33
. Otteniamo cos` il
seguente sistema triangolare superiore
_

_
a
(1)
11
x
1
+ a
(1)
12
x
2
+ a
(1)
13
x
3
+ a
(1)
14
x
4
= b
(1)
1
a
(2)
22
x
2
+ a
(2)
23
x
3
+ a
(2)
24
x
4
= b
(2)
2
a
(3)
33
x
3
+ a
(3)
34
x
4
= b
(3)
3
a
(4)
44
x
4
= b
(4)
4
Ux =

b
dove
a
(4)
ij
= a
(3)
ij
+ m
i 3
a
(3)
3j
, b
(4)
i
= b
(3)
i
+ m
i 3
b
(3)
3
, i , j = 4.
Risolviamo inne il sistema Ux =

b con la tecnica di sostituzione
allindietro.
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 metodo
delle eliminazioni di Gauss:
i = k+1, . . . , n
k = 1, . . . , n 1
_

_
m
ik
= a
(k)
ik
/a
(k)
kk
a
(k+1)
ij
= a
(k)
ij
+ m
ik
a
(k)
kj
, j = k + 1, . . . , n
b
(k+1)
i
= b
(k)
i
+ m
ik
b
(k)
k
_

_
x
n
=
b
(n)
n
a
(n)
nn
x
k
=
b
(k)
k

P
n
j =k+1
a
(k)
kj
x
j
a
(k)
kk
, k = n 1, . . . , 1
Costo computazionale in termini di operazioni aritmetiche (+, ):
O(n
3
/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 20
10
15
10
10
10
5
10
0
10
5
10
10
size of the system
y
e
a
r
s


Cramers rule
Gaussian elimination
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Esempio
Applichiamo il metodo delle eliminazioni di Gauss al sistema:
Ax = b
_
_
_
_
2 1 1 2
0 2 0 1
1 0 2 1
0 2 1 1
_
_
_
_
_
_
_
_
x
1
x
2
x
3
x
4
_
_
_
_
=
_
_
_
_
0
1
0
4
_
_
_
_
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 = 1
Memorizziamo i moltiplicatori m
i 1
al posto di a
i 1
, i = 2, 3, 4:
A =
_
_
_
_
2 1 1 2
0 2 0 1
1/2 1/2 5/2 2
0 2 1 1
_
_
_
_
b =
_
_
_
_
0
1
0
4
_
_
_
_
STEP k = 2
Memorizziamo i moltiplicatori m
i 2
al posto di a
i 2
, i = 3, 4:
A =
_
_
_
_
2 1 1 2
0 2 0 1
1/2 1/4 5/2 9/4
0 1 1 2
_
_
_
_
b =
_
_
_
_
0
1
1/4
3
_
_
_
_
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
STEP k = 3
Memorizziamo i moltiplicatori m
i 3
al posto di a
i 3
, i = 4:
A =
_
_
_
_
2 1 1 2
0 2 0 1
1/2 1/4 5/2 9/4
0 1 2/5 29/10
_
_
_
_
b =
_
_
_
_
0
1
1/4
29/10
_
_
_
_
Applichiamo la tecnica di sostituzione allindietro:
x
4
= (29/10)/(29/10) = 1
x
3
= (1/4 9/4)/(5/2) = 1
x
2
= (1 (1))/2 = 1
x
1
= (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, pi` u semplicemente ed ecientemente,
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
= 0 `e necessaria se si vuole
procedere con le successive eliminazioni. Tale condizione `e
garantita se A soddisfa una delle seguenti propriet`a:
det(A
k
) = 0 k = 1, . . . , n, con A
k
matrice di ordine k
formata dagli elementi a
ij
, 1 i , j k;
A `e a diagonale dominante per righe;
A `e a diagonale dominante per colonne;
A `e simmetrica denita positiva.
Ricordiamo che se a
(k)
kk
= 0 allora occorre individuare lelemento
a
(k)
ik
= 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
= 0.
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Per garantire una migliore stabilit`a numerica dellalgoritmo di
Gauss conviene operare uno scambio di equazioni anche quando
|a
(k)
kk
| `e piccolo. Precisamente ad ogni passo k conviene
individuare lindice di riga r per il quale risulta
|a
(k)
rk
| = max
ki n
|a
(k)
ik
|
e scambiare la k-esima equazione con lr -esima equazione. Tale
strategia `e nota sotto il nome di pivoting parziale. Il pivoting `e
superuo quando:
A `e a diagonale dominante per colonne;
A `e simmetrica a diagonale dominante;
A `e simmetrica denita 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, a
ij
= cos((j 1)
i
),
i
=
2i 1
2n

b
i
=
n

j =1
a
ij
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 senza
pivoting, e
||x x
p
||

||x||

10
15
con x
p
calcolata mediante il metodo di eliminazione di Gauss con
pivoting.
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 pu` o essere
interpretato come una successione nita di trasformazioni della
matrice A e del vettore termine noto b. Infatti, al passo k lo
scambio delle equazioni k ed r del sistema A
(k)
x = b
(k)
si pu`o
realizzare anche nel seguente modo:
P
k
A
(k)
x = P
k
b
(k)
dove
k r
P
k
=
_
_
_
_
_
_
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
0 0 0 0 1
_
_
_
_
_
_
k

r
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, . . . , n
con le equazioni che si ottengono rispettivamente sommando alle
equazioni stesse la k-esima equazione moltiplicata per m
ik
, si pu`o
realizzare nel seguente modo:
M
k
P
k
A
(k)
x = M
k
P
k
b
(k)
dove
k
M
k
=
_
_
_
_
_
_
1 0 0 0 0
0 1 0 0 0
0 m
k+1k
1 0 0
0 0 1 0
0 m
nk
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 pu`o essere cos`
ridenito:
M
n1
P
n1
. . .M
2
P
2
M
1
P
1
. .
G
Ax =M
n1
P
n1
. . .M
2
P
2
M
1
P
1
. .
G
b

GAx = Gb Ux =

b
dove
G = M
n1
P
n1
. . . M
2
P
2
M
1
P
1
e
GA = 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 decomposizione
GA = U, otteniamo

M
n1
. . .

M
2

M
1
. .

M
P
n1
. . . P
2
P
1
. .
P
A = U

MPA = U
ove le matrici M
k
ed M
k
sono esattamente dello stesso tipo
(triangolare inferiore, con elementi sottodiagonali tutti nulli tranne
quelli della colonna k dei moltiplicatori e con diagonale unitaria),
ma dieriscono per un diverso ordinamento dei moltiplicatori m
ik
.
Posto
P = P
n1
. . . P
2
P
1
matrice di permutazione,
L = M
1
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 U
matrice triangolare superiore della decomposizione di Gauss
GA = U. I fattori della decomposizione PA = LU si ottengono
mediante lalgoritmo di Gauss con pivoting parziale e con un costo
computazionale pari a O(n
3
/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 Ux
..
y
= Pb

_
Ly = Pb y
Ux = y x
calcolo del determinante di A:
det(A) = (1)
s
n

i =1
u
ii
,
ove s `e il numero totale degli scambi di equazioni eettuati;
calcolo dellinversa di A (costo computazionale pari a O(n
3
)):
PA = LU (PA)
1
= (LU)
1
A
1
P
1
= U
1
L
1
A
1
= U
1
L
1
P
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 dei
coecienti (costo computazionale pari a O(n
3
/3 + pn
2
)). Per
esempio, per p = 3
_
_
_
Ax
1
= b
1
Ax
2
= b
2
Ax
3
= b
3
determiniamo PA = LU e quindi calcoliamo x
i
, i = 1, 2, 3,
risolvendo i seguenti due sistemi triangolari:
_
Ly = Pb
i
y
Ux
i
= y x
i
risoluzione del sistema A
p
x = b a partire dai dati A e b (costo
computazionale pari a O(n
3
/3 + pn
2
)). Per p = 3
A
3
x = b A(A(Ax)
..
y
. .
z
) = b
_
_
_
Az = b
Ay = z
Ax = y
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Se A `e simmetrica denita positiva, tenendo conto che il pivoting `e
superuo (P = I ), e che A `e simmetrica, possiamo riscrivere
PA = LU nella forma
A = LL
T
ove L `e una matrice triangolare inferiore con elementi positivi sulla
diagonale principale. Tale fattorizzazione `e detta
fattorizzazione di Choleski. I fattori della decomposizione
A = LL
T
si ottengono mediante un algoritmo il cui costo
computazionale `e O(n
3
/6).
Alcune applicazioni della fattorizzazione di Choleski A = LL
T
:
risoluzione del sistema lineare Ax = b:
Ax = b L L
T
x
..
y
= b
_
Ly = b y
L
T
x = y x
calcolo dellinversa di A (costo computazionale O(2n
3
/3)):
A = LL
T
A
1
= (LL
T
)
1
A
1
= (L
T
)
1
L
1
A
1
= (L
1
)
T
L
1
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 di
eliminazione di Gauss con pivoting parziale;
[L,U,P]=lu(A) calcola i fattori L, U, P della fattorizzazione
PA = LU di A;
R=chol(A) alcola il fattore R = L
T
triangolare superiore della
fattorizzazione di Choleski A = R
T
R = LL
T
, della matrice
simmetrica denita 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 propriet`a dei metodi diretti per
la risoluzione del sistema lineare Ax = b:
1
x viene determinata mediante un numero nito di passi (al pi` u
n 1 se n `e lordine del sistema);
2
x in aritmetica con precisione innita di calcolo viene
determinata in maniera esatta; in aritmetica con precisione
nita di calcolo viene determinata con una precisione la cui
entit`a non dipende dalle richieste dellutente;
3
i metodi diretti modicano la matrice dei coecienti;
4
i metodi diretti sono ecienti per matrici dense e di
piccole-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
_

_
a
11
x
1
+ a
12
x
2
+ . . . + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ . . . + a
2n
x
n
= b
2
. . . . . .
a
n1
x
1
+ a
n2
x
2
+ . . . + a
nn
x
n
= b
n
e supponiamo che a
ii
= 0 i . A partire da un arbitrario vettore
iniziale x
(0)
, con un metodo iterativo si determina una sequenza di
vettori
_
x
(k+1)
_
k=0,1,...
che, sotto opportune condizioni, converge
alla soluzione esatta x del sistema:
x
(0)

_
x
(k)
_
k=1,2,...
: lim
k
x x
(k)
= o (null vector)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
Deniamo due classici metodi iterativi. A tal scopo ricaviamo
dalli -esima equazione per i = 1, . . . , n la variabile x
i
:
x
i
=
b
i

i 1
j =1
a
ij
x
j

n
j =i +1
a
ij
x
j
a
ii
, a
ii
= 0
e generiamo la seguente successione di vettori:
x
(k+1)
i
=
b
i

i 1
j =1
a
ij
x
(k)
j

n
j =i +1
a
ij
x
(k)
j
a
ii
, k = 0, 1, . . .
Tale espressione denisce il cosiddetto metodo di Jacobi.
Ponendo invece
x
(k+1)
i
=
b
i

i 1
j =1
a
ij
x
(k+1)
j

n
j =i +1
a
ij
x
(k)
j
a
ii
, 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
_
3x
1
x
2
= 2
x
1
+ 2x
2
= 3
=
_
x
1
=
2+x
2
3
x
2
=
3x
1
2
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)
1
2
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 pi` u
generale di procedimenti iterativi che si deducono nel seguente
modo:
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 sistema
lineare con matrice dei coecienti D e termine noto b Cx
(k)
.
Pertanto, la matrice D deve essere:
1
non singolare, ovvero tale da garantire lesistenza e lunicit`a
della soluzione ad ogni passo k;
2
di forma semplice (triangolare, diagonale), ovvero tale che la
soluzione del sistema possa ottenersi con un algoritmo
relativamente 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
a
ii
x
(k+1)
i
= b
i

i 1

j =1
a
ij
x
(k)
j

n

j =i +1
a
ij
x
(k)
j
, i = 1, . . . , n,
le matrici D e C sono cos` denite
D =
_
_
_
_
_
a
11
0 . . . 0
0 a
22
. . . 0
.
.
.
.
.
. . . .
.
.
.
0 0 . . . a
nn
_
_
_
_
_
, 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
i

j =1
a
ij
x
(k+1)
j
= b
i

n

j =i +1
a
ij
x
(k)
j
, i = 1, . . . , n
si ha
D =
_
_
_
_
_
a
11
0 . . . 0
a
21
a
22
. . . 0
.
.
.
.
.
. . . .
.
.
.
a
n1
a
n2
. . . a
nn
_
_
_
_
_
, 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 denire
dei criteri darresto. Fissare un numero massimo kmax di iterazioni
rappresenta senzaltro un criterio darresto.
Un altro criterio darresto, che riguarda la bont`a
dellapprossimazione x
(k)
, consiste nel ssare una tolleranza
relativa toll
r
( eps) o assoluta toll
a
e nellarrestare il processo
alliterazione

k se x
(

k)
soddisfa la seguente disuguaglianza
||x
(

k+1)
x
(

k)
|| toll
r
||x
(

k+1)
||
oppure
||x
(

k+1)
x
(

k)
|| toll
a
Osserviamo che tale criterio darresto ha senso quando il metodo
converge 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) <= toll;
break
end
x0 = x1;
end
METODO DI GAUSS-SEIDEL:
A = [...; ...; ...];
b = [.; .; .];
kmax = . ; toll = .;
n = length(b);
x0 = zeros(n,1);
D = tril(A);
C = A-D;
for k = 1:kmax
x1 = D\(b-C*x0);
if norm(x1-x0) <= toll;
break
end
x0 = x1;
end
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 le
seguenti due equazioni:
Dx = b Cx
Dx
(k)
= b Cx
(k1)
De
(k)
= Ce
(k1)
=e
(k)
= D
1
Ce
(k1)
=e
(k)
= Be
(k1)
dove
B = D
1
C = D
1
(A D) = I D
1
A
`e detta matrice di iterazione. Tenendo conto che luguaglianza
e
(k)
= Be
(k1)
vale per ogni k = 1, 2, . . ., si ha
e
(k)
= Be
(k1)
= B
2
e
(k2)
= . . . = B
k
e
(0)
Matrici e vettori: cosa non possiamo non sapere Fattorizzazioni di matrice e loro applicazioni Metodi iterativi Convergenza dei meto
da cui deduciamo che
lim
k
e
(k)
= o (vettore nullo) x
(0)
lim
k
B
k
= O (matrice nulla)
Poiche si dimostra che
lim
k
B
k
= O (B) < 1, (B) = max
i
|
i
|, con
i
autovalore di B
allora
lim
k
e
(k)
= o x
(0)
(I D
1
A) < 1
Ricordando che per le norme 1,2, sussiste la propriet`a
(A) ||A||, possiamo senzaltro aermare che
||I D
1
A|| < 1 = lim
k
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 D
1
A|| < 1 si dimostra che se A `e a diagonale
dominante per righe o per colonne, allora i metodi di Jacobi e
di Gauss-Seidel convergono.
Si dimostra inoltre che se A `e simmetrica denita positiva,
allora il metodo di Gauss-Seidel converge.
Osserviamo inne che la convergenza del metodo di Gauss-Seidel
non implica la convergenza del metodo di Jacobi e viceversa. Se
entrambi convergono, in generale il metodo di Gauss-Seidel
converge pi` u rapidamente.
La rapidit`a di convergenza dipende dal raggio spettrale: quanto pi` u
esso `e piccolo, tanto pi` u `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 propriet`a dei metodi iterativi per la
risoluzione del sistema lineare Ax = b:
1
x viene determinata come limite di una successione di vettori
convergente;
2
x in aritmetica con precisione innita di calcolo viene
determinata in maniera approssimata; in aritmetica con
precisione nita di calcolo pu`o essere determinata con una
precisione soddisfacente le richieste dellutente;
3
i metodi iterativi non modicano la matrice dei coecienti A;
4
i metodi iterativi sono ecienti per matrici sparse e di grandi
dimensioni.