Sei sulla pagina 1di 11

LEZIONE 9

Valori singolari e norma di matrici

Condizionamento di un sistema lineare

1
Valori singolari
Sia A Rmn e si denoti con r il rango della matrice A (r min{m, n}). Si suppone m n.
Le matrici quadrate AT A e AAT di ordine n ed m, rispettivamente, sono simmetriche.
Si consideri la matrice A per colonne, i.e., A = [a1 , a2 , ..., an ], dove le colonne aj di A sono vettori di m
componenti; la matrice AT A ha elementi bij = aTi aj .
Se consideriamo la matrice A per righe, i.e.,
T
a1
aT2

A= .
..
aTm

dove le righe aTi di A sono vettori di n componenti, allora la matrice AAT ha elementi cij = aTi aj .
Si possono provare le seguenti propriet`a per AT A e AAT :
La matrice AT A `e una matrice n n:1

simmetrica denita positiva se r = n (A di rango massimo);


simmetrica semidenita positiva se r < n;
dunque, la matrice AT A possiede r autovalori positivi e n r nulli.

La matrice AAT `e una matrice m m

simmetrica semidenita positiva;


dunque, la matrice AAT possiede r autovalori positivi e m r nulli.

Se m = n, allora AT A e AAT hanno le stesse dimensioni n n e sono:


simmetriche denite positive se A ha rango massimo r = n (ovvero A non singolare);
semidenite positive se r < n (ovvero A singolare);

Gli r autovalori positivi di AT A e quelli di AAT coincidono.


Si deniscono valori singolari di una matrice A Rmn , le radici quadrate degli autovalori positivi di
AT A o di AAT , ovvero:

i = i (AT A) = i (AAT ) i = 1, ..., r

Il valore singolare massimo di una matrice, risulta cos` denito:



1 = (AT A) = (AAT )

dove con (B) si indica il raggio spettrale della matrice quadrata B, ovvero lautovalore di modulo
massimo della matrice B.

1 Dalla a di una matrice, si ha, per ogni vettore x = 0 di n componenti:


denizione di denita o semidenita positivit`
xT AT Ax = (Ax)T (Ax) = Ax22
La norma di un vettore ` e positiva o nulla ed `
e nulla se e solo se il vettore `
e il vettore nullo. Poich
e A = [a1 , a2 , ..., an ], dove
aj , j = 1, ..., n sono le colonne di A, il vettore Ax si pu` o scrivere come combinazione lineare delle colonne di A
Ax = a1 x1 + a2 x2 + ... + an xn
Dunque, se le colonne di A sono linearmente indipendenti (rango massimo) si ha Ax = 0; se le colonne di A non sono
linearmente indipendenti, esistono dei valori xj , j = 1, ..., n, non tutti nulli, tale che Ax = 0.

2
Norma di matrici
Una norma di una matrice A Rmn si denisce a partire da una norma vettoriale. Ovvero, data una
norma vettoriale p , si denisce una norma di matrice q , se, per ogni vettore x Rn e per ogni
matrice A Rmn , vale la condizione di compatibilit`
a:

Axp Aq xp
| {z } | {z } | {z }
norma di vettore norma di matrice norma di vettore

Si nota che, dalla condizione compatibilit`a, per ogni norma di matrice, vale

I = 1

dove I `e la matrice identit`


a.
Si possono denire le seguenti norme di matrici:

m
A1 = max |aij | (1)
1jn
i=1
n
A = max |aij | (2)
1im
j=1
21

m
n
AF = |aij |2 (norma di Frobenius o norma di Schur) (3)
i=1 j=1

Ad esempio, la matrice ( )
2 1 0.5
A=
1 3 10
ha norme

A1 = max{3, 4, 10.5} = 10.5 A = max{3.5, 14} = 14 AF = 10.7354

Una particolare norma di matrice `e quella associata alla norma vettoriale euclidea. Questa norma matri-
ciale prende il nome di norma spettrale in quanto rimane denita mediante gli autovalori della matrice.
Si denisce la norma spettrale di una matrice come il valore singolare massimo:

