Sunteți pe pagina 1din 19

Capitolul 4

CALCULUL VALORILOR I VECTORILOR


PROPRII

4.1 Formularea problemei


Se consider o matrice ptratic real, de ordinul n, notat cu A.
Definiie:
Oricare ar fi matricea A nn , un numr n general complex, C , se
numete valoare proprie a matricei A dac exist un vector x C n1 , x 0 n ,
astfel nct
Ax =x. (4.1)
n acest caz, x se numete vector propriu al matricei A, asociat valorii proprii
.
Relaia de definiie (4.1) se poate scrie i sub forma: ( I n A) x = 0 n ,
x 0 n , de unde rezult c matricea I n A trebuie s fie singular.
n continuare, se construiete un polinom n variabila , definit prin relaia:
p n ( ) = det( I n A ) , (4.2)

numit polinom caracteristic al matricei A. Acesta este un polinom cu coeficieni


reali, de gradul n: p n ( ) = n + 1 n 1 + + n 1 + n , unde coeficienii
i , i = 1,..., n .
Deoarece matricea I n A este singular, rezult c valoarea proprie
verific ecuaia caracteristic:
p n ( ) = 0 . (4.3)

Conform teoremei fundamentale a algebrei, orice polinom de gradul n are n


rdcini. Ca urmare, poate fi enunat urmtorul rezultat.
Teorem de existen:
Orice matrice ptratic real, de ordin n, are exact n valori proprii, n
general complexe i nu neaprat distincte, care coincid cu rdcinile
110 4. Calculul valorilor i vectorilor proprii

polinomului caracteristic ataat matricei. Dac exist valori proprii complexe,


atunci acestea apar n perechi complex conjugate.
Definiie:
Mulimea valorilor proprii ale unei matrice ptratice real A,
( A ) = { 1 ( A ),..., n ( A )} , se numete spectrul matricei A.

O consecin a teoremei enunate anterior este:


Orice matrice A nn are cel puin un vector propriu.
Altfel spus, fiecrei valori proprii i ( A ), i = 1,..., n , i corespunde cel
puin un vector propriu x i aparinnd nucleului matricei i I n A :
x i N ( i I n A ) . Vectorii proprii corespunztori valorilor proprii complex
conjugate pot fi alei complex conjugai.
Definiie:
Matricea A nn se numete matrice simpl, dac ea admite n vectori
proprii liniar independeni. Aceti vectori proprii constituie o baz n spaiul
C n1 , numit baz proprie a matricei A.
Astfel, se poate sintetiza o matrice pe baza celor n vectori proprii
x i , i = 1,..., n , dup cum urmeaz: X = [ x 1 x 2 x i x n ] . Folosind
relaia (4.1) pentru toate valorile proprii ale matricei A, atunci se poate scrie:
A X = X , unde = diag{ 1 ,..., i ,..., n } este o matrice diagonal.
Matricea se numete forma canonic diagonal a matricei A. Aadar, orice
matrice ptratic real, de ordin n, este diagonalizabil peste mulimea
numerelor complexe C : = X 1 A X .
Metodele numerice pentru calculul automat al valorilor i vectorilor proprii
nu se bazeaz pe rezolvarea ecuaiei caracteristice asociat matricei A, definit
prin relaiile (4.2) i (4.3). Astfel, de multe ori, rezolvarea ecuaiei caracteristice
se dovedete a fi imposibil. n continuare sunt expuse dou din motivele pentru
care, n practic, nu se prefer rezolvarea ecuaiei caracteristice.
1. Plecnd de la matricea A, calculul coeficienilor polinomului caracteristic,
i , i = 1,..., n , necesit un volum de calcul ridicat. Ca urmare, aceti
coeficieni sunt afectai, n general, de erori de rotunjire.
O metod uzual de determinare a acestora este algoritmul Leverrier
Fadeeva, care const n urmtoarele:
atribuie B1 I n
atribuie 1 ( 1 / 1) tr ( B1 A )
pentru k = 2, n execut
4.1 Formularea problemei 111

atribuie B k B k 1 A + k 1 I n
atribuie k ( 1 / k ) tr ( B k A )

Acest algoritm necesit un numr de operaii n virgul mobil de ordinul lui
n 4 . n descrierea anterioar, tr(Z) este notaia pentru urma matricei oarecare
n
Z, definit ca fiind: Z = [z ij ]1i , j n , tr ( Z) = z i ,i .
i =1

2. n general, problema rezolvrii ecuaiilor polinomiale este o problem prost


