Documente Academic
Documente Profesional
Documente Cultură
unde k,j=1,2, . . . ,n
Exemplul 1. Fie matricea A=[0 1 1;1 0 1;1 1 0]. Sa se stabileasca domeniul in care
sunt localizate valorile proprii ale matricii.
Rezolvare: Folosind formulele (14.4) rezulta r1=2, r2=3, r3=2 . Rezulta ca valorile
proprii ale matricii A se gasesc in reuninunea domeniilor circulare
{z||z-1|≤2} ∪ {z||z|≤3} ∪ {z||z|≤2}
9.2. METODE DE CALCUL PENTRU VALORILE PROPRII
Pe langa metoda analitica , metodele numerice de determinare a vectorilor si valorilor
proprii sunt de doua feluri: metode directe si metode indirecte (iterative si partial
iterative); pentru matrici hermitiene exista metode specifice.
REZOLVAREA ECUATIEI CARACTERISTICE SI OBTINEREA VECTORILOR PROPRII
9.2.1.⇒ METODA ANALITICA
Exemplul 2. Fie matricea A=[0 1 1;1 0 1;1 1 0]. Sa se determine valorile si vetorii
proprii asociati matricii A. Sa se verifice teorema lui Gersgorin.
Rezolvare: Polinomul caracteristic al matricii A este PA(λ)= λ3-3*λ+2. Din PA(λ)=0
rezulta valorile proprii λ1=2, λ2=-1, λ3=-1. Folosind relatia (14.3) calculam vectorii
proprii
Pentru λ2=λ3=-1 se obtine pentru vectorii proprii x2= x3= (x1, x2, x3)T , sistemul liniar
omogen
x1+x2+x3=O
x1+x2+x3=O
x1+x2+x3=O
care inafara solutiei banale are si solutiile x2= x3=(α, β, -(α+β))T unde α, β∈ R-{0}
Pentru λ1=2 se obtine pentru vectorul propriu x1=(x1, x2, x3)T ,sistemul liniar omogen
-2*x1+x2+x3=O
x1-2*x2+x3=O
x1+x2-2*x3=O
care inafara solutiei banale are si solutiile x1=(γ, γ, γ)T unde γ ∈ R-{0}
Daca se considera α=β=γ=1 si se normalizeaza vectorii x1, x2, x3 se obtin vectorii
proprii x2=[0.40825 0.40825 -0.81650]T, x3=[ 0.70711 -0.70711 0.00000]T,
x1=[0.57735 0.57735 0.57735]T (baza oronormala a spatiului vectorial R3/R in care
matricea A capata forma diagonala)
Verificarea ceruta rezulta din Exemplul 1
⇒ Metoda numerica in Octave/Matlab. In Octave, calculul polinomului caracteristic al
matricii A se face folosind functia poly(A), calculul valorilor proprii si a vectorilor
proprii se face folosind functia eig(A). Astfel
octave#1> A=[0 1 1;1 0 1;1 1 0];p=poly(A), valori_proprii=roots(p)
octave#2> [V,lambda]=eig(a) # Returneaza rezultatele
p = 1.00000 0.00000 -3.00000 -2.00000
lambda = 2.00000 -1.00000 -1.00000
V=
0.40825 0.70711 0.57735
0.40825 -0.70711 0.57735
-0.81650 0.00000 0.57735
lambda=
-1.00000 0.00000 0.00000
0.00000 -1.00000 0.00000
0.00000 0.00000 2.00000
9.2.2.⇒ METODE DIRECTE. Dintre metodele directe vom mentiona metoda Lavrentiev-
Fadeev si metoda Krilov. Se prezinta metoda Lavrentiev-Fadeev
► Metoda Lavrentiev-Fadeev
Algoritm:
nxn
1. Fie o matrice A∈R Se determina coeficientii ak ,k=1,2, . . ., n+1 ai ecuatiei caracteristice (14.2) astfel:
(1)
Pas_1: Se considera a1=1 si se initiaza primul pas de iteratie considerand matricea ajutatoare C =A si
n
apoi a 2 = − ∑ c kk(1) .
k =1
(k) (k) (k-1)
Pas_k=2,3, . . .Pentru pasii k=2,3, … ,n , matricea ajutatoare C se obtine astfel C =A*( C +ak*I) iar
n
1
coeficientii folosind formula a k +1 = − ∑
k k =1
c kk( k )
2. Se calculeaza valorile proprii prin rezolvarea ecuatiei caracteristice PA(λ)=0
3. Se determina vectorii proprii pentru valorile proprii gasite
Exemplul 3. Sa se aplice metoda Lavrentiev-Fadeev pentru problema de la exemplul 2.
Pas_1: Se considera a1=1 si matricea ajutatoare C(1)=A. Rezulta a2=0
Pas_2: Se calculeaza C(2)=A*( C(1)+0*I3)= [0 1 1;1 0 1;1 1 0]* [0 1 1;1 0 1;1 1 0]=[2 1 1;1 2 1;1 1 2].
Rezulta a3=-3
Pas_3: Se calculeaza C(3)=A*( C(2)-3*I3)= [0 1 1;1 0 1;1 1 0]* [-1 1 1;1 -1 1;1 1 -1]=[2 0 0;0 2 0;0 0 2].
Rezulta a4=-2
Pas_3: Rezulta ecuatia caracteristica PA(λ)= λ3-3* λ-2
Pas_4: Rezulta ecuatia caracteristica λ3-3* λ-2=0 care are valorile proprii λ1=2, λ2=-1, λ3=-1
Pas_5: Calculul vectorilor proprii. Pentru valoarea proprie λ1=2 se obtine pentru vectorul propriu x1
conform relatiei (14.3) sistemul
-2*x1+x2+x3=O
x1-2*x2+x3=O
x1+x2-2*x3=O
Daca se considera x3=1, rezulta x2=x2=1. Daca facem normalizarea vectorului x1 se obtine
vectorul propriu x1 =[0.57735 0.57735 0.57735]T. Se procedeaza la fel pentru valorile proprii
λ2=λ3=-1
9.2.3.⇒ METODE ITERATIVE. Dintre metodele iterative vom mentiona metoda lui
Rutishauser (factorizarea LR) si metoda bazata pe factorizarea QR. Se prezinta metoda
Rutishauser
► Metoda lui Rutishauser (bazata pe factorizarea LR Doolittle)
Algoritm:
nxn
1. Fie o matrice A∈R
(0) (1) (1)
.Se porneste algoritmul astfel: se initializeaza A =A= L *R
(k-1) (k) (k)
2. Pentru pasii k=1,2, . . .ai pricesului iterativ se efectuiaza facrorizarea Doolittle A =L *R si rezulta
(k) (k) (k) (k) (k)
factorii L si R . La acelasi pas k se calculeaza A = R * L
3. Procesul iterativ se termina atunci cand | lij( k ) |≤ ε , i = 2,3,..., n; j = 1,2,..., i − 1 cu ε dat
4. Valorile aproximative ale valorilor proprii rezulta ca fiind λi ≈ rii( k ) ≈ a ii( k ) , i=1,2, . . .,n
Exemplul 4. Sa se aplice metoda lui Rutishauser pentru problema de la exemplul 2 cu ε=10-3
Pas_1: Se initializeaza A(0)=A= L(1)*R(1)=[1 0 0;0 1 0;1 1 1]*[1 0 1;0 1 1;0 0 -2] si se calculeaza A(1)=
R(1)*L(1)= [1 0 1;0 1 1;0 0 -2]* [1 0 0;0 1 0;1 1 1]=[2 1 1;1 2 1;-2 -2 -2]. Se testeaza |l(1)ij|> ε cu i=2,3 si
j=1,2. Algoritmul continua
Pas_2: Se calculeaza factorizarea A(1)=A= L(2)*R(2)=[1 0 0;0.5 1 0;-1 -0.66667]*[2 1 1;0 1.5 0.5;0 0 -
0.66667] si se calculeaza A(2)= R(2)*L(2)= [1.5 0.3333 1;0.25 1.16 0.5;0.6666 0.4444 -0.66667]. Se
testeaza |l(2)ij|> ε cu i=2,3 si j=1,2. Algoritmul continua
……………………..
Algoritmul se continua pana cand | lij( k ) |≤ ε , i = 2,3; j = 1,2
Observatie: In Octave/Matlab factorizarea LR se obtine aplicand functia lu
9.2.4.⇒ METODE PARTIAL ITERATIVE. In anumite probleme se cere calculul valorilor
proprii extreme. Astfel pentru calculul valorii proprii de modul maxim se foloseste metoda
lui Rayleigh iar pentru calculul valorii proprii de modul minim se foloseste metoda puterii
inverse. Se prezinta metoda lui Rayleigh
► Metoda lui Rayleigh
Algoritm:
nxn
1. Fie o matrice A∈R
1 (0)
.Se porneste algoritmul astfel: se initializeaza vectorul propriu x =x ales arbitrar
2. Se introduce un vector auxiliar y. Pentru pasii k=1,2, . . .ai pricesului iterativ se calculeaza vectorul
(k) (k-1) (k) 1
auxiliar y =A*x . La acelasi pas se calculeaza noua valoare a vectorului propriu x a lui x conform
1
formulei x (k ) = y ( k ) , unde λk = max i (| y i( k ) |), i = 1,2,..., n
λ k
3. Procesul iterativ se termina atunci cand | xi( k ) − xi( k −1) |≤ ε , i = 1,2,..., n cu ε dat
4. Valoarea aproximativa a valorii proprii cautate si a vectorului propriu corespunzator rezulta ca fiind
λ = λ( k ) si x1 = x ( k ) , i=1,2, . . .,n
Exemplul 5. Sa se aplice metoda lui Rayleigh pentru problema de la exemplul 2 cu ε=10-2
Pas_1: Se initializeaza vectorul propriu domonant in modul x1=x(0)=[1 1 0]T .
Pas_2: Se calculeaza prima aproximatie a vectorului propriu, y(1)=A* x(0)= [0 1 1;1 0 1;1 1 0]* [1 1 0]T=[1
1 2]T. Se face normalizarea referitor la valoarea maxima din y(1) si rezulta x(1)=[0.5 0.5 1]T
Pas_3: Se calculeaza a doua aproximatie a vectorului propriu, y(2)=A* x(1)= [0 1 1;1 0 1;1 1 0]* [0.5 0.5 1]T
=[1.5 1.5 1]T. Se face normalizarea referitor la valoarea maxima din y(2) si rezulta x(2)=[1 1 0.66667]T
……………………..
Algoritmul se continua pana cand | xi( k ) − xi( k −1) |≤ ε , i = 1,2,..., n
9.2.5.⇒ METODE PENTRU MATRICI HERMITIENE. Matricile hermitiene (matrici patratice
simetrice si cu elemente reale) au proprietatea ca toate valorile lor proprii sunt reale.
Pentru astfel de matrici se poate aplica oricare dintre metodele deja prezentate dar exista
si metode specifice. Dintre metodele specifice matricilor hermitiene remarcam metoda
Jacobi, metoda lui Givens si metoda lui Hauseholder. Se prezinta metoda lui Jacobi
Algoritm:
nxn
1. Fie o matrice A∈R hermitiana adica aij=aji cu i,j=1,2,…,n.Se porneste algoritmul astfel: se initializeaza
(0)
A =A
(k) (k) T (k-1) (k) (k)
2. Pentru pasii k=1,2, . . .ai pricesului iterativ se determina A =(S ) *A * S unde S se alege astfel incat
(k)
sa determine anularea elementului nediagonal maxim in modul al matricii A .
3. Procesul iterativ se termina atunci cand | aij( k ) |≤ ε , i = 2,3,..., n; j = 1,2,..., i − 1 cu ε dat
4. Valorile aproximative ale valorilor proprii rezulta ca fiind A (k ) = Λ unde Λ este o matrice diagonala ,
avand pe diagonala valorile proprii ale matricii A
APLICATII