A2 = 1 (4)

La condizione di compatibilit`a vale se q = p (p = 1, 2, ) oppure q = F per p = 2.


Per le denizioni (1)(4) valgono le seguenti propriet`a che caratterizzano una norma (il simbolo
indica una generica norma di matrice tra quelle denite):

A 0 A Rmn (A = 0 A = 0)
A = ||A A Rmn , R
A + B A + B A, B Rmn

Inoltre, per le norme di matrici (1)(4) vale la condizione di consistenza:

AB A B A Rmp , B Rpn

Per le norme di matrici (1)(4) valgono anche le propriet`a:

3
Equivalenza tra norme matriciali, i.e. c1 , c2 , costanti positive tale che:2
c1 Aq Aq c2 Aq

Se B `e una sottomatrice di A, allora: B A.


Sia |A| la matrice dei valori assoluti, i.e. lelemento della riga i e colonna j della matrice |A| `e
denito come |aij |. Vale la seguente relazione:
|A| = A

Si consideri una matrice Q, di ordine n, ortogonale. Per la norma di Frobenius e la norma spettrale di
matrici ortogonali valgono i risultati seguenti:
La norma spettrale e la norma di Frobenius di una matrice ortogonale Q vale 1, i.e.,
Q2 = QF = 1

Se Q `e una matrice ortogonale vale:3


Qx2 = x2
Per la norma spettrale e la norma di Frobenius, vale la propriet`a di invarianza rispetto a trasfor-
mazioni ortogonali. Se A `e una matrice m n e Q e Z sono matrici ortogonali di ordine m ed n
rispettivamente, allora:
QAZF = AF
QAZ2 = A2

Si possono ottenere le seguenti norme spettrali:


Se A Rnn `e non singolare allora:

A1 2 = (AT A1 ) = max i (AT A1 ) = max i (AAT )1
i i
1 1
= =
mini i (AAT ) n

Se A Rnn `e una matrice simmetrica


A2 = max |i (A)|
i

se, inoltre, `e non singolare


1
A1 2 =
mini |i (A)|
Se A Rnn `e una matrice simmetrica denita positiva:
A2 = max i (A)
i
1
A1 2 =
mini i (A)

2 Ad esempio:

A2 AF nA2
1
A A2 mA
n
1
A1 A2 nA1
m
3 Dalla denizione si ha Qx22 = xT QT Qx = xT x = x22 .

4
Esercizi
ESERCIZIO 4. Scrivere un programma in linguaggio Fortran per ciascuna delle seguenti operazioni:
(a) Dato x Rmn , calcolare x1 ;

(b) Dato x Rn , calcolare x2 ;


(c) Dato x Rn , calcolare x ;

(d) Dato x Rn e una matrice A Rmn , calcolare xA .


Si veda il paragrafo Complementi: richiami sulle matrici del Fascicolo II - Norma di matrici e algoritmi
di base sulle matrici per le denizioni delle norme vettoriali sopra.

ESERCIZIO 5. Scrivere un programma in linguaggio Fortran per ciascuna delle seguenti operazioni:

(a) Data A Rmn , calcolare A1 ;


(b) Data A Rmn , calcolare A ;

(c) Data A Rmn , calcolare AF .

5
Richiami sulle condizioni di esistenza di soluzioni di sistemi lineari
Dato il sistema di m equazioni lineari in n incognite


a11 x1 + a12 x2 + ... + a1n xn = b1

a21 x1 + a22 x2 + ... + a2n xn = b2

...

am1 x1 + am2 x2 + ... + amn xn = bn

altrimenti scritto nella forma


Ax = b
dove A, detta matrice dei coecienti, ha elementi aij , i = 1, ..., m, j = 1, ..., n, e b, detto vettore dei
termini noti, ha elementi bi , i = 1, ..., m. Si suppone A = 0 e b = 0.
Il sistema Ax = 0, ovvero il vettore dei termini noti `e il vettore nullo, si dice sistema omogeneo. Il sistema
Ax = b `e un sistema non omogeneo.
Si possono avere i tre casi:

