Sei sulla pagina 1di 82

Analisi Numerica capitolo 5 Algebra lineare Numerica

ALGEBRA LINEARE NUMERICA

A. A. 2009-2010

ING. CIVILEj TUTELA TERRITORIO

Prof. G. PIAZZA

Analisi Numerica capitolo 5 Algebra lineare Numerica

SISTEMI DI EQUAZIONI ALGEBRICHE LINEARI.


..~ c~~-=c~,;c- ~==~:-~~~'C:~=C~ j

~;i:~;;~gfsf~fui quadrati non singolari. Assegnata Aek"?", det (A) * O, bER n


,
si cerca un xt eR" tale che

(1) Ax* = b.

~=:~~~:RiEesl matrice dei coefficienti, b chiamasi termine noto. Se b è il


vettore nullo allora l'unica soluzione è x* = Oe il problema è risolto.
Assumeremo perciò, in generale, b O. *

Metodo di eliminazione di Gauss. L'idea alla base del metodo di Gauss è


quella di sostituire il sistema (1) con un sistema equivalente- cioè un
sistema che ammetta la stessa soluzione- ma caratterizzato dall'avere
matrice dei coefficienti triangolare superiore. Infatti in questo caso la
soluzione è facilmente calcolabile. vedremo in seguito come questa
possa essere calcolata. Vediamo ora, attraverso un esempio, come
realizzare la 'trìangolarìzzazìone di un sistema lineare'.

A tal fine assumiamo di dover risolvere il seguente sistema:

[6]Xl + 2xz + X3 = -1 Ez
[-2]x 1 + 2xz + X3 = 7 E3 .

(le parentesi quadre attorno al numeri hanno il solo scopo di


identificarli facilmente).

Per semplicità di esposizione, abbiamo indicato con P la prima


equazione detta -equazione pivoting - e con Ez , E3 , rispettivamente la

2
Analisi Numerica capitolo 5 Algebra lineare Numerica

seconda e terza equazione. L'elemento in grassetto dicesi elemento


. " I numerI. mZl = - -[6 ] m31 = - -[ - z] SI. cl'Icono ma ltiIpl"Icat Ol'l."
pìvotìng, J
2 2

Il 1 o passo del metodo di eliminazione di Gauss consiste allora nel


sostituire il sistema di partenza con il sistema formato dalle tre
seguenti equazioni

pl

{ E~
E~
= Ez ~+ mZ1XP

= E3 + m31XP

ovvero:

P(Old)

-XZ - 2X3 = -4

Possiamo ora ripetere il passo precedente sul sottosistema:

-lxz - 2x~ = -4 p(new)

[3]xz + 2X3 = 8

2 0 passo di eliminazione. Costruito il moltiplicatore:

m32 = ~~ } il precedente sistema viene sostituito dal nuovo sistema:

1 Questo sistema è ottenuto combinando linearmente le equazioni del sistema precedente è pertanto è

equivalente a quest'ultimo.
3
Analisi Numerica capitolo 5 Algebra lineare Numerica

ovvero dal sistema:

-lx2 - 2X3 = -4

-4X3 = -4.

A questo punto partendo dall'ultima equazione, è facile ottenere la


soluzione. Si trova:

Un importante osservazione. Le trasformazioni che abbiamo appena


effettuato, coinvolgono solo gli elementi della matrice dei coefficienti e
gli elementi del termine noto e non certo il nome delle variabili. E'
allora più 'economico' lavorare su questi e solo alla fine scrivere
l'equivalente sistema triangolarizzato. per essere più chiari, svolgiamo
il precedente esercizio in questa ottica. Si ha:

11 -1
1 7
1] ~ [O2 -1
O 3
1 :1
O
-~ ~4].
-4 -4
Le prime tre righe e tre colonne dell'ultima rnatrice rappresentano la
matrice dei coefficienti del sistema triangolare, la quarta colonna
rappresenta il corrispondente termine noto. Siamo ora in posizione
di poter generalizzare il metodo di eliminazione di Gauss a sistemi di
dimensione n> 2.

A tal fine, sia

A = A (1) = [a~~)] ER n x n
L) ,

Analisi Numerica capitolo 5 Algebra lineare Numerica

b = bel) = [b~l)] ER n ,e consideriamo il sistema lineare:

(1) ~n (1) _ (1) p(l)


al l Xl + Lij= 2 alj Xj - bl

bel)
(1)
a i l Xl + Li~nj=2. a i(1)
j Xj
_
- i

primo passo di eliminazione.


a~l)
Costruiti i moltiplicatori mil == -
al
ci) i == 2, ..., n , costruiamo il
l

nuovo sistema:

Con facili calcoli si trova:


p(l)

, i == 2, ... , n ,

dove

( 2) == a(l) _ ai~) a(l)


a. ij ij a(l) lj

i, j == 2, ... , n,
11

(1)
bi( 2) - bel) _ ail bel) i == 2, ... , n .
- i a(l) 1
11

Assumiamo ora di aver eseguito k - 1 passi di elìmìnazione sicchè


l'attuale sistema, equivalente al sistema dato, si presenta nella
forma:

5
Analisi Numerica capitolo 5 Algebra lineare Numerica

~n (1) _ (1) p(l)


~j=l a l j Xj - b l

~n (2)
~j=2 a 2j Xj -
_ b(2)
2 r»

~n (k-l) _ b(k-l) p(k-:l)


~j=k-l a k - l j Xj - k-l

p(k)

~n k
a i(k) (k)
k Xk + ~j=k+l a i j Xj
-
-
b(k)
i
E(k) . -
i' l - + 1, ... , n .

k-simo passo di eliminazione.

Costruiti i moltiplicatori:
(k)
mik -- - a (k)
ik
akk
i = k + 1, ... , n ,

il nuovo sistema è costruito con


p(l)

p(2)

p(k)

(k + l ) _ E(k)
Ei - i
+ mlk. x p(k) , i = k + 1, ..., n,

6
Analisi Numerica capitolo 5 Algebra lineare Numerica

ovvero
~n (1) _ bel) p(l)
L,., j=l al j Xj - 1

n '(Z) _ (Z) p(Z)


Lj=Z a Zj Xj - bz

~n (k-l) _ b(k-l) p(k-l)


L,.,j=k-l ak - lj Xj - k-l

(k) ~n (k) _ b(k) p(k)


ak k Xk + L,., j=k+l a k j Xj - k

~ n (k+l). _ b(k+l)
L,., j=k+l aij Xl - i i = k + 1, 000' n

dove:

(k+l) _ (k) a~Z) (k)


U ij - U ij - a(k) U kj i, j == k + 1, o •• , n
kk

(k)
(k + l ) _ b(k) _ a i k b(k)
bi - i a(k) k i == k + 1, o o. , n.
kk

In definitiva l'implementazione del metodo di eliminazione Gauss


consiste essenzialmente nel seguente algoritmo:

Analisi Numerica capitolo 5 Algebra lineare Numerica

'Leggi 'A, b e la dimensione n.

Per k=l,... .n

per i=k+ l,... .n


per j=k+ l,... .n
esegui:

A( -
l,]
o= A( l,]- -) - A(i,k)
A(k,k)
A(k -)
.t
bei) = bei) - A(i,k) b(k)

A(k,k)

fine ciclo j
fine ciclo i

fine ciclo k.
In uscita la parte triangolare alta di A conterrà la matrice dei
coefficienti del 'sistema trìangolarìzzato', mentre b conterrà il
e,

corrispondente termine noto.

Risoluzione di un sistema triangolare superiore.

Assegnato il sistema triangolare alto:

tl l t12 tli tln Xl bi


t 22 t 2i t 2n X2 b2

t··
II tin x·l bi
Xn bn
t-«

Analisi Numerica capitolo 5 Algebra lineare Numerica

con tutti gli elementi diagonali non nulli , partendo dall'ultima


equazione è agevole stabilire che:

~
Xn
n
= ­

t nn

~~--I· i =n - l, ... , 1 .

Costo computazionale del metodo di Gauss.

A partire dalle formule:


~n • _ n(n+l) .
L.i=l l - 2 '

~n .2 _ n(n+l)(2n+l)
L.i=l l - 6 '

è possibile stabilire che il numero di operazioni aritmetiche che


servono per triangolarizzare una matrice di ordine n con il metodo di
3 2
Gauss è pari a ~ - ~ + n.6 L'ulteriore costo dovuto alla risoluzione
3 2
del sistema triangolare, è pari a n2 + n + 1 .
Esercizio. Stabilire il costo computazionale su esposto.

Ancora sul metodo di Gauss. Come si può ben notare dalle formule di
trasformazione del metodo di Gauss pago 7 , tale metodo conduce alla
triangolarizzazione del sistema, se e solo se tutti gli elementi pivotali,
sono non nulli. Invero questa circostanza è sempre realizzabile per
sistemi quadrati non singolari.

Infatti, al primo passo ,assunto ai~) = O, per la non singolarità di A


sicuramente esiste un elemento a r(1)
l * O, r E{2, . . ., n;} b asta aIlora
9
Analisi Numerica capitolo 5 Algebra lineare Numerica

scambiare la riga 1 di A con la riga r e la prima componente di b con


la erresima e proseguire. Assunto ora di aver eseguito k - 1 passi, del
metodo di Gauss, la matrice dei coefficienti, si presenta nella seguente
forma:

(1)
a 1k - 1

(k-l) (k-l)
A(k) = ak-lk-l a k - 1n
(k)
ak k

Assunto ak7l = O, se per assurdo fosse


a i(k) -- O, l. -- k + 1,.. ., n,
k

la sottomatrice

sarebbe singolare e per conseguenza lo sarebbe la matrice A (k),


contraddicendo cosi l'equivalenza dei sistemi generati dal metodo di
Gauss. Possiamo allora concludere che se ak~ = O, sicuramente esiste
un elemento a~k2 I
=1= O, rE{k + 1,... , n}. A questo punto è sufficiente
scambiare la riga r con la riga k in A(k) la componente r - sima con la
I

componente k - sima in b(k)e continuare con la trasformazione.

10

Analisi Numerica capitolo 5 Algebra lineare Numerica

Nota. Nella pratica, a meno che non si abbiano ulteriori informazioni


sulla matrice dei coefficienti, ( ad esempio A a predominanza
diagonale) buona norma ('per ragioni di stabilità numerica')
è

effettuare sempre uno scambio di righe, secondo la seguente strategia:

posto:

Ia;~ I = maxk::;i::;n Ia~~) I


scambiare la riga r con la riga k e la componente r con la componente k
rispettivamente in A(k) e b(k).

Quest'ultima prende il nome di strategia di pivoting parziale.

Esercizio. Applicare il metodo di Gauss alla risoluzione del sistema:

X2 - X3 =3
- 2XI + 4X2 - X3 =1
-2XI + SX2 - 4X3 = -2.
Soluzione.
-1
-1
-4
-1

-1

-4
j] ~
-2
-1 -1

-1
-3 -2
-1

~J
Il sistema triangolare risultante è dunque:

X2 - X3 = 3

-2X3 = -6
con soluzione Xl = 10 ; X2 = 6 ; X3 = 3.
11
Analisi I\lumerica capitolo 5 Algebra lineare Numerica