condiionat, n sensul c mici perturbaii n coeficienii polinomului conduc
la perturbaii mari n rdcinile calculate (a se revedea Exemplul 1.12,
subcapitolul 1.3.1 i Exemplul 1.13).
Metodele practice pentru calculul numeric automat al valorilor proprii sunt,
n esen, proceduri iterative de aducere a matricei A la anumite forme
(canonice) simple, prin intermediul unor transformri de asemnare. Deoarece
forma canonic Jordan este foarte sensibil la perturbaii (Exemplul 1.13), n
practic se utilizeaz aa-numita form canonic Schur, obinut prin
transformri ortogonale de asemnare.
Aplicaii:
n general, calculul valorilor i vectorilorproprii intervine ca etap esenial
n analiza i sinteza sistemelor dinamice liniare (continue de timp), n probleme
legate de:
studiul stabilitii (interne);
studiul rspunsului sistemelor.
Astfel, n ceea ce privete analiza stabilitii sistemelor automate, tehnicile
matriceale bazate pe localizarea valorilor proprii au o deosebit importan. n
funcie de natura problemei, uneori este suficient a determina plasarea valorilor
proprii ale unei matrice n planul complex, alteori este absolut necesar
determinarea cu precizie a valorilor proprii. Pentru a rspunde acestor cerine
diferite, au fost abordate metode ce necesit un efort de calcul adecvat i a cror
aplicare eficient presupune utilizarea tehnicii de calcul:
localizarea valorilor proprii prin metoda inegalitilor lui Ghergorin
(a se vedea problema propus P4.2);
calculul valorilor i vectorilor proprii bazat pe algoritmul QR i forma
canonic Schur (coninutul prezentului capitol).
n studiul rspunsului sistemelor dinamice liniare se disting urmtoarele
cazuri:
112 4. Calculul valorilor i vectorilor proprii

rspunsul liber pentru care evoluia strii sistemului este cauzat numai
de starea sa iniial la un anumit moment de timp t 0 i n lipsa oricrui
semnal exterior;
rspunsul forat pentru care evoluia n timp a semnalului de ieire este
cauzat de aplicarea unui semnal la intrarea sistemului.
Pentru rezolvarea unor astfel de probleme intervine calculul matricei
variante n timp: ( t ) = e At , unde:
A nn este o matrice constant;
t este o variabil scalar cu semnificaia de moment de timp,
oarecare dar fixat.
Matricea ( t ) este ntlnit sub denumirea de matrice de tranziie.
n continuare, se noteaz B = A t , B nn , t oarecare. n urma
calculului valorilor i vectorilor proprii pentru matricea B, se obin urmtoarele:
D = diag{d i ,i }, d i ,i = i , i ( B), D C nn , o matrice diagonal care
conine, pe diagonala principal, valorile proprii ale matricei B;
V C nn , o matrice coninnd, corespunztor, n fiecare coloan,
vectorii proprii ai matricei B.
Astfel, valoarea proprie din poziia (i,i) a matricei D corespunde vectorului
propriu din coloana numrul i a matricei V ( i = 1,..., n ).
Ca urmare, calculul matricei e B implic utilizarea relaiei:
d1,1 d n ,n
V diag{e ,..., e } V 1 ,
unde V 1 este inversa matricei V. Cum, n general, V este o matrice cu
elemente n corpul numerelor complexe, pentru calculul inversei ei se poate
aplica metodologia expus n subcapitolul 2.3.4 privitoare la rezolvarea
sistemelor cu elemente numere complexe.
d i ,i
De asemenea, pentru calculul elementelor de tip e , se ine cont de
relaiile:
d i ,i
d i ,i = ri + j c i , e = e ri cos(c i ) + j e ri sin(c i ), i = 1,..., n; j 2 = 1 .

4.2 Forma canonic Schur

Definiie:
Dou matrice A, A ' nn se numesc ortogonal asemenea, dac exist o
matrice ortogonal Q nn , astfel nct:
A' = QT A Q . (4.4)
4.2 Forma canonic Schur 113

Matricele ortogonal asemenea au proprietatea esenial c au aceleai valori


proprii:
i (A) = 'i (A ' ), i = 1,..., n .
Relaia dintre vectorii proprii ai dou matrice ortogonal asemenea este:
'
x i = Q x i , i = 1,..., n ,
'
unde prin x i , x i s-au notat vectorii proprii ai matricei A i, respectiv, A ' .

Definiie:
O matrice T nn se spune c este n form bloc superior triunghiular,
dac are urmtoarea structur:
T11 T12 T1m
0 T22 T2 m
T= , Tii pi pi ,


0 0 Tmm

unde Tii , i = 1,..., m sunt submatrice ptratice. Dac, n plus, blocurile


diagonale sunt matrice de ordin maxim 2, atunci se spune c matricea este n
form cvasi-superior triunghiular.
Teorem de existen:
~
Oricare ar fi matricea A nn , exist o matrice ortogonal Q nn ,
astfel nct matricea:
~ ~
S = QT A Q (4.5)