se m = n, il sistema lineare si dice normale (tante equazioni quante incognite);


se m < n, il sistema lineare si dice indeterminato o sottodeterminato (pi`
u incognite che equazioni);

se m > n, il sistema lineare si dice sovradeterminato (pi`


u equazioni che incognite).

Si presenta una condizione per lesistenza di una soluzione del sistema Ax = b.


Si denisce la matrice completa C del sistema Ax = b, la matrice m (n + 1) formata per le prime n
colonne dalle n colonne a1 , ..., an della matrice A, e per n + 1esima colonna il vettore dei termini noti
b, i.e.,
C = [A, b] = [a1 , ..., an , b]

Teorema. Condizione necessaria e suciente anche un sistema lineare ammetta soluzione `e che la
matrice dei coecienti A, m n, e la matrice completa del sistema C, m (n + 1), abbiano lo stesso
rango.
Come conseguenza immediata si osserva che il sistema omogeneo Ax = 0 ammette sempre soluzione;
infatti esiste sempre la soluzione nulla x = 0.
Dal teorema si deducono condizioni sullesistenza e sullunicit`a della soluzione del sistema lineare per i
casi m < n e m = n.
Sia A matrice m n con m < n, allora:
il sistema omogeneo Ax = 0 ammette soluzione non nulla x = 0;

se il rango di A `e m (rango massimo), il sistema Ax = b ammette soluzione per ogni vettore dei
termini noti b.

Sia A matrice n n (m = n), allora sono equivalenti le condizioni:


 il sistema omogeneo Ax = 0 ammette solo la soluzione nulla x = 0;

 il sistema Ax = b ammette ununica soluzione per ogni vettore dei termini noti b;
 la matrice A `e non singolare.

inoltre vale che:


il sistema omogeneo Ax = 0 ammette soluzione x = 0 se e solo se A `e singolare.

6
Condizionamento di un sistema di equazioni lineari
Si consideri il sistema di 2 equazioni lineari in 2 incognite
{
x1 + 2x2 = 3
(5)
0.499x1 + 1.001x2 = 1.5

la cui soluzione `e data x1 = 1 e x2 = 1.


Se consideriamo di perturbare di poco i coecienti, ovvero i dati del problema, si analizza come la
soluzione, i risultati del problema, venga modicata.

Perturbazioni su dati di un problema sono frequenti nella pratica. Si pensi al fatto che i dati possono
provenire da misurazioni sperimentali e dunque soggetti ad un errore di misurazione, oppure, pos-
sono essere delle approssimazioni di numeri reali mediante numeri niti e dunque soggetti allerrore
di rappresentazione di un numero reale al calcolatore.
La pertubazione dei dati di un problema `e nella pratica inevitabile. E
` essenziale avere un ordine di
grandezza relativa della perturbazione sui dati, che si suppone sempre piccola, per studiare se i
risultati del problema perturbato siano vicini a quelli del problema non perturbato.

