Sunteți pe pagina 1din 7

Metode pentru aproximarea valorilor proprii ale unei matrice

Fie A Mm(R).Soluiile 1 , 2 , . . . , m (reale sau complexe) ale ecuaiei t t


det(A Im ) = 0 u Rm , .

se numesc valori proprii ale matricei A.Orice vector nenul

care verica egalitatea Au = u (unde este o valoare propria a

matricei A) se numete vector propriu al matrcei A ataat valorii proprii s s n continuare vom prezenta 3 algoritmi de determinare a valorilor proprii ale unei matrice de un anumit tip.

Metoda rotaiilor t
rotaiilor aproximeaza valorile unei matrice simetrice prin construirea t unui ir de matrici (obinut cu ajutorul unor matrici de rotaie) ale caror s t t valori de pe diagonala converg catre valorile proprii ale matricei A. Daca la pasul n este cunoscuta matricea An , matricea An+1 se deter mina cu formula
An+1 = Tn An Tn

Se dau m N, m 2, A = (aij ) Mm (R) simetrica i > 0. Metoda s

unde Tn este o matrice de rotaie, adica o matrice de forma t


1 . . . . . . 0 . . . . . . 0 . . . . . . sin 0 . . . . . . . . . cos 0 . . . . . . . . . 0 1 0 . . .

0 cos . . . . . . . . . . . . 0 . . . . . . 0 sin . . . . . . 0 1

rotaii plane se realizeaza dupa algoritmul: t


A0 := A

Calcul succesiv al matricilor An (n 0), obinute din matricea A prin t

Daca la pasul n se cunoate matricea X = An , atunci matricea Y = An+1 s se calculeaza


Repeta:

Se calculeaza Y = An+1 n funcie de X = An astfel: t se aleg p < q {1, . . . , m} astfel nct


|xpq | = max{|xij |; i < j {1, . . . , m}};

2 1 daca xpp = xqq atunci = , altfel = 2 arctan xppxpqqq x 4

se iau c = cos() i s = sin(); s

i, j {p, q}, yij = xij ; j {p, q}, y pj = y jp = c xpj +s xqj , y qj = y jq = s xpj +c xqj ypq = 0; yqp = 0; ypp = c2 xpp + 2 c s xpq + s2 xqq ; yqq = s2 xpp 2 c s xpq + c2 xqq ;

se face atribuirea X = Y ; se calculeaza modul = |X| :=


m i=j

x2 ij

unde i, j {1, . . . , m}.

pna cnd modul < .

Se colecteaza n vectorul z elementele diagonalei lui X , care reprez inta aproximari ale valorilor proprii ale matricei A cu erori n modul mai mici dect :
i {1, . . . , m}

se ia zi = xii .

Se tiparete z . s

Exemplul -1.1

Fie matricea
A = 2 8 3 3 2 3 17 2 3 3 2 3 11

Folosind metoda rotaiilor, sa se determine valorile proprii ale matricei t


A.

Soluie Se verica imediat ca matricea A este simetrica. Se aleg p < q t astfel nct
|apq | = max{aij |; i < j {1, 2, 3}

Atunci p = 1, q = 3. Se calculeaza
1 2 apq 1 23 3 = arctan = = arctan 2 app aqq 2 17 11 6

Se ia

i se calculeaza matricea s

T =

cos 0 sin 0 1 0 cos sin 0

20 0 0 = 0 8 4 0 4 8

3/2 0 1/2 B = T t AT = 0 1 0 1/2 0 3/2

17 2 2 8 3 3 2 3

3 3 2 3

3/2 0 1/2 0 1 0 11 1/2 0 3/2

Se aleg p < q astfel nct


|bpq | = max{bij |; i < j {1, 2, 3}

Atunci p = 2, q = 3. Se calculeaza
= 6

deoarece bpp = bqq


3

Se ia

i se calculeaza matricea s
1 0

T = 0 cos sin 0 sin cos 0 20 0 0

0 2/2 2/2 0 1/2 2/2 2/2 1 0 20 0 0

B = T t AT = 0 2/2 2/2 0 2/2 2/2

Rezulta ca valorile proprii ale matricei A sunt 1 = 20, 2 = 12, 3 = 4.

0 0

8 4 4 8

= 0 0

12 0 0 4

Metoda puterii
Este

o metoda numerica pentru aproximarea celei mai mari valori

proprii n modul i a unui vector propriu corespunzator. s proprii pozitive. Fie x(0) Rm astfel nct Ax(0) = 0. Denim recurent denit prin z (n) :=
1 x(n) , n N . x(n)
n

Vom considera cazul n care matricea A Mm(R) are toate valorile

irul (x(n))nN prin relaia x(n+1) := Ax(n) , n N . Notam cu (z(n))nN irul s t s Atunci
lim Az (n) , z (n) = ,

unde este cea mai mare valoare proprie a matricei A i s


n

lim z (n) = z,

unde z este un vector propriu ataat valorii proprii (n practica, cals culul iterativ se oprete atunci cnd diferena n modul dintre valorile s t
Az (n) , z (n)

i Az (n1) , z (n1) este mai mica dect ,eroarea de aproximare s

data). Metoda permite i determinarea celorlalte valori proprii astfel: s

Se considera matricea

unde (1, x2 , . . . , xn ) este un vector propriu corespunzator valorii pro prii . Acest vector se obine astfel: t
xi = zi , i = 2, m, z1 5

1 0 x2 1 T = ... ... xn 0

...

0 ... 0 , ... ... ... 1

Se calculeaza matricea B = T 1AT. Se scrie matricea B sub forma


B= b11 B12 0 B22 ,

cu B22 matrice de ordinul n 1.

Cu algoritmul descris mai sus se determina cea mai mare valoare proprie a matricei C = B22 . Aceasta este a doua valoare proprie (n ordine descrescatoare) a matricei A.

Acest algoritm se aplica n continuare pentru matricea C.

Algoritmul LU
Fie A o matrice patratica de ordin m. Descompunem A = L1U1 cu
L1 , U1

matrice triunghiulare (vezi metoda LU de la "Metode directe de

rezolvare a sistemelor de ecuaii liniare" - matricea ). Construim irul t s de matrici (Bn )n astfel:
B0 = A = L1 U1 , B1 = U1 L1

Descompunem B1 = L2U2 , luam B2 = U2 L2 , . . . , Descompunem Bn = Ln+1 Un+1, luam Bn+1 = Un+1 Ln+1, . . . proprii ale matricei A (n practica calculul iterativ se oprete atunci cnd, s am notat elementele matricei Bn ).
(n) pentru orice i = 1, m, avem bii b(n1) < , o eroare data, unde cu (b(n))i,j ii ij

Cnd n , elementele de pe diagonala lui Bn converg la valorile