Sunteți pe pagina 1din 10

Nicolae Danet

METODE NUMERICE

VALORI SI VECTORI PROPRII

Calculul in Mthcad
Definitii Fie A o matrice patratica cu n linii si n coloane cu elemente reale.

a1 , 1 a2 , 1 A= .... an , 1

a1 , 2 .... a1 , n a2 , 1 .... a2 , n .... .... .... an , 2 .... an , n

Se numeste vector propriu al matricei A un vector nenul x din Rn

x1 x2 x= ... xn
pentru care exista un numar real l astfel incat are loc egalitatea A x = x Numarul real l pentru care are loc egalitatea de mai sus se numeste valoarea proprie corespunzatoare vectorului propriu x.

Valori si vectori proprii 1 0 3 A := 3 2 3 3 0 1

Fie matricea

1) Determinati valorile si vectorii ai matricei A. 2) Cercetati daca matricea A este diagonalizabila. In caz afirmativ aduceti matricea A la forma diagonala. Solutie folosind calculul numeric. 1. Determinarea valorilor proprii Determinarea valorilor proprii ale unei matrice se face in Mathcad folosind functia eigenvals

Valori si vectori proprii (Calcul in Mathcad).mcd / Pag. 1 din 3

Nicolae Danet

METODE NUMERICE

:= eigenvals ( A)

2 =2 4

2. Determinarea vectorilor proprii Pentru determinarea vectorilor proprii ai matricei A se foloseste functia eigenvecs. 0 0.5 0.577 C = 1 0.707 0.577 0 0.5 0.577

C := eigenvecs ( A)

Vectorii proprii sunt determinati in forma normalizata ORIGIN 1

0 1 C = 1 0 0.5 2 C = 0.707 0.5 0.577 3 C = 0.577 0.577

1 C =1

2 C =1

3 C =1

In continuare determinam vectorii proprii care corespund fiecarei valori proprii si verificam acest lucru pornind de la definitie.

1 = 2

0 1 C = 1 0

0 1 1 A C 1 C = 0 0

2 = 2

0.5 2 C = 0.707 0.5

0 2 2 A C 2 C = 0 0

3 = 4

0.577 3 C = 0.577 0.577

0 3 3 A C 3 C = 0 0

Valori si vectori proprii (Calcul in Mathcad).mcd / Pag. 2 din 3

Nicolae Danet

METODE NUMERICE

v1 := eigenvec ( A , 1)

0.457 v1 = 0.763 0.457 0.457 v2 = 0.763 0.457 0.577 v3 = 0.577 0.577

v1 = 1

v2 := eigenvec ( A , 2)

v2 = 1

v3 := eigenvec ( A , 3)

v3 = 1

3. Diagonalizarea matricei A Teorema. Matricea A este diagonalizabila daca si numai daca exista o baza a spatiului R3 formata din vectori proprii ai lui A. Acesata afirmatie este echivalenta cu: A este diagonalizabila daca si numia daca matricea C are determinantul nenul. Se calculeaza determinantul matricei C. C = 0.577

Deoarece determinantul lui C este nenul, matricea A este diagonalizabila. Forma diagonala a matricei A este 2 0 0 C A C = 0 2 0 0 0 4
1

Valori si vectori proprii (Calcul in Mathcad).mcd / Pag. 3 din 3

Nicolae Danet

METODE NUMERICE

VALORI SI VECTORI PROPRII

Metoda puterii
Metoda puterii (pas cu pas) Determinati cu o precizie de sase zecimale cea mai mare valoare proprie a matricei 1 2 1 A := 3 5 2 1 4 3 si vectorul propriu corespunzator. Solutie. Matricea A are o valoare proprie principala deoarece toate elementele sale sunt strict pozitive (Teorema lui Perron). Alegem un vector initial nenul oarecare 1 0 z := 1

ORIGIN 0

Efectuam iteratiile de mai jos pana cand primele sase zecimale din doua valori succesive ale catului Rayleigh q k coincid. k k z y := k z k + 1 k := A y z k k + 1 qk := y z

k := 0

0.577 k y = 0.577 0.577

qk = 7.333333

k := 1

k k z y := k z

k + 1 k := A y z

k k + 1 qk := y z

0.298 k y = 0.745 0.596

qk = 8.066667

Metoda_puterii_pas_cu_pas_1.mcd / Pag. 1 din 3

Nicolae Danet

METODE NUMERICE

k := 2

k k z y := k z

k + 1 k := A y z

k k + 1 qk := y z

0.295 k y = 0.72 0.628


k + 1 k := A y z

qk = 8.009887

k := 3

k k z y := k z

k k + 1 qk := y z

0.295 k y = 0.717 0.632


k + 1 k := A y z

qk = 8.001259

k := 4

k k z y := k z

k k + 1 qk := y z

0.295 k y = 0.717 0.632


k + 1 k z := A y

qk = 8.000158

k := 5

k k z y := k z

k k + 1 qk := y z

0.295 k y = 0.716 0.632


k + 1 k z := A y k k z y := k z

qk = 8.000020

k := 6

k k + 1 qk := y z

0.295 k y = 0.716 0.632

qk = 8.000002

Metoda_puterii_pas_cu_pas_1.mcd / Pag. 2 din 3

Nicolae Danet

METODE NUMERICE

k := 7

k k z y := k z