Ad esempio, se applichiamo una perturbazione relativa dellordine di 103 ai coecienti del sistema (5),
si possono ottenere due sistemi perturbati, il primo perturbando solo alcuni elementi della matrice dei
coecienti, il secondo solo un elemento del termine noto:
{
x1 + 2x2 = 3
(6)
0.5x1 + 1.002x2 = 1.5
{
x1 + 2x2 = 3
(7)
0.499x1 + 1.001x2 = 1.4985
Si nota che le soluzioni dei sistemi lineari (6) e (7) sono date da x1 = 3 e x2 = 0 per il sistema (6) e da
x1 = 2 e x2 = 0.5 per il sistema (7).
Si `e osservato che pertubando di un fattore 103 i dati del problema, la soluzione risulta perturbata, in
entrambi i casi, di un fattore dellordine dellunit`a. Dunque, non `e in generale vero che se si variano di
poco i dati di un problema, la soluzione varia di poco rispetto a quella del problema originario. Si parler`a
allora di condizionamento di un problema e si intender`a che:

Un problema si dice ben condizionato se a piccole perturbazioni sui dati


corrispondono piccole perturbazioni sui risultati

viceversa
Un problema si dice mal condizionato se a piccole perturbazioni sui dati
corrispondono grandi perturbazioni sui risultati

Il concetto di piccolo e grande dipende da quanto accurati si vogliono i risultati.

7
Perturbazione sul termine noto
Si consideri il sistema di n equazioni lineari

Ax = b (8)

la cui soluzione `e x Rn ; sia


A(x + x) = b + b (9)
il sistema perturbato la cui soluzione `e il vettore di R , x + x.
n

Nel caso dellesempio sopra in cui i sistemi (8) e (9) sono (5) e (7) rispettivamente, si ha b =
(0, 0.0015)T e x = (1, 0.5)T .
Sottraendo (8) da (9) si ha
A(x + x) Ax = (b + b) b
dunque Ax = b, ovvero x = A1 b. Considerando una qualsiasi norma vettoriale e una
norma matriciale compatibile con la norma vettoriale usata si ottiene x = A1 b, da cui

x A1 b (10)

Da Ax = b passando alle norme si ottiene Ax = b da cui b A x ovvero

1 A
(11)
x b

Moltiplicando nella (11) le due espressioni a destra e a sinistra del segno di minore per le rispettive
espressioni di (10) si ottiene:
x b
A A1
x b

Posto
x b
x = ; b =
x b
e denito il numero di condizione, o misura del condizionamento, K(A) come

K(A) = A A1

la formula si scrive
x K(A)b (12)

8
Perturbazione sul termine noto e sulla matrice dei coecienti
Quando `e presente una perturbazione anche sulla matrice dei coecienti il sistema perturbato si
scrive
(A + A)(x + x) = b + b (13)
e si indichi sempre con x + x la soluzione di (13).
Nel caso dellesempio sopra in cui i sistemi (8) e (13) sono (5) e (6) rispettivamente, si ha
( ) ( ) ( )
0 0 0 2
A = ; b = ; x =
0.001 0.001 0 1

Si prova che, posto


x A b
x = ; A = ; b =
x A b
e con lipotesi A1 A A1 A < 1, si ottiene la formula di perturbazione4

K(A)
x 1K(A)A (A + b ) (14)

Nel sistema lineare (8) si ha:


( ) ( )
1 2 1 1 1.001 2
A= ; A =
0.499 1.001 3 103 0.499 1

e considerando la norma innito si ha

A = 3; A1 103 = K(A) 103

Allora, dalle formule (12) e (14) si osserva che commettendo errori relativi sui dati dellordine di 103 e
poich`e il numero di condizione K(A) `e dellordine di 103 si pu`o ottenere un errore relativo sulla soluzione
dellordine dellunit`a.

X Si nota che il numero di condizione di una matrice `e piccolo o grande (cio`e il problema risulter`a bene
o male condizionato) in relazione allerrore sul risultato che si vuole ottenere, ovvero dipende da
quanto grande si vuole lerrore relativo sulla soluzione.
Infatti, supponiamo per semplicit`a di avere un sistema di equazioni lineari in cui il termine noto `e
aetto da una perturbazione dellordine di 107 ; se il numero di condizione del sistema `e K(A) =
103 , dalla formula (12) risulta che lerrore relativo tra la soluzione del problema originario e quella
del problema perturbato `e al pi` u dellordine di 104 .
Se richiediamo che la soluzione del sistema perturbato sia molto vicina a quella del problema
originario, ad esempio che le due soluzioni dieriscano relativamente della quinta o sesta cifra dopo
il punto radice, allora il numero di condizione K(A) = 103 `e grande, in quanto lerrore relativo tra
le due soluzioni pu`o anche essere 104 , cio`e superiore al valore richiesto; viceversa, se si richiede un
errore relativo pi`u grossolano, ad esempio che le due soluzioni dieriscano relativamente di 102
3
o 10 , allora il numero di condizione K(A) = 103 `e piccolo, in quanto lerrore relativo tra le due
soluzioni `e al peggio di 104 , comunque inferiore al valore richiesto.

4 Lipotesi A1 A < 1 non ` e una condizione troppo restrittiva; moltiplicando e dividendo il termine a sinistra del
segno per A, la condizione diventa K(A)A < 1. Si suppone dunque che la perturbazione relativa sui dati sia inferiore al
reciproco del numero di condizione.

9
X Un esempio di sistema di equazioni lineari mal condizionato, si ha quando la matrice dei coecienti
`e la matrice di Hilbert H i cui elementi sono dati da:
1
hij = ; i, j = 1, ..., n
i+j1

ij della matrice inversa della matrice di Hilbert hanno lespressione


Gli elementi h

ij = (1)i+j (n + i 1)!(n + j 1)!


h 2
(i + j 1) [(i 1)!(j 1)!] (n i)!(n j)!

Ad esempio per n = 4 si ha

1 1/2 1/3 1/4 16 120 240 140
1/2 1/3 1/4 1/5 120 1200 2700 1680
H=
1/3 1/4 1/5 1/6 ; H 1 =
240

2700 6480 4200
1/4 1/5 1/6 1/7 140 1680 4200 2800
e
25
H = ; H 1 = 13620 = K(H) 2.8 104
12
Si osserva che la matrice di Hilbert `e una matrice simmetrica ed `e una matrice di Hankel; le matrici
di Hankel sono matrici che hanno le altre diagonali uguali:

a b c d ...
b c d ...

H= c d ...

d ...
...

10
Il numero di condizione di una matrice K(A) `e sempre maggiore o uguale ad 1. Infatti

1 = I = AA1 A A1

dove con I si indica la matrice identit`a.


Se si considera la norma nel numero di condizione K(A), il mal condizionamento di un sistema
lineare Ax = b pu` o essere dovuto alla presenza di elementi grandi nella matrice A o nella matrice
inversa A1 . Se si divide per lo scalare A la matrice A dei coecienti e il vettore dei termini noti
b nel sistema lineare, la matrice dei coecienti A del nuovo sistema equivalente, ha norma uguale a
1. In questo caso K(A) = A1 ; quindi se si considera come norma la norma innito, la presenza
di elementi molto grandi nella matrice inversa `e sintomo del mal condizionamento del problema.
Se si considera la norma 2 il numero di condizione risulta
1
K(A) =
n
e nel caso in cui la matrice A sia simmetrica o simmetrica e denita positiva, il numero di condizione
`e rispettivamente:
maxi=1,...,n |i (A)| maxi=1,...,n i (A)
K(A) = ; K(A) =
mini=1,...,n |i (A)| mini=1,...,n i (A)

Si consideri il seguente esempio. Sia data la matrice


( ) ( )
104 104 1 2 104 1
A= che ha inversa A =
1 2 104 1

Indicato con K (A) = A A1 si ha K (A) 6 104 .


Se moltiplichiamo la prima riga di A per 104 ovvero si esegue la moltiplicazione tra le matrici D ed
A ( 4 ) ( 4 )
10 0 10 104
A=DA=

0 1 1 2
si ottiene ( ) ( )
1 1 2 1
A = che ha inversa A1 =
1 2 1 1
= 6.
e K (A)
Dunque il mal condizionamento pu`o essere modicato da una equilibratura o scalatura (scaling)
della matrice.
In generale, se una matrice A `e mal condizionata, si moltiplica A per una matrice (precondizionatore)
M 1 in modo che
K(M 1 A) << K(A)
Un esempio per la matrice M 1 `e la matrice diagonale

1/a1 2
1/a2 2

M 1 = ..
.
1/an 2

dove con ai si indica la riga iesima della matrice A.


La miglior scelta per M 1 `e la matrice inversa di A: infatti

1 = K(A1 A) << K(A)

11

Potrebbero piacerti anche