Esercizio. Determinare gli angoli a, {3, y tali che:

2sin a - cos {3 + 3 tan y = 3

4sin a + 2 cos {3 - 2 tan y =2


6sin a - 3 cos {3 + tan y =9,
dove O < a < 2n; O < {3 < 2n; O < y < Ztt,

Esercizio. Risolvere il sistema:

Xl + X2 + 3X3 + 3X4 = 3

Xl + X2 + 2X3 + 3X4 = 3

utilizzando il metodo di Gauss con strategia di pivoting parziale.

Soluzione.

1 1 1 1 1 1 1 1 1 1
1 1 3 3 3 ~
O O 2 2 2 ~
1 1 2 3 3 O O 1 2 2
1 3 3 3 4 O 2 2 2 3

1 1 1 1 111 111 111 1 1


O 2 2 2 3~02223~ 0 2 2 2 3
O O 1 2 2 O O 222 O O 2 2 2
O O 2 2 2 O O 1 2 2 O O O 1 1

12

Analisi Numerica capitolo 5 Algebra lineare Numerica

Il sistema triangolare è allora dato da :

2X2 + 2X3 + 2X4 = 3

2X3 + 2X4 = 2

con soluzion-e Xl = X2 = .5, X3 = O, X4 = 1.


Fattorizzazione LU di matrici.
Definizione. Sia Ae R"?", Si definisce minore principale di testa (o di
nord-ovest) di ordine k < n della matrice A il determinante della
sottomatrice di A ottenuta estraendo da A le prime k righe e le prime k
colonne.

TEOREMA. (di fattorizzazione LU). Sia AERn x n . allora 31 L E Rn x n ,


triangolare inferiore avente tutti gli elementi diagonali uguali a 1
ed 31 U E R"?", triangolare superiore tali che

A = LU
se e soltanto se , tutti i minori principali di testa di A sono non nullì.a

La fattorizzazione prevista dal precedente teorema chiamasi


fattorizzazione LU di A.

Esercizio. Assegnata la matrice:

~]
X 2
A =
[
1 X xER,
O 1
determinare tutti i valori di X per i quali la matrice non ammette
fattorizzazione LU.
13

Analisi Numerica capitolo 5 Algebra lineare Numerica

Soluzione. In virtù del precedente teorema, la matrice non ammette


fattorizzazione LU per tutti quei valori di x per i quali almeno uno dei
seguenti determinanti è nullo.

det(x) = x; det ([~ ;]) = x2 - 2; det(A) = x(x 2 - 3).


<>

Ne consegue che l'insieme richiesto è

{D, V2, -V2, V3, -V3}.

Relazione tra metodo di Gauss e fattorizzazione LU.


Riconsideriamo il problema:

Ax = b, det CA) *" D.


Definite le matrici:
1

1
mk+lk.
k = 1, ..., n-l

1
dove
(k)

a i k
,
mik -- - (JZ) k = 1, ..., n-l, i = k + 1, ..., n ,
ak k

sono i moltiplicatori di Gauss, è possibile provare che il metodo di


eliminazione di Gauss, dopo k - 1 passi produce un sistema
equivalente ad Ax = b dato da :
A(k)X = b(k)
con:

14

Analisi Numerica capitolo 5 Algebra lineare Numerica

Ne consegue" che:

(1)

è la matrice triangolare superiore fornita dal metodo di Gauss. Dalla


(1), segue:

Potendosi inoltre provare che


L = L(l)-l . . . L(n-1)-1

ha la seguente forma:

L=

-mn n - 1 1

ne consegue che, posto U = A (n) risulta:

A =LU.

Possiamo in definitiva concludere che: il metodo di Gauss senza


scambio di righe applicato alla matrice A equivale a fornire la
fattorizzazione LU della matrice A.

Esercizio. Via metodo di Gauss, costruire la fattorizzazione LU della


matrice:

15

Analisi Numerica capitolo' 5 Algebra lineare Numerica

2 2 2]
A= [ 4 7~ 7 .
6 18 22 r

Soluzione. come è d'uso nella dell'implementazione, memorizzeremo i


moltiplicatori che 'costruiscono' la matri1e L, nelle posizioni degli
elementi di A che vengono di volta in volta jzzerati.

2 2 2] [2 2 2] [2 2 2]
[ 47 7~23 3~233
6 18 22 3 12 16 3- 4 -04
Pertanto:

L = [~ o <'0]
~ ~; U =
[2
g
Risoluzione di sistemi lineari via fattorizzazione LU.

Riconsideriamo il problema:

Ax = b, det (A) =I=- O

ed assumiamo che A ammetta fattorizzazione LU. Possiamo allora


scrivere:

(1) LUx = b.

Posto Ux = y,

la (1), risulta equivalente ai due sistemi:

LY = b
{ Ux=y

e dunque il problema si riduce a risolvere due sistemi triangolari.

Abbiamo già visto come risolvere un sistema triangolare superiore. In


modo analogo possiamo risolvere un sistema triangolare inferiore. Sia
infatti da risolvere il sistema non singolare:

16

Analisi Numerica capitolo 5 Algebra lineare Numerica

+ l H.. x.l b·l

+
Partendo dalla prima equazione, è facile stabilire che l'unica soluzione
del sistema è data da:

b·_~~-lll··x·
Xi == l ~l=
lii
Il l
I

l == 2 , ... r n. ·
Differenza algoritmica fra metodo di Gauss e fattorizzazione LU.
Siano da risolvere gli M sistemi non singolari:

In questo caso risulta utile applicare il metodo di Gauss alla matrice:

onde ottenere la matrice:

[Ulb~ I.. ·lb:nJ,


con U triangolare superiore e dunque gli M sistemi triangolari
superiori Ux = bf , i = 1,. . ., M, equivalenti agli M sistemi dati.
Se invece gli M sistemi da risolvere sono del tipo:

AX ek +1 ) = b(x ek ) ) , k = O, ..., M-l, x eO) noto,

17

Analisi l\Iumerica , capitolo 5 Algebra lineare Numerica

allora , non essendo effettivamente disponibile b(x(k)) senza aver


risolto il sistema AX(k) = b(X(k-l)), non è possibile applicare Gauss se
non reimplementandolo ex novo per ogni singolo sistema.

In circostanze di questo tipo (peraltro molto frequenti) risulta molto


più utile utilizzare la fattorizzazione LU di A in quanto questa, viene
effettuata una sola volta per tutti gli M sistemi,
Esercizio. Assegnata AER nxn non singolare, calcolare l'inversa di A.
Soluzione. Determinare l'inversa di A significa cercare la matrice X
tale che AX = I dove I indica la matrice identità. Decomposte X ed I
per colonne, ovvero posto X = [XlI .. ·IXn ] , I = [elI· . . Ien ],
possiamo scrivere:

o equivalentemente:

Quest'ultima uguaglianza matriciale equivale a :

In definitiva il calcolo di X può essere fatto risolvendo gli n sistemi (1)


e dunque applicando il metodo di Gauss alla matrice:

Esempio. Calcolare l'inversa di:

[~
1
A= 2
2
Soluzione.

18

Analisi Numerica capitolo 5 Algebra lineare Numerica

[~
1 1 1 1 1

2 2 O 1 1

2 3 O 1 2

[~
1 1

1
1 -1

1
O 1
O

I sistemi da risolvere sono dunque:

X2 + X3 = -1

Xl + X2 + X3 = O

X2 + X3 = O

X3 = -1.
Pertanto l'inversa è data da:
2 -1

A-l = [-1 2

O -1

19

Analisi Numerica capitolo 5 Algebra lineare Numerica

Fattorizzazione LU . Tecnica diretta.

Sia AER nxn " ed assumiamo che A ammetta fattorizzazione LU.


Presentiamo ora un metodo che permette di calcolare direttamente i
fattori L ed U. A tal fine, imponiamo formalmente l'uguaglianza:

u~n] ,l ii = 1, i = 1,. . , n.
U nn

Uguagliando" l'elemento di posto (i,j) in A all'elemento di posto (i,j)


nella matrice prodotto LU, abbiamo:
_ "min (i,j) l

aij - ~k=l ik Ukj

In particolare uguagliando la parte alta di A, compreso la diagonale,


alla parte alta della matrice prodotto LU segue:

da cui:

( 1) ~i-l l
~ij =aij-~k=l ik Ukj, l
. = 1 ,... .n.].=l,
. ... .n.

Si osservi che per i = 1, Ulj = alj'

Analogamente uguagliando le parti strettamente inferiori abbiamo:

da cui

20

Analisi Numerica capitolo 5 Algebra lineare Numerica

e,

L~:~ lik Ukj) u .. i


1
(2) lij = (aij - ]]
= 2, O" n,j = 1, .., i-l.
Si osservi che per j = 1, Zii = ail •
Ull

Nota importante. le formule (1) e (2), vanno implementate


alternativamente.

Fattorizzazione PA=LU
La risoluzione di sistemi lineari via fattorizzazione LU sottintende
che la matrice dei coefficienti abbia tutti i minori principali di testa
non nulli. Come possiamo allora applicare la 'fattorizzazione' nella sola
ipotesi di non singolarità della matrice dei coefficienti?
Il successivo teorema, dà una risposta a questa domanda, ma prima di
enunciarlo premettiamo alcune definizioni.

Definizione. Una matrice P di ordine n della forma:


r s
1
1

p=r o 1
1
s 100

dicesi matrice di permutazione semplice.


E' facile constatare che la moltiplicazione a sinistra di una siffatta
matrice per una assegnata matrice A, ha l'effetto di scambiare la r­

21

Analisi Numerica capitolo 5 Algebra lineare Numerica

sima riga di A con la s-sima. Analogamente se P moltiplica a destra la


matrice A, l'effetto è di scambiare la colonna r-sima di A con la s-sima,

Il prodotto di matrici di permutazione semplici chiamasi matrice di


permutazione.
TEOREMA. Sia AER n xn ,det(A) =f=. O. Allora esiste una matrice di
permutazione P ed in corrispondenza un'unica matrice triangolare
inferiore L con tutti gli elementi diagonali unitari ed un'unica matrice
triangolare superiore U, tali che:
PA = LU.•
Come abbiamo già accennato, questo teorema permette di risolvere

sistemi quadrati non singolari.

Sia infatti da risolvere il sistema:

Ax = b , det(A) =f=. O,

ed assumiamo di aver effettuato la fattorizzazione

PA = LU.
Possiamo allora scrivere:

Ax = b <=> PAx = Pb <=> LUx = Pb.


Posto quindi

Ux = y,

segue

Ly = Pb.

Pertanto la soluzione del problema è ricondotta alla risoluzione dei

due sistemi triangolari:

Ly = Pb
22
Analisi Numerica capitolo 5 Algebra lineare Numerica

Ux =y.

Esercizio. Costruire la fattorizzazione PA = LU


per la seguente matrice:
2 -3

-2~
48]
8 12

A = [
3 2 1
-3 -1 1 -4
Soluzione. Per memorizzare gli eventuali scambi di riga, definiamo un
vettore p -- contatore delle permutazioni-- che 'ìncolliamo' alla
matrice A e che inizialmente poniamo uguale a:

p = [~] . Applichiamo quindi alla matrice cosi ottenuta il metodo di


Gauss, ricordandoci di memorizzare i moltiplicatori nelle posizioni
degli elementi che vengono via via azzerati.

p
-3 4
~] ~ [ ~
2 2 -3

[-i
-3
8
3
-1
12 -8
2 1 3
1 -4 4
O
-2 7
-3 5
24
-4

-8

2 -3 4 1
7 -4 9 3
~
O 24 -24 2
5 -176 176
-
7
-
7
-
7
4

1 2 -3 4 1
~
-2 7 -4 9 3
4 O 24 -24 2
5 -22 414
-3 7 21
-
77
4
23
Analisi Numerica capitolo 5 Algebra lineare Numerica

o O 1 o O O 1 2 -3 4

p = [~ O ·1
1 O O'· L
-2
== 4 ~] 1 O O
O 1 O ,
· U ==
O 7 -4 9
O O 24 -24'
O O O 414
5 -22
O O 1 -3 -
7
-
21
1 77

Esercizio. Risolvere il sistema lineare con matrice coefficienti data dall'


esercizio precedente e temine noto

b = [~] , utilizzando la fattorizzazione PA=LU con strategia di


pivoting parziale.

Soluzione. In questo caso la fattorizzazione. è analoga all'esercizio


precedente con la differenza che le eventuali permutazioni di riga
vengono effettuate secondo il criterio di scelta del pivoting di massimo
modulo.

2
8
-3
12 ~8 ~] ~ [ -2~
8
2
12
-3 -8 2]
4 1 ~
3 2 1 3
3 2 1 3

....:.1 1 -4 4
-3 -1 1 -4 4

4 8 12 -8 2 4 8 12 -8 2
1
4
O -6 6 1 -1
""""2 7 8 -3 3
~ -1 ~ 1
-
2
7 8 -3 3 :4 O -6 6 1
-3 -3
-
4
5 10 -10 4 -
4
5 10 -10 4

24

1 O O O 4 8 12 -8

[~ ~];
1 O -1
- 1 O 1 O 7 -38
O O 2

p = O O L= -
1
4
O 1 O;U = O O -6 6
-85
O 1 -3 5
-
5
-
7
1 O O O -7
4 7

Posto:

Ux = y e Pb = d,

si tratta di risolvere i due sistemi:


Ux =y

Ly = d.
Si osservi che per costruire il vettore d, non è necessaria la matrice P,
ma è sufficiente eseguire lo scambio delle componenti in b secondo
quanto indicato dal contenuto finale del vettore delle permutazioni.
Si lascia al lettore il completamento dell'esercizio.

25

Analisi Numerica capitolo 5 Algebra lineare Numerica

Esercizio. Determinare la soluzione del sistema:

Xl + Xz + 3X3 + 3X4 = 3
Xl + Xz + 2X3 + 3X4 = 3
Xl + 3xz + 3X3 + 3x 4 = 4

via fattorizzazione PA=LU , utilizzando la strategia di pivoting


parziale.

Soluzione: La matrice dei coefficienti A e il vettore termine noto b sono


evidentemente dati da:

A = [1
1
1 1]~
1 3
1 ~
3

3 . _ 3 n
,b - ~ .

1
1
1
3 1 1] [1
3 2 ~ 1
1 1
O 2
1
2 ~]
scambio [~
1
2 2
1 1

2
1] .
4 scambio

[1
1
3
2
3
3 3
3 ", 4
1
1
O 1
2 2
2
2 4
3 ) 1
1
O 1
O 2
2
2
3
2

~] ~ [~
1 1 1 1 1 1

[1
2 2
O 2
O 1
2
2
2
2 2 2

O 2 2

1
O 2 2
ì]·
[1
~] = [~ ~l
1

[~
O O 1
O O O
1 O
O 1O]
1 2 2

P = 1 O ;L OlO;U=l
O 2
O ~ 1
1
O 1 1 O -2

Posto

Ux = y e Pb··= d,

si tratta di risolvere i due sistemi triangolari

Ux =y

Ly = d.
26
Analisi Numerica capitolo 5 Algebra lineare Numerica

SISTEMI RETTANGOLARI.
Prima di affrontare la risoluzione di sistemi rettangolari, premettiamo

alcune fondamentali nozioni.

Row Echelon Form di una matrice.

r[
Sia E = [eij] E R m xn , m~ n e sia E = r[ la decomposizione per
r,T
m
righe di E .

Definizione. Diremo che la matrice E è in row echelon form -nel


seguito forma ref ( E)-provvisto che siano verificate le seguenti due
condizioni:

1. Se riT = OT allora r[ = OT per k = i + 1, ... , m


~

2.Se eij* è il primo elemento =1= O nella riga riT

allora:

ekj = O per k = i + 1, ... m.] = 1, ... ,j* .


I seguenti, sono esempi di forma ref di una matrice:
* * * * * * * *

~l;

* * * * * * O O * * * * * *
O * * * * * O O O * * * * *
[j O
O
O
O
* *
O O
*
O
*
*
O
O
O
O
O
O
O O O *
O O O O
* .
O
O O O O O O O O

Metodo di Gauss modificato e forma ref di una matrice.

27

Analisi Numerica capitolo 5 Algebra lineare Numerica

Nelle pagine precedenti, abbiamo visto che è sempre possibile


triangolarizzare (eventualmente con un opportuno scambio di righe)
una matrice quadrata via metodo di Gauss, purchè questa risulti non
singolare. Ciò non è però garantito per matrici singolari.

Consideriamo infatti il seguente esempio:

sia da risolvere il sistema:

Xl + 2xz + X3 + 3X4 + 3xs = 5

2Xl + 4xz + + 4X4 4xs = 6

Xl + 2xz + 3X3 + 5x4 + 5xs = 9

2Xl + 4xz + 4X4 + 7xs = 9.

"

Focalizziamo l'attenzione sulla matrice dei coefficienti

1 2 1 3 3
A = 2 4 044
1 2 3 5 5'
2 4 O 4 7
Si noti che le prime due colonne di A sono proporzionali (e dunque A è
singolare).

Applicando il primo passo del metodo di Gauss, abbiamo:


1 2 1 3 3 1 2 1 3 3
2 4 O 4 4
~
O O -2 -2 -2
1 2 3 5 5 O O 2 2 2
2 4 O 4 7 O O -2 -2 1
Ora il metodo di Gauss prevede di scendere di una posizione sotto
l'elemento pivotale e spostarsi a destra per individuare il successivo
elemento pivot. come può ben vedersi tale elemento (l'elemento in
posizione (2,2)) è nullo ed inoltre non c'è possibilità di uno scambio
della seconda riga con una sottostante in quanto tutti gli elementi
sottostanti nella seconda colonna sono nulli. Allo scopo di manipolare
28
Analisi Numerica capitolo 5 Algebra lineare Numerica

anche questa situazione -- valida anche per matrici rettangolari-­


modifichiamo il metodo di Gauss come segue:

Metodo di Gauss modificato.

Indicata con U(k) la matrice completa associata al sistema lineare dopo


k - 1 passi, l'esecuzione del k - simo passo di eliminazione procede
come segue:

(ribadiamo che stiamo nella situazione: uk~ = o euiZ) = o, i = k + 1,... n).

• .
Ci si sposta a destra dell' elemento uk~ Se l'elemento Uk~+l =1= O
allora (k, k + 1) è la posizione pivotale e U~~+l è l'elemento pivotale.
Si procede quindi all'azzeramento degli elementi ad esso sottostanti in
colonna k + 1.

• Altrimenti si scende giù in colonna k + Lfino ad incontrare un


elemento non nullo. Assunto che questi si trovi in posizione (r, k + 1)
si scambia la riga r con la riga k . si procede quindi 'all'azzeramento'
degli elementi al di sotto del pivot Uk~+l in colonna k + 1.
• Se il precedente punto non è realizzato (ovvero non si incontra
alcun elemento non nullo in colonna k + 1) ci si sposta ancora a destra
ed eventualmente al di sotto fino a realizzare il passo precedente.

• Se la riga k-sima è interamente nulla e tutte le righe sottostanti


sono anch'esse tutte nulle allora il il processo di eliminazione è
completato.

Il seguente esempio esemplifica l'applicazione del metodo di Gauss


modificato. Gli elementi in D indicano gli elementi pivot.

Esempio. Applicare il metodo di Gauss modificato alla matrice:

29
Analisi Numeriéa capitolo 5 Algebra lineare Numerica

1 2 1 3 3
2 4 O 4 4
A= 1 2 3 5 5
2 4 O 4 7

IT -;]
il ~ [~
3 2 1 3
240
123
2' 1 4

OI
O
21
2
-2
2 2 ~

240 4 O -2 -2 1

[1 2 1 -23 m2 3 3

-~]
1
~ g g -J O O ~
O 01 21 -2
O O o O
-2
rno
o o o o 3 o o o o
E' ora evidente che l'applicazione del metodo di Gauss modificato ad
una matrice A E R'"?" riduce questa ad una forma row echelon.

Rango di una matrice.


Sia A E R m xn ed E = ref(A) una sua row echelon form.
Si definisce rango di A il numero:
rank(A) = numero degli elementi pivots =
= numero di righe non zero di E =
= numero delle colonne basiche di A .
Le colonne basiche di A sono definite come le colonne diA che sono in
corrispondenza con le posizioni pìvotalì, e dunque sono colonne
linearmente indipendenti.
Siamo ora in posizione di risolvere sistemi algebrici rettangolari.

Consistenza di sistemi lineari.

definizione. Un sistema di m equazioni algebriche lineari In

n incognite, dicesi consistente se ammette almeno una soluzione.

Il sistema si dirà inconsistente se non ammette soluzioni.

30
Analisi Numerica capitolo 5 Algebra lineare Numerica

E' possibile dimostrare , ma omettiamo di farlo, che le seguenti


proposizioni sono equivalenti ad affermare che il sistema Ax = b, A E
R'"?", b E R'" è consistente.

• Nel ridurre [Alb] nella forma E = Ref([Alb]) non appare mai una
riga del tipo:
[O O O O la], a *0.
• b è una colonna non basica in [Alb],
(o equivalentemente, rank([Alb]) = rank(A)).
• b è una combinazione delle colonne basiche di A.

Esempio. Stabilire se il seguente sistema è oppure no consistente.

Xl + Xz + 2X3 + 2X4 + Xs = 1

2Xl + 2xz + 4X3 + 4X4 + 3xs = 1

2 Xl + 2xz + 4X3 + 4X4 + 2xs = 2

3Xl + SXz + 8X3 + 6X4 + SXs = 3.

Soluzione . Applicando il metodo di Gauss modificato alla matrice


completa abbiamo:

[I] 1 2 2 1 1 1 1 2 1 2 I 1
2 2 4' 4 3 1
~
O [Q] O O 1 I -1
2 2 4 4 2 2 O O
O O O I O
3 5 8 6 5 3 O 2 2 O 2 I O

31

Analisi l\Jumerica capitolo 5 Algebra lineare Numerica

1 1 2 2 1 I 1
O ~ 2 O 2 I O
~

O O O O [Il I -1
O O O O O I O
Poiché una riga della forma: [O O O O O la] .a * O, non appare mai, il
sistema è consistente.
SISTEMI OMOGENEI.
Un sistema della forma Ax = O, A E R'"?", dicesi omogeneo. Un
sistema omogeneo è sempre consistente in quanto ammette sempre la
soluzione banale x = O. In questo caso ci si pone la questione: 'esistono
soluzioni diverse da quella banale e se si qual è il miglior modo di
descrivere tale insieme di soluzioni?'

.1. Riduzione di A alla forma E = ref(A) via metodo di Gauss.


Gauss modificato
A . ) E = ref(A) .

• 2. Costruzione del sistema le cui incognite sono le variabili con


indice corrispondente all' indice di colonna degli elementi pivotali -­
Tali variabili si definiscono variabili basiche, le rimanenti, in numero
di n - r , si dicono variabili non basiche--.

32
Analisi Numerica capitolo 5 Algebra lineare Numerica

• 3. Risoluzione del sistema triangolare di cui al punto 2. con


sostituzione- all'indietro. Un attimo di riflessione rivela che la
soluzione generale del sistema può scriversi:

X = L.i=l
~n-rank(A) h.
Xli l

dove Xli' . . . , Xl n _ r sono le variabili libere mentre hl'· .. , hn - r sono


n - r vettori colonna rappresentanti altrettante soluzioni particolari
del sistema omogeneo.
Si noti che il sistema omogeneo ammette come unica soluzione quella
banale se e solo se rank(A) = n , cioè se e solo se non esistono variabili
libere.

Un esempio può servire a chiarire meglio quanto su esposto.


Esempio. Risolvere il sistema omogeneo:

Xl + 2xz + 2X3 + 3X4 = O

2Xl + 4xz + X3 + 3X4 = O

3Xl + 6xz + X3 + 4X4 = O.


Soluzione. ~

Primo passo. Riduzione della matrice dei coefficienti ad una sua forma
ref.

[~
2
4
6
2
1
1
!] ~ [~ 2
O
2
-3
O -5
3]
-3
-5
~ F 2
O O
O O
B
2

O
:-3]
2 passo. le variabili basiche sono quelli i cui indici coincidono con gli
indice di colonna degli elementi pivotali e pertanto sono Xl' X3; di

33

Analisi Numerica capitolo 5 Algebra lineare Numerica

conseguenza le variabili libere sono X2' X4' Il sistema di partenza e


dunque equivalente a:

Xl + 2X3 = - 2 X 2 - 3X4

- 3 X3 = 3X4 -
--
- - --

il quale ammette soluzioni:

X2 libera ~

xçlibera .
La soluzione generale può allora scriversi:

x= [~~l = ~21 + ::1·


Xz [ X4 [ Si noti che i vettori

[fl;[::1 sono due soluzioni particolari ottenute rispettivamente

per X2 = 1, X4 = O e X2 = O, X4 = 1 .

SISTEMI ALGEBRICI COMPLETI (O NON OMOGENEI).


Un sistema di equazioni algebriche lineari completo è un sistema del
tipo:
Ax = b,A E R'"?", O =1= b E R'":

34
Analisi Numerica capitolo 5 Algebra lineare Numerica

Assunto il sistema consistente, ovvero: rank[Alb] == rank[A] == r,la


soluzione generale del sistema è ottenuta attraverso i seguenti passi:

.1. Riduzione di [Alb] alla forma [Elc] == ref([Alb]) via metodo di


Gauss modificato
Gauss. [Alb] ). [Elc] == ref([Alb])
• 2. Costruzione del sistema le cui incognite sono le variabili con
indice corrispondente all' indice di colonna degli elementi pivotali -­
Tali variabili si definiscono variabili basiche.. le rimanenti, in numero
di n - r , si dicono variabili non basiche--.
• 3. Risoluzione del sistema triangolare di cui al punto 2. con
sostituzione all'indietro, un attimo di riflessione rivela che la soluzione
generale del sistema può scriversi:

X == ~n-rank(A)
~i=l Xli
h.
l
+ P

dove Xli" . ., Xl n _ r sono le variabili libere , hl" .. , h n - r sono n - r


vettori colonna mentre p è una soluzione particolare del sistema
completo.

Un esempio può servire a chiarire meglio il ruolo della soluzione p.


Risolvere il sistema lineare

Xl + 2X2 + 2X3 + 3X4 == 4

2Xl + 4X2 + X3 + 3X4 == 5


3Xl + 6X2 +,"X3 + 4X4 == 7 .
Soluzione.
3 I
= [~ -3 -3 I ~3] ~
2 2 2 3
[Alb] 4 1 3
6 1 4 -5 -5 I -5

35

Analisi Numerica capitolo 5 Algebra lineare Numerica -,

2 3 I
I
4] = ref([Alb]
-~
. .
8J -3
O O I

Il sistema equivalente è dunque:

Xl + 2X3 = 4 - 2xz - 3X4

-3X3 = -3 + 3X4 .
Xz libera, X4 libera.

Soluzione del sistema equivalente:

X3 = 1- X4," X4 libera

La soluzione generale può allora scriversi:

Si noti che" il vettore [i] è una soluzione particolare del sistema

completo ottenuta per Xz X4 = O, mentre

Xz [ f] + X4 [ ::], rappresenta la soluzione generale del sistema

omogeneo associato al sistema completo.

36
Analisi Numerica capitolo 5 Algebra lineare Numerica

.Possiamo allora affermare:

La soluzione generale del sistema non omogeneo è data da una

soluzione particolare del sistema completo più la soluzione generale del

sistema omogeneo ad esso associato.

ANALISI DI SENSITIVITA' DI SISTEMI LINEARI NON SINGOLARI.

Effetti della perturbazione sul termine noto.

Sia da risolvere il sistema:

Ax = b,

con

Un semplice calcolo diretto mostra che la soluzione del sistema è:

x* = [:D = GJ·
Consideriamo ora una (piccola' perturbazione del termine noto b
ponendo b = b + Sb, con Sb = [-0~01] e risolviamo il nuovo sistema:

Ax = b.
E' facile vedere che la nuova soluzione esatta di questo sistema è:

. . . . = [Xl] = [-23.25]
X X2 26'

Notiamo che:

Ilobll oo = 0.001 = 0.002002


IIbll oo 2.002

e dunque una perturbazione relativa del termine noto b inferiore allo


0.5%. Per quanto concerne la perturbazione relativa sulla soluzione,
abbiamo:
37
Analisi Numerica capitolo 5 Algebra lineare Numerica

Ilx*-xll oo = 25
IIx*lloo

ovvero una perturbazione relativa del 2500%. Non faremmo fatica a


concordare che quest'ultima è una grossa variazione rispetto alla
piccola perturbazione sui dati. Nasce quindi naturale la domanda: qual
è la causa di questa situazione negativa? La. seguente analisi fornisce
una risposta.

Sia x* la soluzione del sistema Ax = b e b = b + Sb una perturbazione


del termine poto b. Consideriamo quindi il sistema perturbato Ax = b
e sia x la sua soluzione.

Evidentemente:

x* - x = A-l Sb.
Fissata una norma su vettori e la corrispondente
norma indotta su matrici, risulta:

Ilx* - x Il < IlA-llillob Il . dalla quale:


II~I~~~ Il < IIA~I;~:~bll . Osservando che Il b Il < ilA IIl1x* Il, risulta infine:

Ilx*-x Il < IlA lillA-111· 118bll


IIx*1I - . Ilbll·

Quest'ultima relazione rivela che anche piccole perturbazioni


. Il 8b Il
relative 'libil ' sul termine noto, possono essere grandemente
amplificate dal numero K(A) = ilA lillA -111 comportando in tal nl0do
una grossa perturbazione relativa sulla soluzione. Il numero K(A)
dicesi numero di condizione del problema (o numero di condizione
della matrice in quanto dipende solo da questa). E' facile stabilire che
K(A) > 1. Infatti:

38
Analisi Numerica capitolo 5 Algebra lineare Numerica

In definitiva se K(A) è 'vicino' ad 1 allora a piccole perturbazioni sul


termine noto, corrispondono piccole perturbazioni sulla soluzione. In
tal caso il sistema dicesi ben condizionato. Mentre se K(A) » 1 allora
anche piccole perturbazioni del termine noto b, possono dar luogo a
grosse perturbazioni sulla soluzione. In questo caso, il sistema dicesi
mal condizionato.
Di norma gli scienziati e gli ingegneri di fronte ad un problema mal
condizionato preferiscono riformulare il modello matematico che
descrive 'il problema fisico' cercando di costruirne uno ben
condizionato. Esistono comunque tecniche di precondizionamento del
problema.
In quali casi può presentarsi un numero di condizione molto grande? Il
seguente teorema, fornisce una risposta.

TEOREMA. Sia A E R"?", det (A) *" O e B E R nxn una qualunque


matrice singolare. Allora:
_1_ < IIA-BII
K(A) - ilA Il

dove Il.11 è la norma indotta da una fissata norma su vettori.

dimostrazione.
1 1 1 < 1
K(A) ilA Il IIA-l Il ilA Il maxy..o"~~lxll - IIAII"~~~lxll'

Pos t o A - l x = y, segue: 1 < 1 IIAyll \-I R"


K(A) - IIAIIM' v y E .

Scelto ora y* come soluzione non banale del sistema By = O, (tale


vettore esiste in quanto B è singolare), abbiamo:
_1_ < _l_IIAY*11 = _l_IIAY*-BY*1I = _l_II(A-B)Y*1I < IIA-BII
K(A) - IIAII Ily*1I IIAII Ily*1I ilA Il lIy*1I - IIAII .

39
Analisi Numerica capitolo 5 Algebra lineare Numerica


Sia ora B una matrice singolare ottenuta da A tramite una piccola
perturbazione su A e diciamo E la matrice di perturbazione, Ovvero
B = A + E.(Per esempio, se

A= [i 1 ~- cl, E "* Oe piccolo quanto si vuole),

det(A) = E"* O· Scelta allora B = [i il si ha :

A = B + E, E = [~ ~] , Il E Il = C ) IX>

Applicando il precedente teorema, abbiamo: .


_1_ < IIA-BII = IIEII
K(A) - IIAII IIAII·

Poiché IIEII è piccola ne consegue che K(A) è grande.


In definitiva, possiamo affermare che: sistemi lineari con matrice dei
coefficienti 'quasi singolare' comportano un numero di condizione
grande.
Effetti del residuo sull'accuratezza della soluzione.

Consideriamo il sistema lineare:

0.835x + 0.667y = 0.168


0.333x + 0.266y = 0.067
e supponiamo che per una qualche ragione la seconda componente del
termine noto venga approssimata da 0.066; dunque un errore assoluto
di 0.001. Il sistema che viene effettivamente risolto è:

0.835x + 0.667y = 0.168


0.333x + 0.266y = o. O~6 .

Non è difficile verificare che la soluzione Xc di questo sistema è:


40
Analisi Numerica capitolo 5 Algebra lineare Numerica

- 666]
Xc = [ 834 .

Un modo per verificare l'esattezza della soluzione è quello che gli


studenti chiamano 'verifica della risposta' che consiste nel sostituire la
soluzione calcolata a sinistra delle uguaglianze nel sistema originale e
verificando quanto i primi membri sono in accordo con i secondi.
Quando ciò è fatto nel nostro caso, si ha:

rl = 0.835(-0.666) + 0.667(834) - 0.168 = O


rz = 0.333(-666) + 0.266(834) - 0.067 = -0.01 .

Il vettore r = [~] dicesi residuo e nel nostro caso è 'piuttosto piccolo'.


Infatti IIrll oo '= 0.01. In virtù di ciò, saremmo tentati di considerare Xc
una soluzione accettabile, ma un semplice calcolo mostra che la
soluzione esatta del sistema di partenza è:

x* = [_~] , 'piuttosto distante' dalla soluzione calcolata XC'

Come si spiega questa circostanza?

La seguente analisi fornisce la risposta.

Sia x* la soluzione del sistema non singolare Ax = b e Xc la soluzione


esatta del sistema perturbato Ax = b + r, dove r indica il vettore
residuo. Abbiamo allora:
(1) Ax* = b

(2) Axc . b +r .

Sottraendo la (1) dalla (2), segue:

A(Xc - X *) -- r ~ Xc - X * -- A-l r.

41

Analisi Numerica capitolo 5 Algebra lineare Numerica

Passando alle norme, segue:

ed anche:

Ilx*-xcll < IIAIIIIA- 1 11l!.1. = K(A) l!.1. .


IIx*11 - IIbll Ilbll

Quest'ultima diseguaglianza informa che per sistemi malcondizionatì,


anche in presenza di 'piccoli' residui si possono realizzare 'grosse
perturbazioni relative' sulla soluzione.
Effetti delle perturbazioni di A e b sulla soluzione di Ax = b.
Con tecniche analoghe a quanto precedentemente visto, si può
provare - ma evitiamo di farlo - il seguente:

TEOREMA. (effetti delle perturbazioni su A e b).

Sia x* la soluzione del sistema non singolare Ax = b e 8A una matrice

di perturbazione di A tale che 118AII < IIA~lll' Inoltre sia Sb un vettore

di perturbazione di b . Allora:

Il sistema perturbato CA + 8A)x = b + Sb , ammette un'unica

soluzione xc.. e risulta --trascurando perturbazioni superiori al primo-­


Ilx*-xcll < KCA)CI18AII + 11 8bll)
Ilx*11 - IIAII IIblj

42
Analisi Numerica capitolo 5 Algebra lineare Numerica

METODI ITERATIVI PER SISTEMI LINEARI QUADRATI NON SINGOLARI.

A differenza dei metodi diretti quali ad esempio il metodo di Gauss e i


metodi di fattorizzazione LU con tecniche compatte, i quali forniscono
la soluzione del sistema non singolare Ax = b, A E R nxn , b E R", in un
numero finito di passi, i metodi ìteratìvì, costruiscono una successione
(infinita) di, approssimazioni alla soluzione del sistema che sotto
opportune ipotesi converge alla soluzione teorica del sistema.
Il seguente teorema, è alla base della costruzione di una classe di
metodi iterativi detti metodi di splitting. (per richiami su autovalori e
norme di matrici vedi appendice Ce B).

Sia B E R nxn , c E R", e consideriamo l'equazione:


(1) x = Bx + c.
A partire da questa ed assegnato un arbitrario vettore x(O) E R",
costruiamo il processo iterativo:

(2) X(k+l) = Bx(k) + c, k = 0,1,. ..

(B dicesi matrice di iterazione). Vale allora il seguente:

43
Analisi Numerica capitolo 5 Algebra lineare Numerica

TEOREMA. (convergenza di processi iterativi stazionari).

a) 31x*ERn 3'x*=Bx*+c
p(B) < 1 ~ { b) Vx(O) E R n : lim X(k) = x'"
< k~oo

Dimostrazione. Assunto p(B) < 1 , proviamo la proposizione a). La (1)


può scriversi:

(I - B)x = c e dunque tale sistema ammette una ed una sola


soluzione x* se e solo se det (I - B) =1= O. Infatti

det(I - B) = I1f=l(l - u, (B)) =1= O

e in virtù dell'ipotesi det(I - B) =1= O.

dimostrazione di b). Sempre in virtù dell'ipotesi p(B) < 1, esiste un


numero q, 0"< q < 1 tale chè p(B) < q. Invocando il lemma a pìè­
pagina segue allora che esiste T E R'?" non singolare e J E
R'?" con IIJlloo < q < 1 tali chè B = TJT- 1 . Ora, da x* = Bx* + c
e X(k+l) = BX(k) + c, sottraendo membro a membro e ponendo
e(k) = x* - X(k) segue:

e(k+l) = Be(k),k = 0,1... ,


ovvero:

Passando alla norma infinito abbiamo:

2 Lemma. Sia
B E R"?" e p(B) < q. Allora esistono due matrici l e T con T non singolare tali che B =
T1T- 1 e 1111100 $ q
44
Analisi Numerica capitolo 5 Algebra lineare Numerica

Pertanto, ricordando che q < 1 segue: limk_Hx,lleCk) 1100 = o.


Infine la b) segue ricordando che in R" tutte le norme sono equivalenti.
Viceversa. Assumiamo per assurdo che esista un autovalore di
B, III (B), tale chè Illl (B) I > 1 e sia Xl un corrispondente autovettore.
Scegliamo quindi come punto di innesco xCO) = x* - Xl, ovvero
eCO) = Xl' Allora:

e Ck) = Bke CO) = Bkxl = Ilf(B)Xl'


Passando alla norma infinito segue:

e quindi:

se Illl(B)I. 1 •
se Illl(B)1 > 1

Riprendiamo ora in esame il sistema quadrato non singolare Ax =b.


Assumiamo che A possa scriversi :
A = M - N, con M non singolare.

Una tale decomposizione dicesi uno splitting di A. Possiamo allora


riscrivere il sistema Ax = b nel seguente modo:

A partire dall'ultima uguaglianza possiamo quindi istituire il processo


iterativo:

45

Analisi Numerica capitolo 5 Algebra lineare Numerica

In virtù del precedente teorema , possiamo allora affermare che


pCM- l N) < 1 è condizione necessaria e sufficiente affinchè
V'x(O) E R" limk-H)Q x(k) = x* = A-lb.

Nota. Qualunque sia la norma Il.11 di matrice compatibile con norma di


vettori, risulta:

IJliCA) I < IIAII .i = 1,... , n.

Pertanto possiamo affermare: condizione sufficiente affinchè


V'x(O) E R" limk-H)Q x(k) = x* = A-lb
è che IIAII < 1.

Esempio 1 CMetodo di]acobi). Sia A = [aij] É R nxn ,


b = [bi] E R" ed assumiamo aH "* O, i = 1, ..., n.
Poniamo D = diagCal l'· .. , a nn ) .

Possiamo allora scrivere:

Ax = b ~ CD + A - D)x = b ~ Dx = -CA - D)x +b

Partendo dall'ultima uguaglianza, istituiamo il processo iterativo:


x(k+l) = CI - D-lA)x(k) + D-lb, k = 0,1, ... x(O) assegnato.

Per quantoprecedentemente visto possiamo concludere che


pCI - D-l A) < 1 è condizione necessaria e sufficiente per la
convergenza del processo iterativo , mentre III - D-lAII < 1 per una
qualche norma è condizione sufficiente per la convergenza. Il metodo
appena descritto chiamasi metodo di [acobì, la matrice BJ = I - D-l A,
46

Analisi Numerica capitolo 5 Algebra lineare Numerica

dicesi matrice di iterazione di [acobi, Da un punto di vista


implementativo, conviene scrivere il metodo componente per
componente ovvero:
(k+l) _
Xi - ~
1 ("n
bi ­ LJj=l,j*i aij X j
(k))
,
II

i = 1, ... , n, k = 0, 1 ...
Esempio 2 (Metodo di Gauss - Seidel). Posto D come nell'esempio
1 e definite:
o O a12 ain
a2i O O
E= ... ,·F = ...
O O an-in
ani a n n-i O O
possiamo scrivere A = D + E + F e quindi istituire il processo
iterativo:
(D + E)x(k+i) = -Fx(k) + b,
ovvero:

Tale processo, prende il nome di metodo di Gauss-Seidel.

la matrice Bes = -CD + E)-lF dicesi matrice di iterazione di Gauss­

Seidel.

Per quanto concerne la convergenza valgono le stesse considerazioni

fatte per il metodo di [acobi. Osserviamo inoltre che:

CD + E)x(k+i) = -Fx(k) + b

può scriversi :

47

Analisi Numerica capitolo 5 Algebra lineare Numerica

e in termini scalari:

Ck+l) _ 1 ( ~i-l Ck+l) ~n Ck))


Xi - ~ bi - LJj=l aij X j - LJj=i+l aij X j ,
II _ _

i = l, ... , n, k = 0,1 ....


Un criterio di stop per i metodi iterativi.

consideriamo il generico processo iterativo:

X Ck +1) = Bx Ck ) + c, k = 0,1,...

ed assumiamo che esista una norma su B tale che I/BII < 1. Ciò
garantisce l'esistenza di un unico punto x* tale che x* = Bx* + c
nonché la convergenza del metodo.

Ora:
XCk+ 1 ) - x Ck ) = XCk+ 1 ) - x Ck) + x* - x* =

= Bx Ck ) +c- x Ck) + x* - Bx* - c =


= B(x Ck) - x*) + (x* - x Ck) ) = CI - B)(x* - x Ck )) .

segue allora:

x* - x Ck ) = CI - B)-lCX Ck+ 1 ) - x Ck)) .

Passando alle norme segue:' :

Ilx* - x Ck ) Il <: 1/ CI - B)-ll1 IIx Ck+1) - x Ck) Il <

< 1 IlxCk+1) _ x Ck ) Il .
- l-/IBII

3 lemma.5ia B E R"?". Se esiste una norma su B 3' IIB Il < 1 allora I - B è invertibile e
Il CI - B)-ll1 s l-~BII'

48

Analisi Numerica capitolo 5 Algebra lineare Numerica

Pertanto

1
1-IIBII
IIX(k+l) - X(k) Il <­ toll I

dove toll indica una tolleranza, può essere utilizzato come criterio di
stop nei processi iterativi. Si noti che più 'vicino' ad 1 è la norma di B
più la convergenza 'può rallentare'. Quest'ultima considerazione sulla
'velocità' di convergenza può essere raffinata con le seguenti
considerazioni:
abbiamo già visto che per un generico processo iterativo convergente,
l'equazione degli errori è data da:

e(k) = Bke(O).Assumiamo ora, per semplicità di esposizione --ma


sono ipotesi-che possono essere evitate-
che gli autovalori di B siano ordinati come seg~e

\JLn(B) \ < \JLn-t(B) \ < .. ·\JL2(B)\ < \JLt(B) \


ed inoltre che B ammette un insieme di autovettori linearmente
indipendenti {Xl'. . ., x n }. Possiamo allora scrivere:
I

B = TDT- l ,

dove T = [Xli ... \xnJ e D = diag(/ll(B), . .. ,/ln(B)).

posto ora T-l ;J)


" = [Yi]
abbiamo anche:

B = Ii=l/li (B)XiY[ = Ii:l /li (B)C i; Ci = XiY[ .


Pertanto:

L'eq uazione degli errori si scrive allora:


49

Analisi Numerica capitolo 5 Algebra lineare Numerica

e Ck) = IY=1Jtf (B)Gie CO) = /l~(B)G1eCO) + IY=2/lf (B)Gie CO) =


=Il 1 (B)k(G 1 eCO) + L~- l-2
(/1iCB))k G-e CO)).
/11 CB) l

Dalla ipotesi sugli autovalori:

/li (B)
--I < 1, i = 2,. . ., n
/l1 (B)
e perciò:

Quest' ultima implica che per k sufficientemente grande:

e Ck) ~ /l1 (B)kG 1eCO)

e anche

Detta allora e iCk) la i-sima componente del vettore e Ck) , segue:

Per afferrare meglio il significato di quest'ultima 'quasi uguaglianza' ,


supponiamo che:

le?-l) I = lO-q; le?)I= IO-P, P > q > O.


Allora:

lop-q = P(~) :::} p - q = -log 10 peR) e in definitiva

p =q- log1~O p(B).

Quest'ultima uguaglianza informa che - IOg10 p(B) fornisce una


indicazione del numero di cifre significative che si guadagnano ad ogni
50

Analisi Numerica capitolo 5 Algebra lineare Numerica

passo del processo iterativo ed è evidente che più piccolo è p(B),


rispetto ad uno più veloce risulterà il metodo.

Infatti il numero R = IOg10 peR) è riferito come Velocità asintotica di

convergenza.

Esercizio. Esaminando le matrici di iterazione del metodo di [acobi e


Gauss-Seidel, per ciascuna delle seguenti matrici dei coefficienti ed
abitrario temine noto, confrontarne la convergenza.
2
1 -2]1 ;A z [2
2
-1
2

2 1 -1 -1

Soluzione. Sìstema zlj z = b , b E R3 .

Posto Di =diag(A l )

B] = I - Dii Al = [~1
2
O
-2]
-1.
-. -2 -1 O
Un breve calcolo rivela che (J(B]) = {O}, con mA (O) = 3.

Pertanto p(B]) = Oe dunque il metodo di [acobi è convergente.

O]
O ; Fl = [OO 2
O -2]
1 .
O' O O 1
dunque

BGS = [~ ~2 :3]; poiché BGS è triangolare esibisce gli autovalori


O O 2
sulla diagonale e pertanto P(BGs ) = 2. ne consegue che il metodo di
Gauss-Seidel è divergente.

Sistema A 2 x = b .b E R3.
51
Analisi Numerica capitolo 5 Algebra lineare Numerica

1
-1]
O ~2 ; Dz = diag(A z)·
1

Un piccolo calcolo rivela che 0-( BJ ) = {O, +i ~}. di conseguenza


p(BJ ) > 1 e il metodo di [acobi diverge.
o -1
Bes = -(Dz + Ez) - l pz con e. = [ ~ O O
-1 -1 O
Dunque:

BGS = ~ [~ -1
1
-1]
-1 ; p(BGs ) = ~ e il metodo di Gauss-Seidel
O -1
converge.
Nota. Il precedente esercizio, mostra che non esiste una universale
superiorità di Gauss-Seidel su [acohì o viceversa.

Esercizio. Assegnata la matrice dei coefficienti


-1
2
-1
a) Determinare la velocità asintotica di convergenza per il metodo di
[acobi e di Gauss-Seidel

b) Scrivere un programma per entrambi i metodi e stampare le iterate


fino a chè tè visibile la convergenza'.

Soluzione a).

R] = -IOg10 P (B]) = IOg10 f f ~ .1505

Rcs = 2R] ~ .301

52
Analisi Numerica capitolo 5 Algebra lineare Numerica

AUTOVALORI E AUTOVETTORI DI MATRICI.

Prima di descrivere alcuni metodi numerici per il calcolo di autovalori


di matrici riportiamo, per comodità del lettore, alcuni brevi richiami
su autovalori e autovettori. Ulteriori informazioni sono date in
appendice C.

Sia A una matrice di ordine n. Gli scalari J1 ed i vettori x non nulli per i
quali risulta:

(1) Ax == J1X

diconsi rispettivamente autovalori ed autovettori della matrice A.


La (1) può anche scriversi (A - J1I)x == O, sicche' gli auto vettori sono
le soluzioni- non banali del su scritto sistema omogeneo. Poiche'
soluzioni non banali esistono se e solo se la matrice A - J1I e' singolare
, gli scalari di interesse sono tutti e solo quelli per èui

(2) det(A - J1I) == O.

Sviluppando il determinante a sinistra della (2) e' possibile vedere


che:

dove ai, i == 1,. . ., sono opportuni coe[ficienti.


Pertanto gli" autovalori di A sono tutte e solo le radici del polinomio
(3) detto polinomio caratteristico di A e dunque sono esattamente n,
(tenuto conto della molteplìcità delle radici). Se f1 è un autovalore di A
e x è un corrispondente autovettore, la coppia (f1, x) dicesi autocoppia
diA.

L'insieme degli autovalori distinti di A normalmente lo si indica con


O"(A) e dicesi spettro di A. Il maxjlEa(A) 1J1110 si indica in genere con
p(A) e chiamasi raggio spettrale di A.

Se u E cr(A), l'insieme:
53

Analisi Numerica capitolo 5 Algebra lineare Numerica

N(A - JLI) = {X *" 01(A - JLI)x = O},


dicesi autospazio di A associato all'autovalore u.

La molteplicità con cui f.1 appare come radice deli.polinomìo


caratteristico dicesi molteplicità algebrica e la si indica con maiji). La
dimensione dello spazio N(A - ui), dim (N(A - f.1/), dicesi molteplìcìtà
geometrica dell'autovalore f.1 e la si indica generalmente con mg(f.1).

Si può dimostrare che

mg(JL) < ma (JL).


Se per un autovalore f.1 risulta mg(f.1) = maiji) l'autovalore dicesi
semisemplice. In particolare se:

l'autovalore di dice semplice (questo è per esempio il caso di matrici


con tutti gli autovalori distinti).

Alcune semplici proprietà degli autovalori.

2. Se f.1 E O"(A) ed x è un corrispondente autovettore, allora


per ogni intero k > 1, f.1k E O"(A k ) ed x è un corrispondente
autovettore.

3. Se f.1 E O"(A) e A è non singolare, allora.!. E O" (A -1)


Jl

4. Se f.1 E o"(A) ed x è un corrispondente autovettore, alloral - f.1 E


0"(/ - A) ed x è un corrispondente autovettore.

5. Se f.11" .. ,f.1n sono gli autovalori di A allora det(A) = rrr::1 tu.

54

Analisi Numerica capitolo 5 Algebra lineare Numerica

Prima di descrivere alcuni metodi per il calcolo numerico di


autovalori di matrici, forniamo alcuni semplici risultati di
localizzazione degli autovalori di una assegnata matrice.

• Sia A E R nxn e Il.11 una qualunque norma s.u A.


Allora , tutti gli autovalori di A si trovano nel cerchio di centro
l'origine e raggio Il A Il. in altri termini

(1) ~ IIlI < IIAII per tutti Il E a(A).

TEOREMA (Gerschgorin) . Sia A _ [aij] E R"?",

Posto per i = 1,. . ." n

Ci = {Z E C: [z - aiil < ri, Ti = LJ=l,j=t=ilaijl} (detti cerchi di


Gerschgorin) si ha:

tutti gli auto valori di A sono inclusi nell' unione dei cerchi di
Gerschgorin,._ ovvero :

Esempio. stimare gli autovalori della matrice

~ ].
5 1
A = [O 6
1 O -5
Soluzione. Una cruda stima derivante dalla (1) è data da:

Applicando il teorema di Gerschgorin abbiamo invece

Cl = [z - 51 < 2; a C2 = [z - 61 < 1; C3 = [z + 51 < 1;


e dunque gli autovalori si trovano nell'insieme:

{Cl = [z - 51 < 2 U C2 = [z - 61 < i U C3 = [z + 51 < i}.


55
Analisi Numerica capitolo 5 Algebra lineare Numerica

Nota. Ricordando che o-(A) = o-(A T ) , applicando il teorema di


Gerschgorin alla matrice A T è possibile raffinare ulteriormente la
localizzazione degli auto valori diA.

Esercizio1. Senza effettuare la computazione diretta di autovalori e


autovettori, determinare quali tra i seguenti vettori sono autovettori
di
-9
-8
A = [ 20
-6
-6
15
-2
-3
8

-4]
-1
5 .
32 21 7 12

Inoltre, per quelli che risultano autovettori identificare gli autovalori.


~.

Soluzione. Affinchè vi sia autovettore di A, AVi dev'essere


proporzionale a vi e la costante di proporzionalità ne rappresenta
l'autovalore. Verifichiamo allora tale circostanza.
- 9 -6 -2
AVi = [ 20
-8 -6
15
-3
8
=~]
5 [--;'
O 1]-
- [--;'
O 1]-
- v 1

32 21 7 12 1· 1
pertanto Vi è autovettore e J1 = 1 è autovalore.
. 9 -6 -2
=8 --6
Avz = [ 20 15
-3
8 =~] [~ ]= [=~]
5 -1 12·
32 21 7 12 O 25
Poiché

56

Analisi Numerica capitolo 5 Algebra lineare Numerica

rank ([:1 ~i]) = 2, il vettore AV2 proporzionale a V2 e dunque V2

non è autovettore.
Completare l'esercizio verificando che V3' V4 sono auto vettori di A
associati rispettivamente agli auto valori 3 e 3.

Esercizio2. Determinare autovalori e autovettori delle seguenti


matrici.
16
_[-10
A - 14
-7
l1];B=
[ 2
4 14 8 ].
~ -8 -32 -18; ,

= [~
-2
~]; D= [~1
6
3]1 ; E = [3O 3O
C 1
-1 5; -1
5
2 4 -O O ~l
Soluzione.

Calcolo degli autovalori e autovettori di A.


- l O- il
detCA - ILI) = det ([ 14

gli autovalori di A sono:

III = 4; Ilz = -3 .

Soluzione del sistema CA - 4I)x = O.

-1 .
Xl = -xz;
z Xz libera.

57

Analisi Numerica capitolo 5 Algebra lineare Numerica

Soluzione del sistema CA + 31)x = O.

CA + 3I)x = O ~ [~~ ~~] [~~] = [~] ~ Xl + Xz = O.

Poiché gli autovalori sono distinti gli autovettori [-1 ~] , [--;.1] sono

linearrnente indipendenti e pertanto la matrice A non è difettosa.

Autovalori e autovettori di B.
2 - Il 16
detCB - ilI) = det ( 4 14 ­ Il 88 ] )=
[
-8 -32 -18 ­ Il

Poiché i fattori di 8 sono dati dall'insieme {+1, +2, +4}4, è facile


verificare che + 2 e -2 sono radici dell'equazione caratteristica
J13 + 2J12 - 4J1 + 8 = O.
Inoltre derivando il polinomio caratteristico e uguagliandolo a zero è
facile stabilire che -2 è zero anche per il polìnomìo derivata. Ciò
equivale a dire che -2 è auto valore di B di molteplicità algebrica 2;
ma(-2) = 2.

4TEDREMA. Assegnata l'equazione u" + a n_1Jln-l+ . . . alJl + ao = O se i coefficienti ai sono


tutti interi allora ogni soluzione intera è un fattore di ao.
58
Analisi Numerica capitolo 5 Algebra lineare Numerica

Soluzione di (B - 21)x = o.
16
(B - 2I)x = °~ [~ 12 8]
8
[Xl] = [0]
°X2
-8 -32 -20 X3 °
Riducendo la matrice dei coefficienti in una forma ref(B), abbiamo:

CB - 2I)x = O ~ [~ io~ ~] [~:] = [~] · E' facile allora stabilire che


la soluzione generale è data da:

Xl = - -X3
;X2
2
= -X3
-
2
;X3 lib
l era. Pertanto

soluzione del sistema (B + 21)x = O.


16
(B + 2I)x = °~ [:-8 -32
16 8]
8 [Xl] = [0]
-16
°

X2
X3 °

Risulta evidente che il sistema è equivalente a:

Pertanto

Xl = - 4 X2 - 2X3; X2,X3 libere, e quindi

Autovalori e autovettori di C.

59

Analisi Numerica capitolo 5 Algebra lineare Numerica

fl = 3 è auto valore di C di molteplicità algebrica 3.

Soluzione del sistema CC - pl)x = O.

(C - fl/)X =0 ~ [~O -1
=~ ~l2 [~~] = [~]O ~
X3

- 2xz + SX3 = O .
,
~ {-2 Xz + 4 X3 -­ O,xllibera.
Pertanto:

N(C - 31) = span!~l.

C è una matrice difettosa.

Si lascia al lettore la conclusione dell'esercizio verificando che:

(J(D) = {3}, in aD (3) = 3

N(D - 3I) = span ![~] ,[~Jl, mgD (3) =2


D è una matrice difettosa.

(J(E) = {3}, maE(3) = 3

N(E - 31) = span ![~], [~], [~]l, mgE(3) = 3

60

Analisi Numerica capitolo 5 Algebra lineare Numerica

Metodo delle potenze.


Il metodo delle potenze è un classico semplice metodo che permette il
calcolo dell' autovalore di massimo modulo di una matrice A di
ordine n. Qui, per ragioni di semplicità espositiva descriveremo tale
metodo sotto le seguenti ipotesi:

1. gli autovalori /li, i = 1, ... , n di A sono ordinati in modo tale che:


l/lll > l/lzl >... I/ln I
2. Gli autovettori Vi' . . . , vn associati rispettivamente a
/li'. . ., /ln formano un insieme linearmente indipendente.
Descrizione del metodo. Assegnato arbitrariamente x(O) E R",
consideriamo il processo iterativo:

X(k+l) = Ax(k) , k = 0,1,.


ovvero:

dall'ipotesi 2. possiamo scrivere:

x(O) = Lf=l ai Vi , per opportuni ai


(qui assumiamo al =1= O).
Abbiamo:

dalla quale:

Dalla ipotesi 1.,1;: I< 1, i = 2,. , " e perciò:

61

Analisi Numerica capitolo 5 Algebra lineare Numerica

Osserviamo che /1~ agisce su x(k) solo come fattore di scala e pertanto
anche la successione {x(k)} 'tende verso la direzione di un autovettore
associato a Ili'
Ciò ci permette di scegliere un più comodo fattore di scala.

A tal fine poniamo, per un generico vettore w E R",

Notiamo che

Va E R: m(aw) = am(w) .
X(k)
Assunto m(-k) ~ y, segue:
J).1

con u autovettore associato a /11'

In definitiva, la successione { x(~:)


m(x)
J {.m(AAk:(~~)
x )
}, tende ad

un autovettore associato a 111'


Ora, piuttosto che costruire i rapporti
A x(O) A 2x (O) A 3 x (O)
m(A x(O))' m(A2 x(O)) , m(A 3 x(O))

è più comodo,(meno costoso) istituire il seguente processo iterativo:

y(k) == AX(k)
(1k == mCy(k))
CP) k == 0,1,2,.
x(k+l) == y(k)
(Tk
62
Analisi Numerica capitolo 5 Algebra lineare Numerica

Infatti non è"difficile provare, per induzione matematica ,che la


successione {X(k)} generata dal processo (P) coincide con la
Akx(O) }
succeSSIone { m(Akx(O)) •

Infine proviamo che, posto

(J = lìmj, (Jk ,risulta (J = /11'

Infatti:

Passando al limite di ambo i membri e tenuto conto che la successione


{x(k)} converge ad un autovettore associato a 111 segue la tesi.

Un breve Cenno sul metodo di iterazione QR


Il metodo QR è un potente metodo per il calcolo simultaneo di tutti gli
autovalori di una assegnata matrice A E R"?". nella sua formulazione
più semplice, l'algoritmo è il seguente:

poni A(l) =A
per k = 1,2,...

effetua decomposizione QR di A(k), poni cioè

definisci
A (k+l) =R(k) Q(k) •

63
Analisi Numerica capitolo 5 Algebra lineare Numerica

In tal modo, si costruisce una successione di matrici {A(k)} tutte simili


alla matrice A e perciò O"(A(k)) = O"(A)
Infatti:

Vale il seguente:

TEOREMA. (Convergenza del metodo QR).

Sia A E Rnxn ed assumiamo:

lJ-ll(A)I> 1J-l2(A) I >.. . 1J-ln(A)I·

allora:
J-ll CA) T12 Tln
J-l2 CA) T23 T2n'
limk~oo A(k)

J-ln(A)

Se A è simmetrica, la successione {A (k)} converge verso una matrice


diagonale. Per quanto riguarda la velocità di convergenza, risulta:

l a ~~~ I = O (1...!!:Ll
k
) •
l,l 1 J1.i-l

Avvertiamo esplicitamente che una efficiente implementazione del


metodo QR, richiede diversi importanti accorgimenti la giustificazione
e realizzazione dei quali richiede un certo bagaglio tecnico e perciò
esula dagli scopi di questo programma.

64

Analisi Numerica capitolo 5 Algebra lineare Numerica

APPENDICE A.

Partizionamento di matrici in sotto matrici.

Una matrice A i cui elementi sono essi stessi delle matrici si dice
partizionata in sottomatrici o partìzìonata a blocchi. Per le matrici
partizionate.a blocchi, sotto naturali restrizioni per le dimensioni dei
blocchi, valgono le stesse definizioni di somma e prodotto valevoli per
le matrici i cui elementi sono scalari.
Somma a blocchi.

Esempiol. Assumiamo A e B partizionate come segue

A -_ [A 1 1 A 1 2 ] " B _- [B 1 1 B1 2 ] con Ai]"e Bi]". matrici con le stesse


A21 A22 B2 1 B2 2
dimensioni. allora:

Quanto esposto nell'esempio è valido per qualunque partizionamento


di A e B purchè siano rispettati i vincoli sulle dimensioni.

Moltiplicazione a blocchi.
Assumiamo che le matrici A, B siano partizionate a blocchi come
segue:

A~r]
.. ,. B -- [B~l
..
..
-::- A sr Br 1
Se le coppie di matrici (A i k , B k j ) sono conformabili ovvero se il
numero di colonne di A i k coincide con il numero delle righe diB k j
allora si dice che A e B sono conformabilmente partìzìonate, per tali
matrici il prodotto segue la stessa regola che per le matrici ad elementi
scalari; in altri termini, posto C = AB si ha:

65
Analisi Numerica capitolo 5 Algebra lineare Numerica

c == [Ci j ], i == 1, ... .s.] == 1, ..., t


~r .
con Cij == L...k=l A i k Bk j­
Esempio2. Siano A e B due matrici di dimensione n.

Partizionata A nell'unico blocco se stessa, cioè A = [A] e B per colonne


ovvero in n matrici di dimensione nxl, diciamo B = [b1Ib2 1 . . . bn ], in
virtù della precedente regola si ha:

Esempio 3. Siano A e B due matrici di dimensione n.

Partizionando A per righe .ovvero in n matrici di ordine lxn diciamo:

r[
r T
A== 2 e B nell'unico blocco se stesso, abbiamo:
r,T
n

r[ rTB
1

AB == rJ [B] == rJB
r,T r,TB
n n

Esempio 4. Posto
1 2 ,­ I 1 O
3 4 I O 1
A== -
= [; ~]
1 O I O O
O 1 I O O
Analisi Numerica capitolo 5 Algebra lineare Numerica

con chiaro signìfìcato di I e C, abbiamo:

2 4 I 1 2

6 8 I 3 4

AB = [; b][~ ~] = [2]e g] = t. O
-

I O O
O 1 I O O

67

Analisi Numerica capitolo 5 Algebra lineare Numerica

APPENDICE B.

AUTOVALORI E AUTOVETTORI DI MATRICI. .


Sia A una matrice di ordine n. Gli scalari f.l ed i vettori x non nulli per i
quali risulta:
(1) Ax = ux

diconsi rispettivamente autovalori ed auto vettori della matrice A.


La (1) può anche scriversi (A - f.lI)x = O, sicche' gli auto vettori sono
le soluzioni non banali del suscritto sistema omogeneo. Poiche'
soluzioni non banali esistono se e solo se la matrice A - ul e' singolare
, gli scalari di interesse sono tutti e solo quelli per cui
(2) det(A - f.lI) = O.
Sviluppando il determinante a sinistra della (2) e' possibile vedere
che:

Pertanto gli autovalori di A sono tutte e solo le radici del polinomio


(3) detto polinomio caratteristico di A e dunque sono esattamente n.

Se f.l è un autovalore di A e x è un corrispondente autovettore, la


coppia (f.l, x) dicesi auto coppia di A.

L'insieme degli auto valori distinti di A normalmente lo si indica con


o-(A) e dicesi spettro di A. Il maxjlEO"(A)IJ,t/ lo si indica in genere con

p(A) e chiamasi raggio spettrale di A.

Se f.l E o-(A), l'insieme N(A - f.lI) = {x "* OI(A - f.lI)x = O}

dicesi autospazio di A associato all'autovalore u.

68
Analisi Numerica capitolo 5 Algebra lineare Numerica

La molteplicità con cui Jl appare come radice del polinomio


caratteristico dicesi molteplicità algebrica e la si indica con ma(Jl). La
dimensione dello spazio N(A - JlI) }
dim (N(A - JlI)) dicesi molteplicità geometrica dell'autovalore Jl e la si
indica generalmente con mg(Jl). Si può dimostrare che
mg(p) < ma(p).

Se per un autovalore Jl risulta mg(Jl) == maiu), l'autovalore dicesi


semisemplice. In particolare se
mg(Jl) == ma(Jl) == 1 l'autovalore di dice semplice (questo è per
esempio il caso di matrici con tutti gli autovalori distinti).

Alcune semplici proprietà degli auto valori.

2. Se Jl E a(A) ed x è un corrispondente autovettore, allora:


per ogni intero k > l}Jlk E a(A k ) ed x è un corrispondente
autovettore.

3. Se Jl E a(A) e A è non singolare, allora ~ E "a(A -1)


J..L

4. Se Jl E a(~) ed x è un corrispondente autovettore, allora:


1 - Jl E a(I - A) ed x è un corrispondente autovettore.

5. Se Jl1, . . · , Jln sono gli auto valori di A allora, det(A) == n'b1 Pi.

69

Analisi Numerica capitolo 5 Algebra lineare Numerica

• Sia A E R"?" e Il. Il una qualunque norma su A.


Allora tutti gli autovalori di A si trovano nel cerchio di centro
l'origine e raggio IlA Il. in altri termini,

Cl) Lui < IIAII per tutti Il E creA).


Infatti detta Cf.l, x) una autocoppia di A e posto

x= [xIOI ... 10], da


f.lX = AX , abbiamo:

IIf.lXII = 1f.lIIIXII = IIAXII < IIAII IIXII e perciò

If.ll < IIAII·

• TEOREM~ (Gerschgorin) . Sia A _ [aij] E R"?",

Posto per i = 1,. . < ) n

Ci = {Z E C: [z - aiil < r..r, = IJ=l,j*daijIJ (detti cerchi di


Gerschgorin) si ha:
tutti gli autovalori di A sono inclusi nell' unione dei cerchi di
Gerschgorin.

Dimostrazione.

Sia (f.l, x) un autocoppia di A ed assumiamo che x SIa stato

normalizzato in modo che Ixp = IlxIl 00 = 1.


I
allora:

dalla quale

(f.l - app)x p = I J=l,j*P apjxj .

70

Analisi Numerica capitolo 5 Algebra lineare Numerica

Passando ai moduli, segue

IJL - appl < Ij=l,j;épll1pjllxjl < Lj=l,j;éP Iapj I


e dunque

f1 E Cp . Non potendo individuare a priori l'indice p cui corrisponde la


componente di massimo modulo, tutto quello che possiamo affermare
e che

71

Analisi Numerica capitolo 5 Algebra lineare Numerica

APPENDICE C.

NORME DI VETTORI E NORME MATRICIALI.

Norme di vettori.

Definizione. Sia V uno spazio vettoriale (reale o complesso) e

Il Il: V ~ R soddisfacente le seguenti condizioni:

1. Ilxll > O ellxll == O (::> x == O

2. Ilaxll == lalllx Il, per tutti gli scalari a

3. Ilx + yll < IIx Il + Ily II·

Una siffatta funzione dicesi norma di vettori.

Una volta stabilita una norma di vettori Il.11 e fissati x, y E V ,

la Ilx - yll definisce la distanza tra x e y.

Esempio. Sia V == R 2 e Il Il: R 2 ~ R tale che v x = G~] E R2

: Ilxll == Jxf + x~.


Una tale applicazione soddisfa banalmente la 1. e 2. della precedente
definizione. Inoltre, potendosi provare che

è facile vedere che vale anche la 3 e dunque tale applicazione è una


norma . la distanza definita da tale norma è nota come distanza
euclidea.

p-NORME.

E' possibile provare che per ogni intero p > 1 , l'applicazione Il Ilpche
ad x E C" associa
1

t
Ilxllp == (I =l lxd P) p

72
Analisi Numerica capitolo 5 Algebra lineare Numerica

definisce una norma. Tali norme vengono chiamate p-norme.

Le più usate in analisi numerica sono:

Ilxllz = )L7=1I xdz norma-2 o norma euclidea


-

Ilxll i = Li=~lxil~- norma-l

norma infinito.

NORME EQUIVALENTI.

La norma di vettore è un argomento basilare per definire e analizzare


il comportamento al limite in uno spazio vettoriale.
Infatti una successione {Xk} contenuta in UJ)O spazio vettoriale V dicesi
convergente a x* e si scrive lìmj, Xk = x", o più sinteticamente Xk ~ x*
Ilxk ~ x* Il ~ O. Tale definizione dipende dalla norma e dunque il
generale potrebbe essere IIxk - x*11 in una data norma ma non in
un'altra. Fortunatamente ciò non può accadere in uno spazio di
dimensione finita.
In uno spazio di dimensione finita si può infatti provare quanto segue:

assegnate due qualunque norme Il Il *, II· Il. è sempre possibile


trovare due costanti positive (dipendenti solo dalle norme) Cl, C2 tali
che:

Ctllxll* < Ilxll. < c2l1xll* v x E V.

Due siffate norme si dicono equivalenti.


In sintesi: in uno spazio vettoriale di dimensione finita, tutte le norme
sono equivalenti.

73

Analisi Numerica capitolo 5 Algebra lineare Numerica

NORME DI MATRICI
Una norma di matrice è una applicazione dell'insieme di tutte le
matrici complesse di dimensione finita in R , Il.11 tale che:

1. IIAII > O e"IIAII = O ç::> A = O


2. IlaAII = lalllA Il, per tutti gli scalari CI
3. IlA + BII < IlA Il + IIB Il per matrici con stesse dimensioni.
4. IIAB Il < IlA IIIIB Il per tutte le matrici conformabili
NORME INDOTTE
E' possibile provare (e invero è piuttoso semplice) che a partire da
una norma di vettore definita su CP p = m, n, l'applicazione Il.11 che ad
A E C'"?" associa:
IIAxll
IlA Il = maxx:t:o IIxll ,x E C"

definisce una norma di matrice detta norma indotta (dalla fissata


norma di vettore).

Nota. dalla precedente definizione di norma, è piuttosto evidente che


n
IIAxl1 < IIAllllxl" x E C
questa circostanza (che tra l'altro serve a provare 4.) la si esprime
dicendo che la norma di matrice e la norma di vettore sono
compatibili.

E' possibile dimostrare che la norma-l la norma-infinito la norma-2


inducono rispettivamente le norme matriciali:

IIxlll = maxj Li Iaij I norma-l


IIAlll = maxx:t:O IIAxlll

IlA Il = maxx:t:O IIIlxll oo = max. LJj Iaij I norma-In


. " fìnìto
Ax l l o o " "
00

74

Analisi Numerica capitolo 5 Algebra lineare Numerica

IIAllz = maxx*o 111;~11~2 = .vi p(ATA) norma2jnorma euclidea

p(M) indica il raggio spettrale della matrice M ovvero il suo auto


valore di massimo modulo (vedi paragrafo sugli autovalori di matrici).
E' facile verificare che per ogni fissata norma di matrice compatibile
con norma di vettori e per ogni data matrice quadrata A risulta:

p(A) < IIAII .

75

Analisi Numerica capitolo 5 Algebra lineare Numerica

APPENDICE "D.

FATTORIZZAZIONE QR.
Sia A E R mxn e per fissare le idee, assumiamo m > n. Vogliamo
provare che esiste Q E Rmxm ortogonale cioè tale che QT Q = QQT =
I ed esiste R E R mxn del tipo

R = [~], T E Rn xn triangolare superiore e

O E R(m-n)xn matrice nulla CR = T nel caso m = n) tali che A = QR.


Una tale fattorizzazione dicesi fattorizzazione QR di A.
A tal fine, cerchiamo prima di risolvere il seguente 'sotto problema':

Assegnato x E R'" costruire una matrice simmetrica ortogonale P tale


che:

Px = ke«. k opportuno scalare, el = l!].


Soluzione.
Poniamo P " I - Buu" ,O '* {J E R, u E R'", Evidentemente, P è
simmetrica. Imponiamo quindi che sia ortogonale. Dev'essere:

ppT = CI - Buu" )CI - {JuuT ) =I - 2{JuuT + {Jzllullz zuu T = I


e dunque:
z
Cl) {J = IIull22 .
-..
~

Pertanto,
2
P =I- uu"
Ilullz z

è simmetrica e ortogonale.
76
Analisi Numerica capitolo 5 Algebra lineare Numerica

Ora:

Px = (I ­ 2
Ilullz
z uu T ) X = X - 2
lIullz
z uu" X =
=x - 2 T
z (u x)u.
Ilullz
Posto:
Ul
X2
(2) 2
lIullz.z
(u T x) - 1 u
,
= , risulta:

Verifichiamo ora che la (2) è effettivamente realizzabile.

Risolvendo rispetto a Ul' abbiamo:

Nella pratica, ragioni di controllo dell'errore nella sottrazione,


impongono di scegliere

Ancora, una facile manipolazione di f3 rivela che


1
f3 = IIxllzCl xll+IIxllz)

In definitiva, la matrice

(4) p =I - 1
IlxllzCl xll+llxllz)
uu!
,

con:

77

Analisi Numerica capitolo 5 Algebra lineare Numerica

Xl + sign(Xl)llxllz
(5) u=
Xz

Rìsolveìlproblerna postoci.

Ritorniamo ora alla fattorizzazione QR.

Poniamo A = [aiJ - [ai.?] = A (1). Decomponiamo quindi A (1) per

colonne.

Costruiamo quindi:

a~~) + sign( a~~)) Il a~l) "2


U(l) ­ (1)
1 ­ a Zl

p(l) A (1) = p(l) [ail ) 1 aiZ) 1 ... 1 ain )] =


= [p(l) ail ) 1 p(l) ai Z) 1 ... 1 pCl)ain )] =

78
Analisi Numerica capitolo 5 Algebra lineare Numerica

-sign(ai~)) Ilai 1 l
)
2
(2)
a 12 a 1n
(2)

(2) (2)
O a 22 a 2n = A(2) o

(2) (2)
O am2 a mn

Poniamo ora Ai~ = [-sign(ai~)) Il ail ) IU


. (2)
(2)]

= [~] A(2) = [a~2

a2n
A(2)
12
= [a(2)
12
000 a(2)]
in'
A(2)
21 o, 22 o
-
o
o
o
.

O· a(2) (2)
m2 am n

sicchè A (2) pUÒ sciversi:

A(2)]
12 .
A(2)
22

Ora, con la stessa logica con cui abbiamo costruito r'», costruiamo la
matrice ortogonale Q(2) di ordine m-l tale che Q(2) Afi presenti la
struttura:

~]. Di conseguenza la matrice


*

*
*
*
p( 2 ) = [~ QOc:)] risulta essere ortogonale e tale che

p(2) A (2) ,

presenta la struttura:

79

Analisi Numerica capitolo 5 Algebra lineare Numerica

* * * * *
O * * * *

p(2) A(2) = O O * *
*
*

O O * * *

Assumiamo ora di aver eseguito k - 1 passi di questo tipo in modo


tale che la matrice
A (k) = p(k-l). .. p(l) A l presenti la struttura:
(k) (k) (k) (k)

a11 a 1k - 1 a1k a 1n

...

...

(k) (k) (k)


a k-lk-l a k - 1k a k - 1n
A(k) = (k)
a kk a (k)
kn
...

(k) (k)
am k amn

posto:
(k) (k)

a11 a1k - 1

..
A(k) ­
.
11 ­ . ..
(k)
ak-lk-l
(k) (k)

a 1k a 1n

A(k) ­
12 ­ ·
·
(k)
• <

(k)

a k - 1k a k - 1n

80

Analisi Numerica capitolo 5 Algebra lineare Numerica

A(k) ­
22 ­

ai~ + sign(ai~) Ilai ) 11 2


k

(1)
. a-(k) ­
a k + 1k , k ­

e costruiamo la matrice
-c

p(k) = [01 Q(k) O] .


Allora:

A (k+l) = p(k) A (k) = [oI 0k ] [A ( k1)


1 A( k2) ]
1 =
Q( ) O A~~ .

A (k ) A(k)] [A(k+l) A(k+l)]


_ 11 12 _ 11 12
[
O (k ) A (k ) - O A(k+l)·
Q 22 22

Poiché Q(k) è stata costruita in modo da 'azzerare' gli elementi della


prima colonna di A~~) tranne il primo, la struttura di A~~+l) è
ovviamente la seguente:

81

Analisi Numerica capitolo 5 Algebra lineare Numerica

* * *

O * *
A(k+l) =
22

O * * *
In sintesi l'algoritmo di fattorizzazione QR può essere cosi
sintetizzato:
poni A(l) ~ A

perk = 1, ... ,n
esegui:

u j(k) ~
O, 1- -- 1 , . . ,k-l

U(k) ~ a(k)
k kk
+ sign(a(k))s(k)
kkk

U I~k) ~ a~k)
ik ' I- = k + 1,. . , ID

Qui, u(k) è il vettore la cui i-sima componente è ui k).

In uscita A (n.+l) sarà il fattore R mentre Q sarà data da:

Q= p[pJ . .. pJ.

82

Potrebbero piacerti anche