k + 1 k := A y z

k k + 1 qk := y z

0.295 k y = 0.716 0.632


k + 1 k := A y z

qk = 8.0000003083

k := 8

k k z y := k z

k k + 1 qk := y z

0.295 k y = 0.716 0.632

qk = 8.0000000385

Verificare

1.137 10 8 8 8 A y q8 y = 9.795 10 8 1.163 10 7

Metoda_puterii_pas_cu_pas_1.mcd / Pag. 3 din 3

Nicolae Danet

METODE NUMERICE

VALORI SI VECTORI PROPRII

Metoda puterii
Metoda puterii pentru determinarea tuturor valorilor proprii ale unei matrice Folosind metoda puterii, determinati cu o precizie de cinci zecimale toate valorile proprii si vectorii proprii ai matricei de mai jos. 4 2 1 A := 2 6 3 1 3 5 Solutie. Matricea A este reala, simetrica si are toate elementele pozitive, ceea ce arata ca putem aplica metoda puterii. Alegem un vector initial nenul oarecare, de exemplu 1 z := 1 1 Dimensiunea matricei n := cols ( A ) n=3 ORIGIN 1

Determinarea valorii proprii principale Efectuam iteratiile pana cand primele cinci zecimale din doua valori succesive ale catului Rayleigh qk coincid. Subprogram pentru determinarea valorii proprii de modul maxim (valoarea proprie principala) Numarul de iteratii estimat: N := 5

Acest numar poate fi modificat ulterior pentru satisfacerea preziziei date. valprmax ( A , z , N) := for k 0 .. N y z z

z A y q y z q 1 := valprmax ( A , z , N) 1 = 9.41882660594575

2 := valprmax ( A , z , N + 1) 2 = 9.41883190113108 1 2 = 5.295 10


6

Metoda_puterii_pt_toate_valorile_proprii.mcd / Pag. 1 din 4

Nicolae Danet

METODE NUMERICE

Valoarea proprie principala este

1 := 2

1 = 9.41883

Vectorul propriu corespunzator valorii proprii principale se determina cu subprogramul de mai jos. vecprmax ( A , z , N ) := for k 0 .. N y z z

z A y y 1 v := vecprmax ( A , z , N + 1)

0.375 1 v = 0.726 0.577

Verificare

1.855 10 3 1 1 A v 1 v = 7.439 10 5 1.111 10 3

Determinare valorii proprii de modul minim Subprogram pentru determinarea celei mai mici valori proprii a unei matricei. Redefinim valoarea numarului de iteratii estimat. valprmin ( A , z , N ) := for k 0 .. N y z z N := 12

z lsolve ( A , y) q y z 1 q 1 := valprmin ( A , z , N ) 2 := valprmin ( A , z , N + 1) 1 2 = 9.366 10


6

1 = 2.19441330981206 2 = 2.19440394430960

Cea mai mica valoare proprie a matricei A este

3 := 2

3 = 2.19440

Metoda_puterii_pt_toate_valorile_proprii.mcd / Pag. 2 din 4

Nicolae Danet

METODE NUMERICE

Vectorul propriu corespunzator acestei valori proprii este determinat de subprogramul de mai jos. vecprmin ( A , z , N) := for k 0 .. N y z z

z lsolve ( A , y) y 3 v := vecprmin ( A , z , N + 1)

0.444 3 v = 0.687 0.576

Verificare

2.877 10 3 3 3 A v 3 v = 1.411 10 4 2.043 10 3

Determinarea celorlalte valori proprii ale matricei Deoarece valorile proprii extreme sunt 3 = 2.1944 1 = 9.41883

Pentru determinarea celelalte valori proprii vom considera o constanta situata intre aceste valori. Vom da lui , pe rand, una din valorile 3,4,5,6,7,8. Fie := 3

Subprogramul de mai jos determina o valoare propie intermediara a unei matrice. N := 8 valpr ( A , z , N , ) := for k 0 .. N y z z

z lsolve ( A identity ( 3) , y) q y z 1 + q 1 := valpr ( A , z , N , ) 2 := valpr ( A , z , N + 1 , ) 1 2 = 5.034 10


6

1 = 3.38677669896397 2 = 3.38677166459008

Metoda_puterii_pt_toate_valorile_proprii.mcd / Pag. 3 din 4

Nicolae Danet

METODE NUMERICE

Valoarea proprie determinata este

2 := 2

2 = 3.38677

Vectorul propriu corespunzator acestei valor proprii se obtine cu subprogramul de mai jos. vecpr ( A , z , N , ) := for k 0 .. N y z z

z lsolve ( A identity ( 3) , y) y 2 v := vecpr ( A , z , N + 1 , )

0.815 2 v = 0.040 0.578

Verificare

8.527 10 4 2 2 A v 2 v = 1.330 10 3 1.118 10 3

Concluzie 9.419 = 3.387 2.194 0.375 0.815 0.444 v = 0.726 0.04 0.687 0.577 0.578 0.576

Valorile proprii ale matricei A

Vectorii proprii ai matricei A

Folosind functiile din Matcad avem 3.38677 eigenvals ( A) = 2.19440 9.41883 0.816 0.441 0.374 eigenvecs ( A) = 0.039 0.687 0.726 0.577 0.577 0.577

Metoda_puterii_pt_toate_valorile_proprii.mcd / Pag. 4 din 4