este n form cvasi-superior triunghiular. Blocurile diagonale de ordin nti


ale matricei S reprezint valorile proprii reale ale matricei A i ale matricei S,
iar blocurile diagonale de ordin doi au valori proprii complex conjugate
reprezentnd valori proprii complex conjugate ale matricelor A i S.
Definiie:
Matricea S din relaia (4.5) se numete forma canonic Schur real a
~
matricei A. Coloanele ~
q k , k = 1,..., n ale matricei Q se numesc vectori Schur
ai matricei A. Acetia fiind vectori ortogonali, formeaz o baz ortogonal n
n1 numit baz Schur a matricei A.
Demonstraia teoremei anterioare se realizeaz innd cont de ambele situaii
care pot apare, anume cazul valorilor proprii reale i cazul valorilor proprii
complex conjugate.
114 4. Calculul valorilor i vectorilor proprii

1. Fie (A), , i fie x vectorul propriu asociat valorii proprii . Fr


T
a restrnge generalitatea, se presupune c x x =|| x || 22 = 1 . Se construiete
matricea ortogonal Q astfel: Q = [ x Y], Y n( n 1) , unde Y este o
matrice de completare, avnd coloanele ortogonale cu vectorul x i
ortogonale ntre ele:
x Im(Y) Y T x = 0 ( n 1)1 . (4.6)

Cu matricea Q astfel construit i innd cont de definiia (4.1), produsul


A Q este:
A Q = A [x Y] = [A x A Y ] = [ x A Y] .
Dar, conform definiiei (4.4), rezult: A Q = Q A ' , i deci:
xT xT x *
' T
A = Q A Q = [ x A Y] = . (4.7)
Y T Y x
T
Y A Y
T

T 2
Cum s-a fcut presupunerea c x x =|| x || 2 = 1 , folosind relaia (4.6)
egalitatea (4.7) devine:
*
' ( n 1)( n 1)
A = , B ,
0 B
( n 1)1
n care s-a notat prin B matricea Y T A Y .
n concluzie, dac , exist o matrice ortogonal Q, astfel nct
aplicnd aceasta matricei A, se obine o matrice ortogonal asemenea, A ' .
Aceasta din urm are pus n eviden un bloc diagonal de ordinul nti care
coincide chiar cu valoarea proprie real a matricei iniiale A.
2. Fie 1, 2 = j , , , 0 , o pereche de valori proprii complex
conjugate ale matricei A. Fie atunci, u j v vectorii proprii complex
conjugai asociai valorilor proprii 1, 2 C . Se construiete matricea
X n2 de forma: X = [ x 1 x 2 ] , unde x 1 , x 2 formeaz o baz
ortogonal pentru subspaiul imagine Im([u v ]) . Astfel, se poate scrie
relaia:
A X = X M, M 22 ,
unde matricea M satisface la relaia:
det( I 2 M) = 0 1, 2 = j .
Se construiete matricea ortogonal Q ' de forma:
4.3 Algoritmul QR pentru calculul formei canonice Schur 115

Q ' = [X Y ], Y n( n 2 ) ,
unde Y este o matrice de completare avnd coloanele ortogonale ntre ele. n
plus:
Y T X = 0 ( n 2)2 .
Atunci, urmnd un procedeu analog cu cel descris la punctul 1 al
demonstraiei, se obine:
M *
" ' T ' ( n 2 )( n 2 )
A = (Q ) A Q = , C .
0 ( n 2)2 C

n concluzie, dac matricea A are dou valori proprii complex conjugate,
atunci exist o matrice ortogonal Q ' care, aplicat matricei A, s conduc
la o matrice A " ortogonal asemenea cu aceasta. Matricea A " are pe
diagonala principal un bloc de ordinul doi care, la rndul su, are drept
valori proprii, valorile proprii complex conjugate ale matricei A de la care s-
a plecat.
Demonstraia teoremei de existen se obine dac se repet procedurile
prezentate anterior la punctele 1 i 2 asupra matricelor B i, respectiv, C.
Acestea se numesc proceduri de deflaie.
n final se obine o matrice n form cvasi-superior triunghiular care are pe
diagonala principal blocuri de ordin maxim doi. Blocurile de ordinul nti
reprezint chiar valorile proprii reale ale matricei A, iar blocurile de ordin doi,
la rndul lor avnd valori proprii complex conjugate, ofer baza pentru calculul
valorilor proprii complex conjugate ale matricei A.
~
Matricea Q din enunul teoremei se obine prin produsul matricelor de tipul
Q, Q ' de la punctele 1 i, respectiv, 2 ale procedurilor de deflaie.
Observaie:
Matricea S este bloc superior triunghiular, cu blocurile diagonale de ordin
maxim doi, iar fiecare bloc de ordin doi are valori proprii complex conjugate. n
particular, dac matricele A i S au numai valori proprii reale, atunci matricea S
este chiar superior triunghiular.

4.3 Algoritmul QR pentru calculul formei canonice


Schur
Algoritmul QR pentru calculul valorilor i vectorilor proprii construiete un
ir de matrice ortogonal asemenea A 0 = A, A 1 ,..., A k ,... convergent ctre forma
116 4. Calculul valorilor i vectorilor proprii


canonic Schur: A k k S . Altfel spus, considernd matricea
[ ]
[k ]
A k = a ij 1 i , j n
, elementele sale tind la 0 pentru k tinznd la infinit:

a [ijk ] k 0 pentru i j + 2 i exist elemente a [ik,i]+1 k



0 pentru
i=1,...,n-1, astfel nct s fie puse n eviden, pe diagonal, blocuri de ordin
maxim doi.
Se definete irul de matrice {A k }k 0 , A 0 = A , prin urmtoarele relaii de
recuren:
A k k I n = Q k R k , A k +1 = R k Q k + k I n , (4.8)

unde matricea Q k nn este o matrice ortogonal, matricea R k nn este o


matrice superior triunghiular, iar scalarul k se numete deplasare i este
un parametru de accelerare a convergenei.
Se demonstreaz c dac k ( A k ) , atunci matricea R k este o matrice
nesingular. Practic, are loc descompunerea QR a matricei A k k I n prin
triangularizare ortogonal (prima relaie din (4.8)), aa cum s-a descris n
capitolul 3, subcapitolul 3.2.2 . Folosind rezultatele acestei descompuneri, se
calculeaz apoi urmtorul element al irului de matrice (a doua relaie din (4.8)).
Definiie:
irul de matrice {A k }k 0 , A 0 = A , definit prin relaiile (4.8), se numete ir
QR ataat matricei A, iar relaiile (4.8) se numesc pas QR cu deplasare
explicit.
n continuare se enun i demonstreaz urmtorul rezultat.
Propoziie:
Matricele irului QR sunt ortogonal asemenea:
A k +1 = Q Tk A k Q k .

Demonstraia pornete de la relaiile de recuren (4.8), din care rezult:


R k = Q Tk (A k k I n )
. (4.9)
A k +1 = Q Tk (A k k I n ) Q k + k I n = Q Tk A k Q k
Exprimnd matricea A k n funcie de matricea A k 1 i, mai departe,
matricea A k 1 n funcie de matricea A k 2 , folosind relaiile (4.9) rezult:
A k = Q Tk 1 A k 1 Q k 1 T T
A k = Q k 1 Q k 2 A k 2 Q k 2 Q k 1
A k 1 = Q Tk 2 A k 2 Q k 2
i, continund n aceast manier, rezult:
4.3 Algoritmul QR pentru calculul formei canonice Schur 117

A k = Q Tk 1 Q Tk 2 Q1T Q T0 A Q 0 Q1 Q k 2 Q k 1 . (4.10)
k
~ ~
Se noteaz cu Q Tk produsul de matrice Q Tk 1 j , iar cu Q k produsul
j= 0
k
~ ~
Qj . Relaia (4.10) devine: A k = Q Tk A Q k . Pentru k se obine
j= 0
~ ~ ~ ~
Q Tk Q T i Q k Q , iar matricea A k va tinde la matricea S, care este forma
canonic Schur a matricei A.
Algoritmul original QR, descris de relaiile (4.8), este n general consumator
de timp. De aceea se folosete o form optimizat a algoritmului QR cu
deplasare explicit, pentru calculul valorilor i vectorilor proprii. Algoritmul
optimizat cuprinde dou faze, decsrise principial n continuare, iar n detaliu n
subcapitolul urmtor.
Faza I-a este o etap pregtitoare, de obinere a formei superior Hessenberg
a matricei A, printr-un ir de transformri ortogonale de asemnare. Se
noteaz cu H forma superior Hessenberg a matricei A. Matricele A i H sunt
ortogonal asemenea. Matricea H are structura prezentat n Figura 4.1.

A= H=
0

c1 c2 ck cn-2

Fig. 4.1. Forma implementabil a algoritmului QR pentru obinerea formei


canonice Schur: faza I-a

Aadar, matricea H are elementele h ij = 0, j = 1,..., n 2, i = j + 2,..., n . Faza


I-a implic o procedur direct ce se desfoar n n 2 iteraii.
Faza a II-a implic o procedur iterativ cu un numr finit, dar necunoscut
de pai. Plecnd de la forma superior Hessenberg a matricei A, se
construiete un ir de matrice ortogonal asemenea, convergent ctre forma
canonic Schur S. Astfel, se urmrete zerorizarea unor elemente aflate pe
sub-diagonala principal a matricei H atfel nct, n final, s se obin forma
canonic Schur. Figura 4.2 prezint principial rezultatul urmrit.
118 4. Calculul valorilor i vectorilor proprii

s11

0 sii
H= S=
0
0 0 smm

Fig. 4.2. Forma implementabil a algoritmului QR pentru obinerea formei


canonice Schur faza a II-a

Aplicnd n aceast faz algoritmul QR cu deplasare explicit, plecnd de


la matricea superior Hessenberg, se poate demonstra c se obine un ir de
matrice aflate tot n forma superior Hessenberg. Altfel spus, forma superior
Hessenberg este invariant la algoritmul QR.
Astfel, dac matricea H k are pe diagonal structura general de forma:

h [iik ] h [i ,ki +] 1
, h [i +k1],i 0 ,
h [i +k1] .i h [i +k1],i +1

atunci, n urma aplicrii algoritmului QR cu deplasare explicit, i matricea


H k +1 va avea elementul din poziia (i + 1, i) tot nenul. Dac, ns, blocul pus
n eviden va conduce la dou blocuri de ordinul nti, pentru k se
obine urmtoarea structur:

h ii 0
, h [i +k1],i k 0 .
0 h i+1,i +1

Ca urmare, algoritmul QR conduce la rezultatul: | h [i +k1+,1i ] || h [i +k1],i | .


n cazul blocurilor de ordinul nti, inegalitatea anterioar este strict, iar
pentru blocurile de ordin doi, dup un anumit numr de iteraii, inegalitatea
se transform n egalitate.
Ca urmare, pentru detecia blocurilor de ordin nti, se aplic urmtorul test:
dac | h [i +k1+,1i ] | (| h [iik +1] | + | h [i +k1+,1i +] 1 |) atunci
atribuie h [i +k1+,1i ] 0

4.4 Forma implementabil a algoritmului QR cu deplasare explicit 119

Astfel, se vor corecta eventualele erori datorate calculului n virgul mobil.


Observaie:
Dac se aplic direct algoritmul QR asupra matricei iniiale A, atunci fiecare
iteraie necesit un numr de operaii n virgul mobil de ordinul lui n 3 . Dac,
ns, algoritmul QR se aplic formei superior Hessenberg, atunci la fiecare pas
QR numrul de operaii n virgul mobil este de ordinul lui n 2 .

4.4 Forma implementabil a algoritmului QR cu


deplasare explicit
Dup cum s-a artat n cadrul subcapitolului 4.3, forma implementabil a
algoritmului QR cuprinde dou faze detaliate n continuare.
Faza I-a este o faz preliminar, care implic o procedur direct de aducere
a matricei A nn la forma superior Hessenberg, notat cu H. n cadrul
acestei proceduri se folosesc reflectori Householder n scopul anulrii, coloan
cu coloan, a elementelor matricei A situate sub sub-diagonala principal.
Algoritmul care descrie aceast faz este urmtorul:
atribuie A 1 A
pentru k = 1, n 2 execut
* determinare reflector Householder U k +1 astfel nct:
( U k +1 A k ) i,k = 0, i = k + 2,..., n
atribuie A 'k +1 U k +1 A k
atribuie A k +1 A 'k +1 U Tk +1 = A 'k +1 U k +1

atribuie H A n 1

n final, se obine matricea H care reprezint forma superior Hessenberg a


matricei A. Matricea H, astfel obinut, are nule elementele:
h i , j = 0, j = 1,..., n 2, i = j + 2,..., n .

Reflectorii Householder de ordin n i indice k + 1 , U k +1 , k = 1,..., n 2 , sunt


matrice ortogonale i simetrice care se sintetizeaz cu ajutorul relaiei:
T
U k +1 = I n ( u k +1 u k +1 / k +1 ) ,

n care u k +1 = [0 0 u k +1,k +1 u n , k +1 ] T i este complet definit de


relaiile:
120 4. Calculul valorilor i vectorilor proprii

n
k +1 = sign (a [kk+]1, k ) (a [i,kk] ) 2 , u k +1, k +1 = a [kk+]1,k + k +1 ,
i = k +1

u i ,k = a [i ,kk] , i = k + 2,..., n, k +1 = k +1 u k +1,k +1 .


Multiplicarea la dreapta cu matricea U Tk +1 = U k +1 se efectueaz pentru ca
matricea obinut, A k +1 , s aib aceleai valori proprii ca i matricea A k .
Astfel, mergnd din aproape n aproape, matricea A k +1 va avea aceleai valori
proprii ca i matricea iniial, A 1 = A, matricele {A k } k 1 fiind ortogonal
asemenea.
n sintez, tabloul transformrilor este:
U n 1 U 2 A U 2 U n = H .

Notnd cu U = U n 1 U 2 i cu U T = U 2 U n , rezult:

H = U A UT .
Aceast procedur necesit exact n 2 iteraii.
Faza a II-a const ntr-o procedur iterativ, de construcie a unui ir de
matrice ortogonal asemenea, convergent ctre forma canonic Schur, pornind de
la matricea H obinut la finalul primei faze. n cadrul acestei faze de lucru, se
aplic algoritmul QR cu deplasare explicit ntr-o form optimizat, dup cum
se prezint n continuare.
Se pleac de la forma superior Hessenberg a matricei A obinut n faza I-a
i, printr-un ir de transformri ortogonale de asemnare, se urmrete obinerea
formei canonice Schur a matricei A. Scopul este de a anula o parte din
elementele de pe sub-diagonala principal a matricei H astfel nct, n final,
matricea S (forma canonic Schur) s conin pe diagonala principal blocuri de
ordin maxim doi. Blocurile diagonale de ordin doi, dac exist, trebuie s aib
valori proprii complex conjugate.
Algoritmul QR cu deplasare explicit, n forma sa original, parcurge
urmtoarele etape:
1. determinare deplasare ;
2. atribuire H H I n ;
3. descompunere H = Q R , n care R este o matrice superior
triunghiular, iar Q este o matrice ortogonal;
4. atribuire H R Q ;
5. refacere deplasare H H + I n ;
6. corecie matrice H (efectuare test de decuplare);
7. atribuire S H i efectuare teste reluare algoritm QR (de la etapa 1).
4.4 Forma implementabil a algoritmului QR cu deplasare explicit 121

Etapele de la 1 la 6 implementeaz un pas QR cu deplasare explicit i


comport n 1 iteraii n etapa 2, de realizare a descompunerii QR a matricei
H. n continuare se detaliaz aceste etape.
La nivelul etapei 1 se determin deplasarea . Se poate demonstra c viteza
de convergen cea mai mare se obine pentru o alegere a deplsrii de tipul:
= h n ,n (ultimul element de pe diagonala principal a matricei H).
La nivelul etapei 2, deplasarea se scade de pe diagonala principal a matricei
H, lucrndu-se n continuare (etapele 3 i 4) cu aceast nou matrice.
Etapa 3 se refer la descompunerea QR a matricei H obinut la etapa 2.
Descompunerea se poate realiza aplicnd reflectori Householder:
U n 1 U k U 1 H = R ,
unde R este o matrice superior triunghiular. Notnd cu Q T produsul de
matrice U n 1 U k U 1 , se obine: H = Q R .
Matricele U k , k = 1,..., n 1 sunt reflectori Householder de ordin n i indice
k, ele zeroriznd elementele de pe prima sub-diagonal a matricei H:
( U k H) k +1,k = 0 .
Dac se aplic definiia reflectorului Householder, atunci se obine pentru
acesta urmtoarea form:
I k 1 0 ( k 1)1 0 ( k 1)1 0 ( k 1)( n k 1)


01( k 1) 01( n k 1)
Uk = ,
01( k 1) 01( n k 1)


0 ( n k 1)( k 1) 0 ( n k 1)1 0 ( n k 1)1 I n k 1
unde:
= h k ,k / k , = h k +1,k / k , k = sign ( h k , k ) h 2k ,k + h 2k +1,k .

O procedur mai eficient este de a folosi alte matrice ortogonale de


transformare i anume matricele de rotaie plan Givens. Pentru a nelege
principiul modului de lucru al acestora din urm, se consider planul (k + 1, k )
ca n Figura 4.3. Astfel, se rotete sistemul de axe cu unghiul , astfel ca
punctul de coordonate (h k ,k , h k +1,k ) s aib coordonatele ( rk , 0) n noul sistem
de axe, unde rk = h 2k ,k + h 2k +1, k . Aceasta corespunde situaiei n care
vectorului [ h k ,k h k +1,k ] T i se aplic o matrice de rotaie R, de forma:
122 4. Calculul valorilor i vectorilor proprii

ck dk h k ,k h k +1,k
R = cu c k = cos () = , d k = sin () = ,
d k ck rk rk
obinndu-se:
h k ,k rk
R = .
h k +1,k 0

planul (k, k+1)


k+1
(k)r
(k+1)r

hk+1,k (rk, 0)

hk,k
Fig. 4.3. Principiul rotaiei plane

Matricea de rotaie Givens este, n acest caz:


I k 1 0( k 1 ) 2 0( k 1 ) ( n k 1 )


Pk = 0 2( k 1 ) R 0 2( n k 1 ) .


0( n k 1 ) ( k 1 ) 0( n k 1 ) 2 I n k 1
nn

innd cont de faptul c c 2k + d 2k = 1 , se poate arta c:

I k 1 0( k 1 ) 2 0( k 1 ) ( n k 1 )


Pk PkT = 0 2( k 1 ) Q 0 2( n k 1 ) ,


0( n k 1 ) ( k 1 ) 0( n k 1 ) 2 I n k 1
nn

c 2k + d 2k 0 1 0 T
unde Q = 2 2
= , deci Pk Pk = I n .
0 ck + dk 0 1
4.4 Forma implementabil a algoritmului QR cu deplasare explicit 123

Matricea de rotaie plan Givens este ortogonal, ns nu este simetric.


Numrul de operaii pentru sinteza matricei Pk este redus n comparaie cu
volumul de calcul necesar sintezei unui reflector Householder.
n concluzie, la etapa 3, asupra matricei H se aplic rotaiile plane Givens,
obinnd: Pn 1 P1 H = R , n care se noteaz Q T = Pn 1 P1 , Q fiind o
matrice ortogonal. Matricea R este o matrice superior triunghiular.
La etapa 4, matricei R i se aplic, la dreapta, matricea Q definit mai sus, iar
rezultatul obinut se atribuie matricei H: H = R P1T PnT1 .
La etapa 5 se adun deplasarea la elementele de pe diagonala prinicipal,
pentru a pstra nemodificate valorile proprii. Altfel spus, are loc refacerea
deplasrii pe diagonala principal.
La etapa 6 se aplic un test de decuplare. Aplicarea acestuia este justificat
de faptul c , n general, forma superior Hessenberg este invariant la lagoritmul
QR, dup cum s-a menionat principial n subcapitolul anterior. n continuare se
detaliaz acest aspect.
Matricea Pk , aplicat la stnga, acioneaz efectiv asupra blocului
determinat de liniile i, respectiv, coloanele k i k + 1 din matricea H:

h k ,k h k , k +1
, k = 1,..., n 1
h k +1,k h k +1, k +1

conducnd la:

h 'k ,k h 'k ,k +1
.
0 h 'k +1,k +1

Cnd se aplic matricea PkT , la dreapta rezultatului Pk H , blocul anterior


devine:

h "k ,k h "k ,k +1
h "k +1, k h "k +1,k +1

i, n general, | h k +1,k || h "k +1,k | . Inegalitatea este strict dac elementului din
poziia (k + 1, k ) i corespunde un zerou n forma canonic Schur. Acest zerou
pune n eviden blocurile de ordin maxim doi de pe diagonala matricei S sau,
altfel spus, decupleaz blocurile formei canonice Schur, n forma superior
124 4. Calculul valorilor i vectorilor proprii

Hessenberg. Pentru a compensa eventualele erori de rotunjire, se aplic


urmtorul test pentru decuplare:
dac | h "k +1,k |< (| h "k , k | + | h "k +1,k +1 |) atunci
atribuie h "k +1,k 0

Parametrul caracterizeaz precizia dorit a calculelor.
La etapa 7 se aplic testele care condiioneaz reluarea sau nu a
algoritmului QR. Testele realizate n aceast etap au ca punct de plecare
structura formei canonice Schur prezentat n Figura 4.4.
Mi

0 sii 0 sii si,i+1

0
si+1,i si+1,i+1

(a) (b)
Fig. 4.4. Structura formei canonice Schur; (a) bloc de ordinul I; (b) bloc de
ordinul II

Analiznd structura formei canonice Schur, se desprind urmtoarele


concluzii:
nu exist pe sub-diagonala formei canonice Schur dou elemente
consecutive nenule;
dac exist blocuri de ordinul doi pe diagonala matricei S, atunci
acestea trebuie s aib, la rndul lor, valori proprii complex conjugate.
Astfel, testele care se realizeaz la aceast etap sunt:
(T1) dac i {1, 2, ..., n 2} pentru care s i +1,i 0 i s i + 2,i +1 0 atunci
matricea S nu este n forma canonic Schur (reluare de la etapa 1)

(T2) dac / i care s satisfac (T1), dar i {1, 2, ..., n 1} pentru care
s i ,i s i ,i +1
| blocul M i = are valori proprii reale atunci
s i +1,i s i +1,i +1
4.5 Calculul valorilor i vectorilor proprii 125

| matricea S nu este n forma canonic Schur (reluare de la etapa 1)



Dac aceste teste sunt satisfcute (cel puin unul din ele), atunci algoritmul se
reia de la etapa 1.
Tabloul general al transformrilor din faza a doua a algoritmului QR este:
S = [ Pn[ s]1 P1[ s ] ] [ Pn[1]1 P1[1] ] H [( P1[1] ) T ( Pn[1]1 ) T ]
,
[( P1[ s ] ) T ( Pn[ s]1 ) T ]
unde [s] este indexul iteraiei la care se obine forma canonic Schur, cu precizia
impus . Notnd cu P produsul matricelor care nmulesc la stnga matricea H
i cu P T produsul de matrice caree nmulesc la dreapta matricea H, se obine:
P H PT = S .
n urma aplicrii ambelor faze ale formei implementabile a algoritmului QR
asupra matricei A, rezult: P U A U T P T = S . Se noteaz n continuare
~
QT = P U .
~ ~ ~
Atunci, relaia anterioar devine: S = Q T A Q , unde Q = U T P T se
numete matrice general de transformare. Aceast matrice acumuleaz toate
transformrile ortogonale care se aplic matricei A, n vederea obinerii formei
canonice Schur.
n general, se afirm c forma implementabil a algoritmului QR este o
procedur stabil numeric, iar forma canonic Schur calculat pentru o
matrice A, notat prin S , coincide cu forma canonic Schur exact, S, a
matricei A uor perturbat, A = A + E :
S S A + E , || E || <<|| A || .

4.5 Calculul valorilor i vectorilor proprii


Calculul valorilor proprii se realizeaz prin inspecia blocurilor diagonale
ale formei canonice Schur, coninut n matricea rezultat S (a se revedea
Figura 4.4). Astfel:
dac s i +1,i = 0 , atunci pe diagonala principal a formei canonice Schur
este un bloc de ordinul nti, care coincide cu o valoare proprie a sa::
i = s i ,i ;
dac s i +1,i 0 , atunci este un bloc de ordin doi, M i , i rezolvnd
ecuaia:
det( I 2 M i ) = 0 ,
126 4. Calculul valorilor i vectorilor proprii

vor rezulta valorile proprii complex conjugate i , i+1 . Astfel, dac


s i ,i s i ,i +1
blocul de ordinul doi are forma general M i = , valorile
s i +1,i s i +1,i +1
proprii complex conjugate rezult n urma rezolvrii ecuaiei algebrice
de gradul al II-lea:
2 (s i ,i + s i +1,i +1 ) + (s i ,i s i +1,i +1 s i +1,i s i ,i +1 ) = 0.
Inspecia formei canonice Schur se realizeaz asupra elementelor aflate pe
prima sub-diagonal a matricei S, pentru i = 1,..., n 1 .
Avnd calculate valorile proprii, vectorii proprii ai matricei S se pot calcula
cu relaia:
S r i = i r i , i = 1,..., n ,
unde r i este vectorul propriu al matricei S corespunztor valorii proprii i .
Atunci:
~
x i = Q r i , i = 1,..., n ,
unde x i este vectorul propriu al matricei A corespunztor valorii proprii i , iar
~
Q este matricea ortogonal general de aducere a matricei iniiale A la forma
canonic Schur.
Se realizeaz, n cele ce urmeaz, notaiile:
X = [x 1 x i x n ] ; R = [r 1 r i rn ] ,

i atunci se poate scrie c:


~
X =QR,

relaie care se numete factorizare cvasi-QR a matricei vectorilor proprii X,


vectori corespunztori matricei A. R este o matrice cvasi-superior triunghiular.
n practic, ns, se folosesc cu succes drept vectori proprii ai matricei A,
~
vectorii Schur ai si, anume vectorii coloan ai matricei Q :
~
Q = [~
q ~ q ~1
q ]. i n
Vectorii ~
q i , i = 1,..., n au proprietatea c sunt ortogonali i, n plus,
|| ~
q i || 22 = 1, i = 1,..., n , deci sunt vectori ortonormali.
Dac i = s ii ( s i +1,i = 0 ), atunci vectorului propriu corespunztor, x i , i
~
se asociaz coloana i a matricei Q , care este de fapt vectorul Schur asociat
valorii proprii i .
Dac i , i +1 C ( s i +1,i 0 ), atunci vectorilor proprii x i , x i +1
corespunztori acestor valori proprii (complex conjugate), li se asociaz vectorii
4.5 Calculul valorilor i vectorilor proprii 127

complex conjugai ~ qi + j ~
q i +1 , respectiv ~
qi j ~
q i +1 , unde j 2 = 1 , iar
~ ~
qi, ~
q i +1 sunt coloanele matricei Q din poziiile i i i + 1 .

S-ar putea să vă placă și