Upload
bianca-petrescu
View
26
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
1
Calculul iterativ al unui vector propriu.
Metoda puterii. Metoda puterii inverse
Fie matricea nnRA avnd spectrul de valori proprii
n21 ,,,A
i fie
n21 x,,x,xX
un set de vectori proprii, de norm euclidian unitar, ai matricei A (i.e. iii xAx ,
1xi , n:1i ). Proprietile din urmtoarea propoziie se vor dovedi utile n
demersul calculatoriu al valorilor i vectorilor proprii.
Propoziie. Cu notaiile de mai sus avem a) pentru orice C,
(A-I)={1-, 2-,...,n-};
b) pentru orice Nk
(Ak)={1k, 2
k,...,nk};
c) pentru orice A\C
1,,
1,
1IA
n21
1
i, n acelai timp, vectorii i pstreaz semnificaia, adic sunt vectori proprii pentru matricele
A-I, Ak, (A-I)-1 respectiv
(A-I)xi=(i-)xi
ik
ii
kxxA
ii
i
1x
1xIA
pentru toi n:1i .
Demonstraia este imediat prima relaie este evident, cea de-a doua se obine prin inducie, iar ultima se obine, pentru IA nesingular.
Presupunem acum c mulimea este ordonat n sensul descresctor al valorilor absolute i c matricea A are o valoare proprie dominant, i.e.
n321 .
Dac nCy este un vector de norm euclidian unitar avnd o component nenul pe
direcia vectorului propriu Xx1 , definim irul vectorial
Nk
ky i irul numeric
Nk
k
prin relaiile
1. yy )0( % iniializare
2. Pentru ,2,1k % iterare
1. 1kyAz
2
2.
22
k
z
zy
3. .Ayy kTkk
care definesc metoda puterii.
,...2,1k,yAy0k
k
k
unde )0(kk
yA
1 este un factor scalar de normare. Dac
n
1i
ii
0xy
cu 01 , atunci
.x
xy
n
2i
i
k
1
i
1
i1
k
11k
k
Datorit condiiei de dominan avem
,n:2i,0
lim
k
1
i
k
ceea ce asigur convergena irului vectorial )k(y ctre vectorul propriu unitar asociat valorii
proprii dominante
.xylimy 1k
k
Viteza de convergen este cu att mai mare cu ct raportul 1
2
este mai mic, metoda puterii
fiind performant n cazul matricelor cu o valoare proprie net dominant. irul numeric *
Nk
k , converge ctre valoarea proprie dominant. n principiu, n cadrul metodei puterii, nu
este necesar construcia explicit a irului *Nk
k , valoarea proprie 1 putnd fi calculat cu
.AxxAyy 1H1H
1
n schimb o astfel de evaluare devine foarte benefic n cadrul unei variante a metodei puterii inverse.
Metoda puterii inverse de determinare iterativ a unui vector propriu se bazeaz pe relaia
conform creia matricea 1IAB va avea o valoare proprie net dominant dac,
"deplasarea" este o aproximaie, chiar i grosier, a unei valori proprii distincte a matricei A.
Metoda puterii inverse, este, n fapt metoda puterii aplicat matricei B de mai sus i se definete
1. yy )0( % iniializare
2. pentru ,2,1k % iterare
3
1. Se rezolv sistemul liniar 1kyzIA
2.
z
zy
k
3. .Ayy kTkk
Conform celor artate la metoda puterii, irul Nk
ky este convergent ctre vectorul propriu al
matricei A asociat valorii proprii celei mai apropiate de deplasarea . Proprieti de convergen
deosebite se obin n varianta n care deplasarea este modificat de la o iteraie la alta utiliznd
aproximaia curent )k(k a unei valori proprii a matricei A. Aceast variant, cunoscut
sub denumirea de iterarea ctului Rayleigh, este definit de vectorul iniial de norm unitar y,
deplasarea iniial
AyyT
0
i procedura n care se nlocuiete cu )k(k . Dac iniializarea y nu este ortogonal pe
direcia vectorului propriu asociat valorii proprii celei mai apropiate de 0 (condiie generic
satisfcut de o alegere aleatoare a lui y), atunci se poate arta c irul are o convergen
ptratic ctre vectorul propriu corespunztor, adic exist o constant 0 astfel nct
2
1kkyyyy
,
ceea ce nseamn o vitez de convergen foarte bun. Mai mult, pentru matrice hermitice (simetrice) se poate demonstra c se asigur chiar o convergen cubic. Aceste excelente proprieti de convergen sunt moderate de efortul de calcul sporit, n raport cu metoda puterii, necesare pentru rezolvarea unui sistem liniar la fiecare iteraie. Totui, dac matricea A are o structur particular, cum ar fi de exemplu forma Hessenberg, metoda puterii
inverse, cu alegerea deplasrii egal cu ctul Rayleigh, este considerat ca fiind cea mai performant. Deplasri de forma IAA , destinate sporirii vitezei de convergen, pot
fi utilizate, n principiu i n cazul metodei puterii, ns cu o eficien mult mai redus. Formele concrete ale algoritmilor pentru implementarea metodelor puterii i puterii inverse se obin prin completarea schemelor de calcul (76), (83) cu trunchierea irurilor respective pe baza unor criterii de oprire a iteraiilor cum ar fi
,yy1 )k(T)1k(
este o toleran dat, care consider aproximaia drept satisfctoare atunci cnd doi vectori succesivi sunt suficient de coliniari (realizarea trunchierii cnd norma diferenei a dou aproximaii succesive scade sub o toleran dat poate s nu dea rezultate: dac sensul vectorului se schimb la fiecare pas acest norm tinde ctre 2). Dac acest criteriu nu este atins dup un numr maxim admis de iteraii, se consider c metoda nu asigur convergena dorit. Cu aceste precizri putem s prezentm algoritmii formali de implementare a metodei puterii i a metodei puterii inverse.
Metoda puterii directe
[,x,OK]=MPD(A, y, maxit, ) % Intrri:
% A = matricea dat;
% y = aproximaia iniial a vectorului propriu;
4
% = tolerana impus; % maxit = numrul maxim de iteraii.
% Ieiri:
% = valoarea proprie dominant; % x = vectorul propriu asociat.
% OK = indicator succes / esec
OK=1;
k=0;
y=y/norm(y);
e=2*;
while e>= k=k+1;
if k>maxit
OK=0;
error(nu s-a atins precizia impusa);
end
x=A*y;
x=x/norm(x);
e=abs(1-abs(y*x));
y=x;
end
=x*A*x;
Metoda puterii inverse cu deplasare Rayleigh
[,x,OK]=MPI(A,y,maxit,) % Intrri:
% A = matricea dat;
% y = aproximaia iniial a vectorului propriu;
% = tolerana impus; % maxit = numrul maxim de iteraii.
% Ieiri:
% = valoarea proprie dominant; % x = vectorul propriu asociat.
% OK = indicator succes / esec
k=0;
y=y/norm(y);
=y*A*y;
E=2*;
while e>= k=k+1;
if k>maxit
OK=0;
error(nu s-a atins precizia impusa);
end
x=(A-)\y; x=x/norm(x);
e=abs(1-abs(y*x));
y=x;
=x*A*x; end
5
Pentru a asigura eficiena necesar algoritmului, rezolvarea sistemului liniar trebuie s exploateze eventuale particulariti structurale ale matricei sistemului. Algoritmii prezentai sunt destinai calculului unui singur vector propriu i al valorii proprii asociate. Dac se dorete calculul mai multor valori i vectori proprii pentru o matrice dat, aceti algoritmi trebuie completai cu o procedur de deflaie. Principiile unei astfel de proceduri sunt date n demonstraia teoremei 9.4 i sunt utilizate implicit n cadrul algoritmului QR
prezentat ulterior.
n ncheierea acestui paragraf, considerm necesar s subliniem faptul c cea mai bun metod de calcul a unui vector propriu, n absena oricrei informaii iniiale despre valoarea proprie asociat, este metoda puterii inverse cu deplasarea dat de ctul Rayleigh.
Deflaia valorilor proprii.
Presupunem c am localizat o pereche dominant (1,x1) i dorim s continum procesul
pentru celelalte perechi proprii, presupunnd c acestea sunt distincte. Situaia este aplicabil matricelor simetrice cu elemente reale.
(A)={1,2,...,n} X(A)={x1,x2,...,xn}
Dac formm matricea:
B=(In-x1yT)A, cu yTx1=1
atunci:
(B)={0,2,...,n} X(B)={x1,z2,...,zn}
n care:
zi=xi-x1yTxi=xi-y
Txix1, i=2:n
Demonstraie: Mai nti vom alege vectorul y coliniar cu x (sunt i alte opiuni posibile).
y=.x, 1xxxxy2
2
TT 2
2x
1
2
2x
xy
B.x1=(In-x1yT)A.x1=1x1-1x1y
Tx1=0
ceea ce arat c B are valoarea proprie 0 i vectorul propriu corespunztor x1.
B.xi=A.xi-A.x1.yT.xi=ixi-1x1y
Txi
ii
z
i
T
1iii zxyxxxB
i
iiT0
1ii
T
1ii xBxyxBxBxyxxBzB
Din ultimele dou relaii rezult c: B.zi =izi, ceea ce arat c matricea B are valorile proprii
i i vectorii proprii zi, cu i=2:n.
Alt alternativ de deflaie consider: B=A.(In-x1yT), cu yTx1=1
Vom arta c:
(B)={0,2,...,n} X(B)={x1,z2,...,zn}
n care:
6
n:2i,xxy
xz 1i
T
i
1
ii
n mod asemntor:
0xyxAxAxB1
1
T
111
B.xi=A.xi-A.x1yTxi=ixi-1x1y
Txi
ii1iTi
1
iii zxxy
xxB
i0
1i
T
i
1
i1i
T
i
1
ii xBxBxy
xBxxy
xBzB
de unde rezult B.zi=izi.
Metoda de deflaie Wielandt consider:
in2i1i
i11
TAAA
x
1y
Matricea B=A-1x1yT are:
(B)={0,2,...,n} X(B)={x1,z2,...,zn}
n care:
n:2i,x
xxxz
i1
ii
1ii
n
1j
i11i11j1iji1xxxAxA
1xAx
1xy
n
1j
j1ij
i11
1
T
i11
iii
Ax
n
1j
j1ij
i11
i
T
x
xxA
x
1xy
ii
0xyxxAxyxAxB1
1
T
1111
T
111
B.xi=(A-1x1yT)x1=A.xi-1x1(y
Txi)
ii
i1
ii
1ii
i11
iii
11iii zx
xxx
x
xxxxB
i
i1
ii
0
1i
i1
ii
1ii xBx
xxBxB
x
xxxBzB
B.zi = i.zi
7
Se tie c A i AT au acelai spectru, iar vectorii proprii corespunztori a dou valori proprii
diferite sunt ortogonali.
Fie matricea 1
T
1
T
111
xy
yxAB n care x1 i y1 sunt vectorii proprii dominani din A i A
T
(B)={0,2,...,n} X(B)={x1,x2,...,xn}
0xy
xyxAxBx
1
T
1
1
T
1
1111
i
1
T
1
0
i
T
11
1ii Axxy
xyxAxBx
c.c.t.d.
Reducerea la forma Hessenberg
Am vzut c aducerea unei matrice nnRA date la forma Schur real prin transformri (ortogonale) de asemnare este, n absena unor informaii apriorice privind valorile i vectorii proprii, un proces, n mod necesar, infinit. Se ridic ntrebarea natural privitoare la structura cea mai apropiat de forma Schur real, care poate fi obinut printr-un proces de calcul finit.
Teorema 1. Oricare ar fi nnRA exist o matrice ortogonal nnRU , calculabil printr-o procedur direct (i.e. printr-un numr finit de operaii aritmetice elementare, inclusiv extrageri de radical) astfel nct
UAUH T
este superior Hessenberg (adic 0)j,i(H pentru toi 1ji ).
Demonstraie. Vom da o demonstraie constructiv care va indica modul de obinere efectiv a matricei U ca un produs de reflectori elementari (transformri Householder)
1n32 UUUU
conform schemei de calcul
1. pentru k=1:n-2
1. Se determin reflectorul Uk+1 asfel nct (Uk+1A)(k+2:n, k)=0
2. A Uk+1A
3. A AUk+1.
care suprascrie matricea A cu matricea H. n primul rnd s observm c reflectorul elementar
1kU care anuleaz elementele n:2k din coloana k a matricei A exist i are structura
,U,IdiagU 1kk1k
unde 1kU este un reflector de ordinul kn i indice 1. n consecin, la primul pas
( 1k ) premultiplicarea matricei A cu 2U anuleaz elementele )1,n:3(A , iar
postmultiplicarea cu T22 UU , datorit structurii nu afecteaz prima coloan a matricei AU2 ,
respectiv conserv zerourile create. Prin urmare, am adus matricea A la forma superior
Hessenberg n prima coloan. Presupunem acum c dup k-1 pai matricea
8
k22k UAUUUA
este superior Hessenberg n primele k-1 coloane. Acum, premultiplicarea cu reflectorul 1kU ,
adecvat calculat, nu modific primele k linii i (n plus, datorit structurii din acest moment a
lui A) primele k-1 coloane (conservnd astfel zerourile obinute n paii precedeni) i anuleaz
elementele )k,n:2k(A . Postmultiplicarea cu 1kU nu modific primele k coloane
conservnd zerourile create la paii precedeni i cele create prin premultiplicarea de la pasul curent.
Deci procesul de reducere la forma Hessenberg prin transformri Householder de asemnare poate fi iniializat i apoi continuat, ntr-un numr finit de n-2 pai, fiecare pas avnd un numr
finit de operaii, pn la capt, obinndu-se n final matricea
1n32231n UUAUUUUHA
n form superior Hessenberg. Teorema este demonstrat.
Elementele definitorii 2
kk
n
k v2
1,Rv ale reflectorilor elementari
1n:2k,
vvIU
k
T
kk
nk
pot fi memorate n matricea 2nnRV ( kv este coloana k-1 a matricei V) i vectorul
2n:2k,bRb 1kk2n
.
Algoritmul de implementare a schemei de calcul de reducere la forma superior Hessenberg, la
care adugm acumularea opional a transformrilor (i.e. calculul matricei U) va utiliza intensiv
rezultatele relative la transformrile Householder prezentate n capitolul 2. Concret, se presupune cunoscut procedura de calcul fiabil i economic al elementelor definitorii ale unui reflector ce anuleaz anumite componente ale unui vector dat, procedur care va fi utilizat explicit n scrierea algoritmilor din acest capitol. Amintim n acest sens c fiind dat un
vector nenul nRx , elementele definitorii nk Rv , k ale reflectorului (91) care asigur
anularea componentelor n:1k ale lui x, i.e. 0)n:1k)(xU( k , se calculeaz
economic cu relaiile
1. 0)1k:1(vk
2 2
)n:k(x))k(x(sign
3. )k(x)k(vk
4. )k(xk
5. ).n:1k(x)n:1k(vk
n ceea ce privete procedurile de premultiplicare i de postmultiplicare ale unei matrice cu un reflector, pentru comoditatea cititorului, preferm s le prezentm detaliat aici. Astfel este suficient s dispunem de procedurile de premultiplicare (eventual cu suprascriere) UABA a
unei matrice pnRA i de postmultiplicare (eventual cu suprascriere) AUBA a
unei matrice nmRA cu un reflector
uuIU
T
n de ordin n si indice 1. Precizm c
n variantele cu suprascriere aceasta se efectueaz intern, element cu element, fr a se crea matricea intermediar B.
9
Premultiplicarea economic UABA folosete partiia pe coloane a matricelor B,A .
Notnd )j,:(Aaj , p:1j),j,:(Bbj schema de calcul este
1. pentru p:1j
1. jjj Uaba
n care produsul uaa)
uuI(Uaba jj
T
njjj se efectueaz economic
calculnd mai nti scalarul
au
au
n
1i
ijij
T . Rezult urmtorul algoritm.
[B]=refmat(u,,A)
% Premultiplicarea unei matrice cu un reflector elementar de indice 1.
% Intrri: R,Ru n = elementele definitorii ale reflectorului;
% pnRA = matricea dat. %Ieiri: UAB . [n,p]=size(A);
for j=1:p
= u(1:n)*A(1:n,j)/;
B(1:n,j)=A(1:n,j)- *u(1:n); end
Postmultiplicarea economic AUBA folosete, absolut analog, partiia pe linii a
matricelor A, B. Notnd ):,i(AaTi , m:1i),:,i(BbT
i schema de
calcul este
1.pentru m:1i
1. Uaba TiT
i
T
i
n care produsul TT
i
T
n
T
i
T
i
T
i
T
i ua)
uuI(aUaba se efectueaz
economic calculnd mai nti scalarul
ua
ua
n
1j
jijT
i
. Rezult urmtorul algoritm.
[B]= matref(A,u, )
% Postmultiplicarea unei matrice cu un reflector elementar de indice 1.
% Intrri: nmRA = matricea dat;
% R,Run = elementele definitorii ale reflectorului.
%Ieiri: AUB [m,n]=size(A);
for i=1:m
10
= A(i,1:n)*u(1:n)/;
B(i,1:n)=A(i,1:n)- *u(1:n); end
Utiliznd relaiile de calcul ale unui reflector elementar ce anuleaz componentelele dorite ale unui vector dat precum i funciile refmat i matref algoritmul de reducere a unei matrice la
forma superior Hessenberg prin transformri ortogonale de asemnare poate fi scris ntr-o form mai concis cum este cea prezentat n continuare.
% Reducerea la forma Hessenberg
[A,U,V,b]=HQ(A)
% Intrri:
% A = matricea dat;
%Ieiri: AUUHA T = matricea superior Hessenberg ortogonal asemenea cu A;
% nnRU = matrice ortogonal de transformare
% )2n(nRV = matrice cu coloane vectorii definitori ai transformrilor;
% 2nRb = vector coninnd scalarii definitori ai transformrilor. [n,n]=size(A); U=eye(n,n);
for k=1:n-2
% Determinarea lui 1kU , i.e. )k,:(Vv 1k , )k(b 1k
0)k,k:1(V
)k,n:1k(A))k,1k(A(sign
)k,1k(A)k,1k(V
)k,1k(V)k(b
)k,n:2k(A)k,n:2k(V ;
% Calculul AUA 1k
)k,1k(A ;
0)k,n:2k(A ;
)]n:1k,n:1k(A[
refmat ))n:1k,n:1k(A),k(b),k,n:1k(V( ;
% Calculul 1kAUA
[A(:,k+1:n)]=matref(A(;,k+1:n),V(k+1:n,k),b(k));
% Acumularea transformrilor (i.e. calculul 1kAUA )
)]n:1k,:(U[
matref ))k(b),k,n:1k(V),n:1k,:(U( ;
Complexitatea algoritmului este )n(O3
fiind necesare 3op n
3
10N operaii elementare n
format virgul mobil. Dac se calculeaz i matricea de transformare U, atunci trebuie
executate nc 3op n3
4N operaii.
Algoritmul 9.3 este un algoritm numeric stabil, existnd demonstraii pentru faptul c matricea Hessenberg calculat ntr-o aritmetic de virgul mobil este un rezultat exact pentru o matrice iniial foarte puin perturbat.
11
Observaie: Este posibil reducerea matricei A la forma superior Hessenberg prin transformri
de asemnare neortogonale cu un efort de calcul redus aproximativ la jumtate din cel cerut de algoritmul 9.3. O astfel de posibilitate o ofer construcia transformrii sub forma unui produs de transformri gaussiene elementare stabilizate (deci cu permutri de linii)
1n:2k),MP( kk cu T
kknk emIM i kP o matrice de permutare a liniei k cu
o linie kik (vezi problema rezolvat R9.17). Motivele pentru care, totui, sunt preferate
transformrile ortogonale se refer la faptul c acestea din urm conserv condiionarea numeric a problemei de calcul a valorilor i vectorilor proprii i asigur o stabilitate numeric mult mai bun. Matricea superior Hessenberg ortogonal asemenea cu matricea dat obinut cu algoritmul de mai sus nu este unica matrice Hessenberg care satisface (86). ntr-adevr dac A este matricea
dat i nn0 RQ este o matrice ortogonal arbitrar atunci aplicnd algoritmul matricei
0
T
0AQQ obinem
AQQUAQQUH T0T
0
T
cu UQQ 0 i H superior Hessenberg, n general diferit de matricea H. Se observ totui c
111n321 eeUUUUe
i deci
10101 eQUeQQe .
De aici se poate extrage ideea c determinant pentru identitatea transformrii este prima sa coloan. Aceast observaie are o importan capital n dezvoltarea procedural a algoritmului QR cu deplasare implicit prezentat ntr-o seciune ulterioar i care reprezint un rezultat de
importan recunoscut n calculul numeric matriceal. Contextul n care acioneaz algoritmul QR cu deplasare implicit este cel al matricelor superior Hessenberg ireductibile i.e. al
matricelor superior Hessenberg cu toate elementele de pe prima subdiagonl nenule. Acum transpunem observaia de mai sus ntr-un cadru formal dat de urmtoarea teorem.
Teorema 2. Fie nnRA i matricele ortogonale nn
RV,U astfel nct matricele
AVVG,AUUH TT
sunt ambele superior Hessenberg ireductibile, i.e.
.1n:1j,0g,0h j,1jj,1j
Dac matricele U i V au aceeai prim coloan )1,:(V)1,:(U
atunci ntre celelalte coloane exist relaiile .n:2j),j,:(V)j,:(U
Mai mult, avem cu necesitate
.j,i,gh ijij
Demonstraie. Matricea ortogonal UVQ T are ca prim coloan vectorul
1
TT
1 e)1,:(VV)1,:(UV)1,:(Qq . Celelalte coloane ale matricei Q pot fi
exprimate recurent n raport de precedentele n modul urmtor. Rezult TT VGVUHUA ,
i.e. GQQH , relaie care, scris pe coloane, ne conduce la
12
j
1k
j,1jj,k .h)1j(:,Qh)k(:,Q)j(:,QH)j(:,GQ
Acum, notnd )j,:(Qqj , avem
.h
hqGq
qj,1j
j
1k
kjkj
1j
Este uor de observat c aceast recuren induce, n mod necesar, matricei Q o structur
superior triunghiular. ntr-adevr, G fiind superior Hessenberg iar q1 avnd numai primul
element nenul rezult c q2 are numai primele dou elemnte nenule etc. Inversa unei matrice
superior triunghiulare este superior triunghiular. Dar Q fiind ortogonal rezult c este simultan
superior i inferior triunghiular, i.e. Q este o matrice diagonal. Cum elementele diagonale ale
unei matrice ortogonale diagonale nu pot fi dect egale cu 1 , rezult
.)j,:(V)e(V)j,:(VQ)j,:(U j
De asemenea din GQQH avem QGQH , de unde rezult c teorema este demonstrat.
Miezul teoremei const n faptul c transformrile ortogonale U i V de reducere a aceleiai
matrice la o form superior Hessenberg ireductibil sunt esenial determinate (mai puin un semn la fiecare coloan) de prima lor coloan. Dac prima coloan din cele dou matrice de transformare este identic, atunci i rezultatul reducerii este esenial acelai (mai puin semnul unor elemente). Aici termenii esenial aceleai semnific faptul c cele dou matrice superior Hessenberg sunt la fel de departe de o form Schur a matricei iniiale, al carei calcul este obiectivul principal al problemei valorilor i vectorilor proprii.
CALCULUL VALORILOR PROPRII I VECTORILOR PROPRII PENTRU MATRICE NESIMETRICE
Sistemele dinamice liniare formeaz o clas important, cu aplicaii largi n domenii variate ale tiinei i tehnicii. Acestea sunt reprezentate numeric de un set de matrice, iar proprietile lor sunt exprimate, din punct de vedere cantitativ, n termenii elementelor acestor matrice. Astfel stabilitatea sistemelor liniare
este condiionat exclusiv de plasarea valorilor proprii ale matricei de stare a sistemului. n acest capitol sunt prezentate, n principal, cele mai performante metode de calcul ale valorilor proprii
ale matricelor reale dense nesimetrice care se ntlnesc cel mai des n aplicaii. Din motive de eficien aceste metode fac apel, practic exclusiv, la o aritmetic real dei valorile proprii ale unei matrice reale pot fi i complexe. Din motive de condiionare numeric calculul vectorilor proprii se face cu mai puin acuratee i, din acest motiv, practica numeric recomand utilizarea n aplicaii n locul lor a vectorilor Schur, definii n acest capitol. Cazul matricelor complexe poate fi redus la cazul matricelor reale de ordin dublu.
Valori i vectori proprii
Prezentm aici conceptele de valoare proprie i vector propriu ale unei matrice i principalele lor proprieti. De asemenea, avnd n vedere faptul c valorile proprii, ca i elementele vectorilor proprii, ale
unei matrice reale pot fi numere complexe, reamintim cteva noiuni referitoare la spaiul vectorial nC .
n acest capitol, prin vector complex n-dimensional x vom nelege un vector coloan cu n elemente complexe
.n:1i,Cx,
x
x
x
x i
n
2
1
Mulimea tuturor vectorilor compleci n-dimensionali va fi notat nC . Evident, orice vector nCx poate
fi scris, n mod unic, sub forma
nRv,u,ivux
unde i este unitatea imaginar. Mulimea tuturor matricelor cu elemente complexe avnd m linii i n
coloane va fi notat nmC . Dei spaiile liniare nR i nC au foarte multe proprieti comune, induse de
axiomele comune ale corpurilor de numere complexe i reale, exist i diferene cum sunt cele datorate definirii diferite a produsului scalar standard a doi vectori i a normei vectoriale induse de acesta. Pentru evidenierea unora dintre aceste diferene vom nota conjugatul transpusului (i.e. conjugatul hermitic al)
unui vector nCx prin TH xx ,
unde bara superioar semnific operaia de conjugare complex iar indicele T transpunerea.
Dac nCy,x , definim produsul scalar al celor doi vectori prin numrul complex
xyyx H, .
Evident, avem
yxxy ,, .
Cu ajutorul produsului scalar putem defini conceptul de ortogonalitate n nC . Vom spune c doi
vectori sunt ortogonali dac produsul lor scalar este nul, i.e.
.0 xyyx HH
De asemenea, plecnd de la observaia c scalarul xx H este un numr real pozitiv, oricare ar fi vectorul
nenul nCx , se poate defini urmtoarea norm pe nC
xxxRC Hn 22 ,: ,
numit norm euclidian.
Mai general, foarte multe rezultate referitoare la norme pe nR pot fi extinse la norme corespunztoare pe nC .
Rolul matricelor reale simetrice este jucat n nnC de matricele hermitice. O matrice nnCA se numete
hermitic dac
AAH .
Dac nnCA este hermitic, atunci scalarul AxxH este real, oricare ar fi nCx , fapt care ne
permite definirea matricelor pozitiv-definite n nnC . O matrice hermitic nnCA este pozitiv-definit
dac
0,0 xCxxAx nH .
n sfrit, n analogie cu matricele reale ortogonale, vom spune despre o matrice nnCQ c este unitar
dac are coloanele ortogonale i de norm euclidian (7) unitar, respectiv dac
nH IQQ .
Vom introduce acum conceptele de valoare proprie i vector propriu asociat. Dei vom considera mai ales cazul matricelor reale, aceste noiuni pot fi definite n cadrul mai general al matricelor complexe.
Definiia 9.1 Fie nnCA . Un numr C se numete valoare proprie a matricei A dac exist un
vector nenul nCx , numit vector propriu asociat valorii proprii C , astfel nct
.xxA
Sistemul liniar omogen (11) admite soluii nenule dac i numai dac
.0det AIp n
Polinomul monic p() de gradul n se numete polinom caracteristic al matricei nCE , iar ecuaia se numete ecuaie caracteristic. Prin urmare, valorile proprii ale unei matrice sunt zerourile polinomului caracteristic. Dac lum n considerare multiplicitile, numrul valorilor proprii este egal cu ordinul matricei. Mulimea
nA ,,, 21
a valorilor proprii ale matricei A poart numele de spectrul (de valori proprii al) matricei A . Numrul real
i
Ai
A
max
se numete raza spectral a matricei A . Dac A este o matrice real atunci valorile proprii complexe apar n perechi complex conjugate. Valorile proprii ale unei matrice satisfac relaiile
,tr),(11
AiiAn
i
n
i
i
,det1
An
i
i
unde tr(A) este, prin definiie, urma matricei A (vezi problema rezolvat R9.1).
Dac nCx este un vector propriu asociat valorii proprii A atunci oricare ar fi C0 vectorul xy este de asemenea un vector propriu al matricei A asociat aceleiai valori proprii. n
consecin, vectorii proprii asociai unei valori proprii nu sunt unic determinai dect ca direcii. Mai mult,
se arat c mulimea vectorilor proprii asociai unei valori proprii A genereaz un subspaiu liniar
nCE numit subspaiul propriu al valorii proprii . Subspaiile proprii sunt subspaii A -invariante n sensul urmtoarei definiii.
Definiia 9.2 Fie o matrice nnCA . Un subspaiu liniar nCV se numete subspaiu -invariant al
matricei A sau, pe scurt, subspaiu A -invariant dac
.i.e., VxVAxVVA
O matrice nnCA care admite n vectori proprii liniar independeni se numete simpl. Se arat c o
matrice care are cele n valori proprii distincte este simpl, dar reciproca nu este, n general, adevrat.
Cei n vectori proprii liniar independeni ai unei matrice simple formeaz o baz a spaiului nC , numit
baza proprie asociat matricei A .
Ordinul de multiplicitate in al rdcinii i a polinomului caracteristic se numete multiplicitate algebric
a valorii proprii Ai . Dac 1in valoarea proprie se numete simpl. Dimensiunea )(dim iE a subspaiului propriu al valorii proprii Ai se numete multiplicitatea geometric a valorii proprii
i . n general, avem
.dim ii nE
ncheiem acest paragraf cu un set de proprieti ale subspaiilor invariante i, n particular, ale subspaiilor proprii ale unei matrice.
Teorema 1 Fie matricea nnCA .
a) Dac pxxx ,,, 21 sunt vectori proprii ai matricei A i notm pnp CxxxX 21 , atunci subspaiul liniar
XzyCzCyXS nn incatastfelIm este A -invariant, i.e. orice subspaiu generat de vectori proprii ai unei matrice este un subspaiu invariant al acelei matrice.
b) Dac nCS este un subspaiu A -invariant p -dimensional i vectorii pxxx ,,, 21 formeaz o
baz a lui S , atunci exist o matrice ppCB cu
)()( AB
astfel nct matricea pnp CxxxX 21 satisface condiia XBAX .
Matricea B se numete restricia matricei A la subspaiul A -invariant S i se noteaz SAB .
c) Dac are loc o relaie de forma (20) atunci XS Im este un subspaiu A -invariant.
d) Complementul ortogonal nCST al unui subspaiu A -invariant S este un subspaiu HA -
invariant.
Demonstraie. a) Pentru orice vector Sy exist un vector pCz astfel nct Xzy i, deci,
SwX
z
z
z
xxxzxxxzAxAxAxzAXyA
pp
pppp
22
11
21221121 , unde pii :1, sunt valorile
proprii ale matricei A asociate vectorilor proprii pixi :1, . Prin urmare, subspaiul S este A -
invariant. b) Coloanele matricei X formnd o baz a subspaiului S , orice vector Sx se scrie sub
forma pCyyXx , . Pe de alt parte S fiind un subspaiu A -invariant rezult c SxSAx , , n
particular pentru toi pj :1 avem SAx j , i.e. exist vectorii pjCbp
j :1, astfel nct
jj XbAx . Rezult c matricea ppp CbbbB 21 satisface egalitatea (20). Mai mult, dac pCz este un vector propriu al matricei B asociat valorii proprii )(B atunci din (20) avem
XzXBzAXz . Cum 0z iar X este o matrice monic (i.e. cu coloanele liniar independente)
rezult c 0 Xzy , adic y este vector propriu al matricei A (coninut n S ) i, deci, )(A .
Rezult )()( AB . c) Presupunem c are loc (20) pentru o matrice pnCX i o matrice ppCB .
Atunci avem pCzXBzAXz , , i.e. XXzxXXyAx Im,Im , ceea ce nseamn c
XS Im este un subspaiu A -invariant. d) Fie Sx i STy doi vectori arbitrari. Subspaiul S
fiind A -invariant avem SAx i, prin urmare, 0)( xyAAxy HHH . Cum x este un vector arbitrar
din S , rezult SyAH )( , respectiv TyAH pentru toi Ty , adic subspaiul T este HA -invariant.
Transformri de asemnare. Forma Jordan
Vom fi interesai n transformri ale matricei A care conserv spectrul de valori proprii. Astfel de transformri sunt transformrile de asemnare.
Vom spune c dou matrice A i B sunt asemenea dac exist o matrice nesingular nnCT astfel
nct
.1 TATB
Dac matricea de transformare T este unitar (n cazul real ortogonal) atunci matricele A i B se numesc unitar (ortogonal) asemenea.
Dac nnCBA , sunt asemenea atunci au acelai spectru de valori proprii
,)( BA
iar dac nCx este un vector propriu al matricei A asociat valorii proprii , atunci vectorul nCy ,
definit de
,xTy
este un vector propriu al matricei B din (21) asociat aceleiai valori proprii . Evident, valorile proprii ale unei matrice triunghiulare (n particular diagonale) sunt date de elementele
sale diagonale. De aceea suntem interesai de situaiile n care o matrice dat este asemenea cu o matrice avnd o astfel de structur. O matrice asemenea cu o matrice diagonal se numete diagonalizabil.
Dac pentru toate valorile proprii distincte ale unei matrice date nnCA avem
,dim ii nE
atunci matricea A este diagonalizabil, respectiv exist o matrice nesingular nnCXT 1 astfel nct
.,,,diag 211
nXAX
ntr-un astfel de caz matricea A este simpl, coloanele matricei de transformare X formnd un set de n
vectori proprii liniar independeni ai matricei A . n cazul general, cea mai simpl structur care poate fi obinut prin transformri de asemnare este aa numita form canonic Jordan definit n urmtoarea teorem.
Teorema 2 Oricare ar fi matricea nnCA exist o matrice nesingular nnCX astfel nct
,,,,diag 211 qJJJXAX unde
iinn
i
i
i
i
i CJ
000
1000
010
001
cu Ai i nnq
i
i 1
. Matricele Ji se numesc blocuri Jordan.
Numrul i dimensiunile blocurilor Jordan asociate fiecrei valori proprii distincte din spectrul matricei A sunt unice, dar ordonarea blocurilor n (26) poate fi arbitrar.
Forma canonic Jordan conine maximul de informaie structural privitoare la o matrice dat. Totui structura Jordan (respectiv numrul i dimensiunile blocurilor) este foarte sensibil la perturbaiile numerice n elementele matricei i, din acest motiv, calculul numeric al formei canonice Jordan ntmpin dificulti serioase (vezi [5]) i nu este recomandat pentru calculul valorilor proprii ntr-o aritmetic aproximativ.
9.1.3. Localizarea valorilor proprii. Cercurile lui Gershgorin
In unele aplicaii o localizare a valorilor proprii ntr-un domeniu al planului complex este suficient pentru a evidenia anumite proprieti. Amintim, n acest context, problema aprecierii stabilitii sistemelor dinamice liniare. De asemenea, o localizare a valorilor proprii permite stabilirea unor aproximaii ale acestora utile pentru iniializrile necesare n diverse metode iterative. Exist mai multe rezultate privitoare la localizarea valorilor proprii dintre care cel mai cunoscut este dat de teorema cercurilor lui Gershgorin.
Teorema 3 Spectrul de valori proprii al unei matrice nnCA satisface condiia
,1
i
n
i
DA
unde Di sunt discurile (sau cercurile) lui Gershgorin definite de .1
n
ijj
ijiii aazCzD
Demonstraie. Fie A i x un vector propriu asociat lui . Fie ix componenta de modul maxim a
lui x , i.e. 1i
j
x
x pentru toi nj :1 . Atunci linia i a relaiei de definiie xAx se poate scrie sub
forma ,)(1
n
ijj
jijiii xaxa de unde rezult imediat inegalitile ,11
n
ijj
ij
n
ijj i
j
ijii ax
xaa q.e.d.
Se poate arta c dac unul din discurile lui Gershgorin este izolat de celelalte, atunci el conine o valoare proprie a matricei A i numai una, oferind un mijloc de separare a valorilor proprii. Alte metode de localizare a valorilor proprii ale unei matrice, n general mai fine dar mult mai puin utilizate n practica curent, fac obiectul unor probleme rezolvate sau propuse (vezi seciunile 9.8 i 9.9).
9.1.4. Condiionarea numeric a valorilor i vectorilor proprii
Aa cum s-a menionat n primul capitol al lucrrii, acurateea rezultatelor obinute prin rezolvarea unei probleme de calcul numeric ntr-un mediu de calcul aproximativ depinde esenial de doi factori. Pe de o parte precizia obinut depinde de calitatea numeric a problemei, i.e. de sensibilitatea rezultatelor la variaiile datelor problemei n ipoteza unor calcule exacte. Este vorba de aa numita condiionare numeric a problemei. Pe de alt parte calitatea rezultatelor depinde de calitatea algoritmului utilizat, exprimat prin aa numita stabilitate numeric a algoritmului respectiv. ntruct condiionarea numeric a valorilor proprii este independent de modul de calcul al acestora, vom prezenta aici rezultatele eseniale privitoare la aceasta, urmnd ca discuia despre calitile algoritmilor propui s aib loc n finalul capitolului.
Aprecierea condiionrii numerice se face uzual prin stabilirea unor margini superioare pentru variaiile rezultatelor n raport cu variaiile datelor de intrare. Chiar dac, de multe ori, aceste margini sunt supraevaluate ele ofer posibilitatea detectrii situaiilor critice n care erorile au tendina de a iei de sub control. Evaluarea sensibilitii valorilor i vectorilor proprii se bazeaz pe proprietile de continuitate ale acestora n raport cu elementele matricei. Precizm de la nceput c ne vom ocupa n exclusivitate de cazul valorilor proprii simple. Valorile proprii multiple sunt, n general, mult mai sensibile dect cele simple, iar
studiul analitic al sensibilitii lor ridic dificulti importante.
A. Condiionarea numeric a valorilor proprii
Fie o matrice nnCA , o valoare proprie simpl )(A i vectorii proprii de norm euclidian unitar
nCyx , la dreapta, respectiv la stnga, asociai valorii proprii . Prin urmare avem xAx i,
respectiv, HH yAy . Considerm acum o perturbaie GE cu 1G a matricei A . Vom fi
interesai de evaluarea valorii proprii )( i a vectorului )(x a matricei perturbate EAA ~
.
Conform unor rezultate clasice [10], valoarea proprie )( i vectorul propriu )(x admit dezvoltri n
serie de puteri
221)(
221)( vvxx
convergente ntr-o vecintate a punctului 0 . Evident, avem )0( i xx )0( iar funciile )( i
)(x sunt continue i derivabile n domeniul de convergen. Vom considera n cele ce urmeaz c
parametrul este suficient de mic pentru a putea neglija puterile superioare ale acestuia i a ne mrgini la
aproximaiile liniare ale funciilor )( i )(x . n aceste condiii putem aprecia c sensibilitatea valorii
proprii )( pe direcia definit de matricea G este dat de 1 i c pentru toate direciile de
perturbare sensibilitatea sa poate fi definit prin numrul de condiionare
11
max
GCG nn
.
Pentru a gsi o evaluare a acestui numr de condiionare considerm relaia )()()()( xxGA care
derivat n raport cu ne conduce, pentru 0 , la
111 vxAvGx .
nmulind aceast relaie la stnga cu Hy rezult 111 vyxyAvyGxyHHHH , i.e. xyxGy HH 1
ntruct HH yAy . innd seama acum de faptul c pentru valorile proprii simple avem 0xyH (vezi
problema rezolvat R9.5) obinem
xyxy
xGy
xy
xGy
HHH
H
11
.
Prin urmare, numrul de condiionare al unei valori proprii simple este
xyH
GCG nn
1max 1
1
.
Valoarea minim a numrului de condiionare este 1 i se obine atunci cnd vectorii proprii la stnga i la dreapta, asociai valorii proprii de interes, sunt coliniari (aceasta se ntmpl, de exemplu, la matricele hermitice i, n particular, la matricele reale simetrice). Conform dezvoltrilor de mai sus, condiionarea
indic nivelul de amplificare al erorilor absolute din datele iniiale care se regsesc n erorile absolute
ale valorilor proprii. Prin urmare, pentru valori proprii cu acelai numr de condiionare erorile relative vor fi cu att mai mari cu ct valorile proprii sunt de modul mai mic.
n aplicaii prezint interes de multe ori condiionarea unui grup de valori proprii sau a ntregului spectru al unei matrice date. O cale de a defini condiionarea unui grup de valori proprii este de a considera o norm a vectorului condiionrilor numerice a valorilor proprii individuale care fac parte din grup. O alt cale face apel la conceptul de proiector spectral care exprim condiionarea unui grup de valori proprii
prin poziia relativ a subspaiilor A -invariante i HA -invariante generate de vectorii proprii la dreapta i la stnga asociai valorilor proprii din grup. Pentru detalii recomandm consultarea, de exemplu, a lucrrilor [13], [29], [30]. ncheiem consideraiile noastre privitoare la condiionarea numeric a valorilor proprii prin prezentarea teoremei Bauer-Fike care reprezint un rezultat important ce permite exprimarea condiionrii numerice a spectrului unei matrice simple ntr-un context general.
Teorema 4 Considerm o matrice nnCA diagonalizabil i fie nnCX o matrice nesingular de
vectori proprii ai matricei A . Dac nnCE este o matrice de perturbaie arbitrar i
)( EA este o valoare proprie a matricei perturbate EAA ~
, atunci
EXeA
)(min)()(
unde
1)( XXX
este numrul de condiionare la inversare al matricei X a vectorilor proprii iar este orice
norm matriceal consistent care satisface condiia
)(max),,,(diag:1
21 ini
n
(n particular, poate fi oricare din normele ,2,1, pp
).
Demonstraia teoremei poate fi gsit n [13]. Aici ne vom mrgini la prezentarea unor succinte comentarii. n primul rnd rezultatele specificate n teorem sunt valabile nu numai pentru perturbaii mici ci pentru orice nivel al perturbaiilor. n al doilea rnd, trebuie evideniat rolul jucat de numrul de condiionare la inversare al matricei vectorilor proprii n caracterizarea condiionrii valorilor proprii.
Interpretnd raportul E
e )( drept sensibilitate (condiionare) numeric a valorii proprii a matricei A
pentru care se atinge minimul din (36) rezult c numrul de condiionare la inversare al matricei vectorilor proprii este o margine superioar pentru numerele de condiionare ale tuturor valorilor proprii i, n consecin, poate fi folosit drept msur pentru condiionarea ntregului spectru. Se pot face i alte conexiuni ntre rezultatele din teorema Bauer-Fike i numerele de condiionare definite anterior [13]. ncheiem aceste scurte comentarii cu remarcarea faptului c teorema 9.4 confirm observaia c matricele hermitice (simetrice n cazul real) au un spectru perfect condiionat numeric ntruct, dup cum vom vedea n capitolul 11, acestea au un set complet de vectori proprii ortogonali, i.e. matricea vectorilor proprii este
unitar (ortogonal) i, deci, are n raport cu norma 2
numrul de condiionare la inversare egal cu 1
(cel mai mic posibil).
B. Condiionarea numeric a vectorilor proprii
Fie o matrice nnCA cu valorile proprii simple nkk :1, i vectorii proprii asociai n
k Cx de
norm euclidian unitar. Considerm matricea perturbat EAA ~
, unde GE cu 1G i fie
)(k , )(kx , nk :1 valorile proprii, respectiv vectorii proprii asociai ai matricei perturbate. La fel ca
n cazul valorilor proprii, pe baza dezvoltrii n serie de puteri (31) a funciei vectoriale )(x , n ipoteza
unor variaii mici, putem aprecia c sensibilitatea vectorului propriu )(x pe direcia definit de
matricea G este dat de 1v i c pentru toate direciile de perturbare sensibilitatea sa poate fi definit
prin numrul de condiionare
11
max v
GCG
x nn
.
Adaptnd notaiile la noul context, relaia (33) se poate scrie sub forma
)(1)(
1
)(
1
k
kk
kk
k vxAvGx .
Deoarece, n ipotezele menionate, vectorii proprii nkxk :1, formeaz o baz a spaiului nC , rezult c
putem exprima vectorul )(1kv n raport cu aceast baz prin relaia
n
i
i
k
i
k xv1
)()(
1 care, introdus n (39),
produce
knkiik
n
kii
k
i xIGx )()(1
)(
.
nmulind la stnga ultima relaie cu Hiy , unde iy este vectorul propriu la stnga al matricei A asociat
valorii proprii i i, innd seama (vezi problema rezolvat R9.5) de faptul c jixy iH
j ,0 i
,0iH
i xy obinem
(42) kinixy
Gxy
k
H
iik
k
H
ik
i
,:1,)(
)(
,
cu care numrul de condiionare (39) devine
(43)
n
kii i
H
iik
i
n
kii i
H
iik
k
H
i
GCG
k
GCG
xxy
xxy
Gxyv
nnnnk
111
)(
1
1
1
)(maxmax
.
Se observ din evaluarea (43) c sensibilitatea unui vector propriu la variaiile elementelor matricei depinde att de sensibilitile tuturor celorlalte valori proprii ct i de deprtarea valorii proprii asociate de celelalte valori proprii. n consecin, mai ales n cazul existenei unor valori proprii apropiate, condiionarea numeric a vectorilor proprii este mult mai rea dect cea a valorilor proprii. De aceea n literatura de specialitate se recomand evitarea calculului vectorilor proprii. Din fericire, n majoritatea aplicaiilor, acetia pot fi nlocuii cu succes de vectorii Schur (vezi seciunea ce urmeaz). Problema condiionrii unor grupuri de vectori proprii se formuleaz mai general sub forma condiionrii subspaiilor invariante. Condiionarea subspaiilor invariante este influenat decisiv de localizarea valorilor proprii asociate. Este ns posibil ca un subspaiu invariant generat de vectori proprii ru condiionai s aib o condiionare foarte bun dac grupul corespunztor de valori proprii este bine separat de restul valorilor proprii. Pentru detalii privitoare la cuantificarea condiionrii subspaiilor invariante se poate consulta lucrarea [29].
9.2. Forma Schur real. Tehnici de deflaie
O modalitate de abordare a calculului valorilor proprii ce pare a fi natural, respectiv determinarea polinomului caracteristic i rezolvarea ecuaiei caracteristice, este practic abandonat n calculul numeric actual pentru dimensiuni de matrice ct de ct semnificative, pe de o parte din cauza sensibilitii ridicate a rdcinilor n raport cu perturbaiile numerice n coeficienii ecuaiilor algebrice, iar pe de alt parte din cauza complexitii relativ ridicate a algoritmilor disponibili pentru calculul coeficienilor polinomului caracteristic. Din aceste motive, metodele numerice cele mai performante de calcul a valorilor proprii fac
apel la structuri (cvasi)triunghiulare, cum este forma Schur (real). Baza teoretic a calculului performant al valorilor proprii ale unei matrice este dat de urmtoarea teorem.
Teorema 4. Pentru orice matrice nnCA (n particular nnRA ) exist o matrice unitar nnCQ
~
astfel nct matricea unitar asemenea cu A
(44) nnH CQAQS ~~~
este superior triunghiular.
n cazul real, pentru orice matrice nnRA exist o matrice ortogonal nnRQ astfel
nct matricea ortogonal asemenea cu A
(45) nnT RSQAQS
are o structur cvasisuperior triunghiular
(46)
q
q
S
SS
SSS
S
00
0 222
11211
unde blocurile diagonale qiSii :1, sunt matrice 11 sau 22 , cele de dimensiune 22 avnd
valorile proprii complexe.
Matricea S~
din (27) poart numele de form Schur (FS) a matricei A dac A este complex i de form
Schur complex (FSC) a lui A dac A este real. Matricea S din (45), (46) poart numele de form
Schur real (FSR) a matricei A. Coloanele njeQq jj :1,~~ ale matricei Q
~ (respectiv coloanele
njeQq jj :1, ale matricei Q) se numesc vectori Schur ai lui A i formeaz o baz unitar a spaiului
nC (respectiv, o baz ortogonal a spaiului nR ) numit baza Schur asociat lui A . n multe aplicaii
vectorii Schur pot nlocui cu succes vectorii proprii. Evident, elementele diagonale ale matricei S~
sunt
valorile proprii ale matricei A , iar n cazul formei Schur reale avem
(47) iiq
i
SSA 1
i, n consecin, n acest caz calculul spectrului de valori proprii se reduce la rezolvarea unui set de ecuaii algebrice de grad cel mult doi.
Demonstraia teoremei9.4. Aceast demonstraie pune n eviden o tehnic procedural numit deflaie, care st la baza algoritmului fundamental de reducere a unei matrice reale date la forma Schur real printr-un ir de transformri ortogonale de asemnare.
a) Mai nti artm cum se pune n eviden, printr-un pas de deflaie, o valoare proprie real.
Dac A este real, fie nRx 1 un vector propriu asociat. Fr restrngerea generalitii putem presupune 1
21x . Considerm o matrice ortogonal 1Q a crei prim coloan este 1x , i.e.
(48) 111 , nnRYYxQ
(o astfel de matrice exist ntotdeauna: de exemplu 1Q poate fi un reflector elementar care anuleaz
elementele n:2 ale vectorului 1x ). Evident, avem
(49) 01 YxT
i, innd seama de faptul c 111 xxA , rezult
(50) 111111 xxxAxTT , ,0111 xYxAY
TT
de unde obinem matricea
(51)
B
g
AYY
AYxAQQA
T
T
TT
00
1111111
care este n form Schur real n prima coloan. b) Un pas de deflaie corespunztor unei perechi de valori proprii complex conjugate
(52) 0,2,1 i
pune n eviden un bloc diagonal 22 din forma Schur real. ntr-adevr nu este greu de artat c vectorii proprii asociai valorilor proprii (52) pot fi alei complex conjugai
(53) ivux 2,1
cu nRvu , liniar independeni. Din relaia de definiie
(54) ivuiivuA
rezult imediat
(55) .
vuvuA
Vectorii u i v fiind liniar independeni genereaz un subspaiu liniar vuS Im bidimensional. Fie
Syy 21, o baz ortonormal a acestui subspaiu i 2 nnRZ o completare pn la o matrice
ortogonal a matricei 221 nRyyY respectiv astfel nct matricea
(56) ZYQ 1
este ortogonal. n raport cu baza de mai sus vectorii Svu , se pot scrie
(57) 221111 ytytu , ,222112 ytytv
respectiv
(58) TYvu
unde 22RT este nesingular, ntruct u i v sunt liniar independeni. n consecin, din (55) avem
(59) 111 SYTTYAY
unde matricea
(60) 22111
RTTS
are valorile proprii complex conjugate 2,1 . Prin urmare din (56), (59) avem
(61)
0
11
YAZ
SYAYT
T
,
de unde
(62)
B
GS
AZZ
AZYSQAQA
T
TT
00
1111111
iniiindu-se reducerea la forma Schur real prin punerea n eviden a unui bloc diagonal 22 . Procesul de deflaie iniializat n (51) sau (62) poate fi continuat acionnd ca mai sus asupra matricei B,
ceea ce este echivalent cu aciunea asupra matricei 1A prin transformri ortogonale de asemnare definite
de matrice de forma ),(diag 22 QIQ . n final, dup q pai de deflaie se obine forma Schur real.
Matricea cumulat a transformrilor ortogonale este dat de
(63) .21 qQQQQ
Teorema 9.4 este demonstrat.
n continuare ne vom limita universul de investigaie la clasa de matrice predominant n practica numeric i anume cea a matricelor reale. Dac n cazul complex apar numai deflaii de tipul a), n cazul real avantajul principal const n faptul c forma Schur real a unei matrice reale poate fi calculat utiliznd exclusiv o aritmetic real. n acest fel, n procesul de calcul al valorilor proprii ale unei matrice reale numerele complexe apar numai n final, la calculul valorilor proprii ale blocurilor diagonale 22 .
Aplicarea procedurii de deflaie presupune cunoaterea la fiecare pas al procedurii, a unui vector propriu de norm unitar (respectiv a unei perechi complex conjugate de vectori proprii) asociat valorii proprii corespunztoare. Calculul unui vector propriu, n absena informaiei privitoare la valoarea proprie asociat, nu este posibil, pentru matrice de ordin superior lui patru, printr-o secven finit de operaii elementare, pentru c s-ar contrazice un rezultat fundamental din algebr conform cruia rezolvarea ecuaiilor de grad superior lui patru nu este posibil printr-un numr finit de operaii aritmetice elementare i extrageri de radical. De aceea procedura de deflaie trebuie s fie completat cu o procedur de determinare a unui vector propriu, fr cunoaterea valorii proprii asociate. O astfel de procedur va furniza, inerent, o aproximaie mai mult sau mai puin precis a vectorului propriu, att datorit erorilor de trunchiere, ct i erorilor de rotunjire. n acest context este important de tiut care este cea mai bun aproximaie a valorii proprii
asociate unui vector propriu cunoscut aproximativ. Fie nRx un astfel de vector propriu aproximativ i
considerm drept cea mai bun aproximaie a valorii proprii asociate soluia n sensul celor mai mici
ptrate a sistemului de n ecuaii i necunoscuta scalar
(64) ,xAx
i.e. acel care minimizeaz norma euclidian a reziduului de ecuaie .xxAr Conform celor artate n capitolul 3 avem
.)( 1 AxxxxxAx TT
Numrul
(65) ,xx
xAxT
T
se numete ctul Rayleigh asociat perechii ),( xA i joac un rol esenial n calculul (aproximativ) al
valorilor proprii. Pentru nceput s observm c, aplicarea procedurii de deflaie, cu transformarea (48), n
care 1x este un vector propriu aproximativ, de norm unitar, conduce la
(66)
Bh
gQAQA
TT 111
avnd dat de (65) i vectorul 1xAYhT de norm euclidian mic. Prin urmare, aplicarea
transformrii (48) reprezint, n condiiile date, un pas de deflaie optim ntruct este cea mai bun
aproximaie de care dispunem. O concluzie asemntoare se poate stabili i n cazul unei perechi de valori proprii complex conjugate.
Observaiile de mai sus evideniaz necesitatea unei proceduri de calcul a unui vector propriu. Dintre metodele cele mai folosite n acest scop sunt tehnicile iterative cunoscute sub denumirile de metoda
puterii i metoda puterii inverse.
1
Algoritmul QR cu deplasare explicit
Algoritmul QR, considerat drept unul dintre rezultatele cele mai remarcabile ale calculului
numeric matriceal (elaborat, n forma sa cea mai evoluat, independent, de ctre V.N. Kublanovskaia [20] i J.G.F. Francis [9]), este, n esen, o procedur de construcie iterativ a unui ir de matrice ortogonal asemenea cu matricea iniial i rapid convergent ctre forma Schur real. Aa cum am mai precizat, ne vom ocupa practic n exclusivitate de calculul valorilor proprii pentru matrice reale din trei motive:
- matricele reale sunt cel mai des ntlnite n aplicaii; - cazul matricelor complexe poate fi redus la cel al matricelor reale de ordin dublu (vezi
problema rezolvat R9.13.); - versiunea complex necesit introducerea mijloacelor adecvate (transformri unitare,
reflectori i rotaii complexe etc.) pentru care nu dispunem de spaiul tipografic necesar; precizm totui c ideile sunt absolut similare iar cititorul interesat poate consulta [5], [13], [29].
Toate versiunile algoritmului QR sunt organizate n dou etape:
1. etapa direct, de reducere a matricei date la forma superior Hessenberg prin transformri ortogonale de asemnare (algoritmul HQ din seciunea precedent);
2. etapa iterativ, de construcie recurent a unui ir de matrice convergent ctre forma Schur real.
n cele ce urmeaz vom considera parcurs prima etap i numai la asamblarea ntregului algoritm vom evidenia n mod explicit reducerea la forma superior Hessenberg. Partea iterativ a algoritmului QR prezint patru versiuni i anume
a) cu deplasare explicit cu pai simpli, b) cu deplasare explicit cu pai dubli, c) cu deplasare implicit cu pai simpli, d) cu deplasare implicit cu pai dubli,
dintre care numai ultima este utilizat ca baz a programelor profesionale de calcul al valorilor i vectorilor proprii. Motivele constau n faptul c versiunile cu pas simplu nu asigur convergena n prezena valorilor proprii complexe iar versiunea cu pai dubli cu deplasare explicit este ineficient, ascunznd, ntr-un mod cu totul insidios (!), calcule redundante. Totui, pentru claritatea expunerii (de exemplu, pasul dublu este, n esen, concatenarea a doi pai simpli succesivi), vom parcurge, la nivelul ideilor, relaiilor i al eventualelor scheme de calcul, toate versiunile; scrierea detaliat a algoritmului formal o vom face numai pentru versiunea cea mai evoluat i anume cea cu deplasare implicit cu pai dubli.
Algoritmul QR cu deplasare explicit cu pai simpli
Fie matricea superior Hessenberg ireductibil nnRH (dac matricea H este reductibil,
atunci problema fie i reduce dimensiunea, fie se sparge n dou subprobleme de dimensiuni mai mici). Algoritmul QR cu deplasare explicit cu pas simplu este definit de urmtoarea schem
de calcul
1. HH0
2. pentru ,2,1,0k
1. kknkk RQIH
2. nkkk1k IQRH
2
care construiete iterativ irul matriceal
,H,H,,H,H 1kk10 ,
numit irul QR. Instruciunile din ciclu definesc o iteraie sau un pas QR. n aceast seciune vom
descrie succint proprietile irului QR i vom da o justificare calitilor sale excepionale de
convergen.
Dup cum se observ, un pas QR este format dintr-o factorizare QR (vezi capitolul 2) a matricei
curente kH avnd elementele diagonale "deplasate" cu scalarul k i apoi matricea succesor
1kH se obine din multiplicarea, n ordine invers, a rezultatelor factorizrii, urmat de
refacerea deplasrii. Principalele proprieti ale acestor transformri sunt sintetizate n urmtoarea teorem.
Teorema 1 a) Matricele kH i 1kH i, prin urmare, toate matricele irului QR, sunt
ortogonal asemenea.
b) Un pas QR conserv structura superior Hessenberg. Prin urmare dac matricea iniial este superior Hessenberg, atunci toate matricele irului QR sunt superior Hessenberg.
Demonstraie. a) Din prima relaie a pasului QR avem )IH(QR nkkT
kk , de unde
kkT
knkknkk
T
knkkk1k QHQIQ)IH(QIQRH .
n consecin, toate matricele kH din irul QR sunt ortogonal asemenea cu matricea iniial H .
,2,1,0k,Q~HQ~H kT
kk
unde matricea cumulat a transformrilor ortogonale
1k10k QQQQ~
se poate obine iterativ cu relaiile
,2,1,0k,QQ~
Q~
,IQQ~
kk1kn00 .
b) Dac kH este o matrice superior Hessenberg, atunci n factorizarea QR din instruciunea 2.1
matricea ortogonal kQ rezult superior Hessenberg (demonstrai!). Cum produsul unei matrice
superior triunghiulare cu o matrice superior Hessenberg este superior Hessenberg (demonstrai!), rezult c 1kH este o matrice superior Hessenberg. Teorema este demonstrat.
Faptul c toate matricele din irul QR sunt superior Hessenberg are urmri benefice pentru
eficiena algoritmului QR (complexitatea unei iteraii se reduce de la )n(O 3 la )n(O 2 .
n continuare expunem o proprietate extrem de important a irului QR, proprietate care, nefiind adevrat ntotdeauna, nu este un fapt matematic i, prin urmare, nu a putut s fie inclus n teorema de mai sus. Proprietatea s-a dovedit adevrat practic n toate aplicaiile concrete dar a fost invalidat pe exemple special construite n acest scop. Remarcm aceast situaie paradoxal n care un rezultat fr valoare universal st la baza celei mai performante metode de calcul al valorilor proprii ale unei matrice. Enunul proprietii este urmtorul.
c) Printr-o alegere adecvat a deplasrii k irul QR converge, aproape ntotdeauna, ctre
forma Schur a matricei H .
3
Justificare. Vom arta mai mult, i anume c, printr-o alegere corespunztoare a deplasrilor k ,
aceast convergen poate fi fcut extrem de rapid. n fapt, trebuie artat c unele din elementele subdiagonale ale matricei kH se anuleaz asimptotic cnd k . Pentru
simplificare, considerm c matricea H are numai valori proprii reale, respectiv trebuie anulate asimptotic toate elementele subdiagonale (n caz contrar trebuie s lum n consideraie deplasri complexe).
nkkTkTknkkTkk IQ~HQ~QIHQR knkT 1k Q~IHQ~ , de unde avem
.Q~IHRQ~ knkk1k innd seama de faptul c matricea kR este superior triunghiular, prima coloan a egalitii
devine (n cazul Hk )
,q~IHr
1q~
k
1nkk
11
1k
1
unde 1kk
1 eQ~
q~ . Relaia arat c prima coloan a matricei ortogonale kQ~
se supune iteraiei
metodei puterii i, n consecin, tinde ctre vectorul propriu unitar asociat valorii proprii
dominante a matricei nIA (dac iniializarea 0
1~q are component nenul pe aceast
direcie, ceea ce, generic, este satisfcut), respectiv
.YxQ~limQ~ 1kk
Conform procedurii de deflaie rezult c
0hlimk
21k
,
adic matricea kH tinde ctre forma Schur n prima coloan punnd n eviden pe poziia (1,1),
o valoare proprie (real) a matricei H.
Transpunnd relaia avem nkTTkT 1kTk IHQ~
Q~
R , sau
1knkTTkk Q~
IHRQ~
. Lund egalitatea ultimelor coloane din ultima relaie obinem
knnn1knnkT q~rq~IH ,
care arat c ultima coloan a matricei kQ~
se supune iteraiei puterii inverse pentru matricea HT
cu deplasarea curent de accelerare a convergenei k . n consecin, coloana knq
~ tinde ctre
un vector propriu al matricei HT i anume ctre cel asociat valorii proprii kk
lim
,
cea mai apropiat de aproximaia iniial. Aceast convergen este cu att mai rapid cu ct deplasarea curent este mai apropiat de o valoare proprie a matricei H . n consecin, analog cu (110) i simultan cu ea, avem
nkk
uZQ~
limQ~
,
unde nu este un vector propriu unitar al matricei HT. Rezult c matricea limit a irului QR este:
.Q~HQ~Q~HQ~H TTTT
Dar, ntruct )H()H( T i nnnT
uuH , rezult relaia
4
,ZHu
0ZHZuZA
u
ZQ~
HQ~
n
TT
n
TT
n
T
T
n
T
TT
care pune n eviden o deflaie n ultima coloan a matricei HT sau, echivalent, o deflaie n
ultima linie a matricei H. innd seama de faptul c procesul iterativ are loc cu conservarea
structurii superior Hessenberg rezult c n matricea kH din irul QR avem
0hlim k 1n,nk
cu o vitez mare, caracteristic metodei puterii inverse. Din (115) reiese c
nk
n,nk
hlim
ceeace nseamn c knnh reprezint o aproximare din ce n ce mai bun a valorii proprii n . n
consecin, alegerea deplasrii
kn,nk h
asigur o convergen ptratic (adic excelent) pentru anularea elementului 1n,nh .
Am artat deci c irul QR asigur o deflaie iterativ n prima coloan i, cu alegerea (117) a
deplasrii, una foarte rapid n ultima linie. n practic se constat chiar mai mult, i anume, reducerea simultan, cu viteze diferite, a tuturor modulelor elementelor subdiagonale, fapt care explic remarcabilele proprieti de convergen ale algoritmului. Cu toate acestea exist situaii patologice, dificil de caracterizat matematic, n care irul QR nu converge (vezi [5]). Cu
aceast observaie ncheiem justificarea proprietii c).
Trunchierea procesului iterativ al irului QR se face progresiv, anulndu-se efectiv elementele
subdiagonale convergente ctre zero n momentul satisfacerii unui criteriu de forma
kk
1p,p Hh
sau, mai simplu:
kppk 1p,1pk 1p,p hhh ,
unde este o toleran precizat, iar o norm matriceal oarecare. Anularea unuia sau mai
multor elemente subdiagonale reduce, evident, dimensiunea problemei de deflaie iterativ, sprgnd eventual problema curent n dou sau mai multe probleme de aceeai natur. ntruct, aa cum s-a mai menionat, implementrile profesionale ale algoritmului QR merg pe o
cale specific (prezentat mai departe), recomandm cititorului, ca un exerciiu util, s elaboreze algoritmul de implementare a unui pas QR definit n (101) cu alegerea (117) a deplasrii. Se
recomand efectuarea calculelor pe loc, n tabloul matricei iniiale kHH . Pentru factorizarea
QR a matricei nIH din (101) se recomand utilizarea unei secvene de rotaii plane.
Calculul efectiv al matricei de transformare curente kQQ nu este necesar putndu-se utiliza
forma sa factorizat
n,1n2312 PPPQ .
Astfel schema de calcul propus pentru suprascrierea matricei kHH cu matricea succesor
1kH din irul QR are urmtoarea form.
5
1. nnh
2. nIHH
3. Pentru 1:1 nj
1. Se determin rotaia plan 1, jjP astfel nct
0)( ,11, jjT
jj HP .
2. HPH T jj 1,
4. Pentru 1:1 nj
1. 1, jjHPH
5. nIHH
Algoritmul QR cu deplasare explicit funcioneaz foarte bine n cazul matricelor cu spectru real, existena valorilor proprii complexe creaz probleme serioase n evidenierea asimptotic a blocurilor 22 din forma Schur real.
9.5.2. Algoritmul QR cu deplasare explicit cu pai dubli
Pentru depirea dificultilor legate de absena convergenei irului QR creat de utilizarea pailor simpli atunci cnd matricea are valori proprii complexe se adopt aa numita strategie a pailor dubli QR care comprim ntr-o singur iteraie doi pai simpli QR succesivi. Pentru a deduce procesarea aferent unui pas dublu curent observm c din ecuaiile a doi pai simpli QR consecutivi descrii, conform relaiilor (101), de
kknkk RQIH
nkkk1k IQRH
1k1kn1k1k RQIH
n1k1k1k2k IQRH
rezult mai nti kkT
k1k QHQH , relaie care, introdus n ecuaia a treia din (122), conduce
la 1k1kn1kkkT
k RQIQHQ . nmulind aceast relaie la stnga cu kQ i la dreapta cu
kR obinem k1k1kkkk1kkkk RRQQRQRQH , ecuaie care permite obinerea lui 2kH
direct din kH pe baza relaiilor
k1k1kknkkn1kk RRQQIHIH
1kkkT
1kk2k QQHQQH
care, la rndul lor, se mai scriu sub forma
kknkkk2
k RQIpHsHM
kk
T
k2k QHQH ,
unde 1kkk s i 1kkk p . Evident, matricea 1kkk QQQ este ortogonal
iar matricea k1kk RRR este superior triunghiular.
Ceea ce este important const n faptul c ntr-un pas dublu QR apare ca deosebit de natural alegerea celor dou deplasri k , 1k egale cu cele dou valori proprii (posibil complex
conjugate) ale blocului 22 din dreapta jos a matricei curente kH , i.e. ale matricei
6
k
n,n
k
1n,n
k
n,1n
k
1n,1n
khh
hhG .
Aceste deplasri apar n expresia matricei M numai n forma sumei i produsului
kn,nk
1n,1n1kkk hhs
kn,1n
k
1n,n
k
n,n
k
1n,1n1kkk hhhhp ,
care sunt reale, inclusiv n cazul n care blocul kG are valori proprii complexe. n consecin,
matricea M este real, produsul kkRQ reprezint factorizarea QR a matricei M cu kQ i kR
reale i deci toate calculele aferente unui pas dublu QR pot fi efectuate n exclusivitate n aritmetic real. Mai mult, matricea 2kH din (124) fiind aceeai cu matricea 2kH din (122)
pasul dublu QR conserv i el structura superior Hessenberg. n concluzie, algoritmul QR cu deplasare explicit cu pas dublu are la baz urmtoarea schem de calcul
1. Pentru ,2,1k
1. nnnn hhs 1,1
2. nnnnnnnn hhhhp ,11,1,1
3. Se calculeaz npIsHHM 2
4. Se factorizeaz QRM
5. HQQH T
care, n forma implementabil, se completeaz cu procedura de trunchiere constnd n anularea efectiv a elementelor subdiagonale ce satisfac o condiie de tipul (118) sau (119) i monitorizarea elementelor subdiagonale nule pentru detectarea terminrii (testul de terminare ar putea fi inexistena a dou elemente subdiagonale nenule consecutive). Schema asigur o convergen rapid a matricei H ctre o structur cvasisuperior triunghiular cu blocuri diagonale de dimensiune cel mult 22 care, fie c este chiar forma Schur real urmrit, fie c permite calculul direct i imediat al acestei forme prin triangularizarea, cu ajutorul unor transformri de asemnare ortogonal, a blocurilor 22 cu valori proprii reale. Motivul pentru care schema (127) nu constituie suportul implementrilor profesionale ale algoritmului QR este legat de slaba sa eficien. ntr-adevr este uor de vzut c un pas simplu
QR are o complexitate )( 2nO , datorat n principal structurii Hessenberg cu care opereaz. Doi
pai simpli QR vor avea aceeai complexitate. n schimb un pas dublu, n varianta (127) necesit
calculul explicit al matricei M, crescnd complexitatea la )( 3nO . Acest spor de efort de calcul nu
are o fundamentare teoretic ci se datoreaz mai curnd inabilitii noastre de a organiza
calculele n cadrul unui pas dublu QR n aa fel nct s pstrm complexitatea )( 2nO . Aa cum
se va vedea n seciunea urmtoare, abilitatea necesar pentru evitarea creterii complexitii este departe de a fi banal.
9.6. Algoritmul QR cu deplasare implicit
Baza teoretic a elaborrii unui algoritm eficient pentru un pas dublu QR este dat de teorema 6 conform creia reducerea unei matrice la forma superior Hessenberg prin transformri ortogonale de asemnare are matricea ortogonal de transformare determinat, n esen, de prima sa coloan.
7
Concret, putem reduce complexitatea unui pas dublu QR, la )n(O 2 procednd n modul
urmtor:
1. Se calculeaz prima coloan a matricei M , i.e. )1,:(1 Mm .
2. Se determin reflectorul elementar 1U astfel ca
0):2(11 nmU . adic
1111111 )(sign eemmmU
3. Se calculeaz
11 UHUN kT
4. Se aplic matricei N algoritmul HQ de aducere la forma superior Hessenberg:
QNQH T~
.
Procedura de mai sus calculeaz forma superior Hessenberg
Q~HQ~QUHQUH~ kT
1k
T
1
cu matricea de transformare Q~
avnd proprietatea
11111 m
1eUQeU)1,:(Q
~ ,
penultima egalitate datorndu-se faptului c QQ ,1diag (vezi algoritmul HQ), iar ultima rezult din.
Pe de alt parte, din prima relaie (124), datorit formei superior triunghiulare a matricei kR , rezult
.mr
1eQ 1k
11
1k
n concluzie, matricele ortogonale de transformare Q~
i Q au aceeai prim coloan i deci,
conform teoremei 9.6, dac matricele H~
din (113) i 2kH din (124) sunt ambele ireductibile
atunci ele sunt, esenial, aceleai. Pentru a ne convinge de complexitatea )( 2nO a procedurii vom
explicita relaiile (128) - (132). Mai nti vectorul 1m are expresia
0
hh
shhh
pshhhh
m3221
221121
112112
2
11
1
n care am omis scrierea indicelui k asociat matricei kH . Vectorul 1m avnd numai trei
componente nenule, calculul su necesit un numr de operaii independent de n , deci are o o
complexitate )1(O . n plus, reflectorul 1U din (129) are structura
3n11 I,UdiagU cu 331
RU a crui determinare are, de asemenea, o complexitate )1(O .
n calculul matricei N sunt afectate numai primele trei linii i primele trei coloane ale matricei
HHk . ntr-adevr, dac partiionm
8
33112221
1211RH,
HH
HHH
atunci
22121
12
T
1111
T
1
1
T
1HUH
HUUHUHUUN .
n plus, blocul 21H are structura
000
000
h00
H
43
21
i, prin urmare,
4n
1
00
Uh00UH
143121
adic transformarea (131) altereaz structura Hessenberg a matricei H numai n poziiile (3,1), (4,1) i (4,2). Prin urmare, aplicarea algoritmului HQ are ca obiectiv anularea, prin transformri ortogonale de asemnare, a celor trei elemente nenule ale matricei N alterante ale structurii superior Hessenberg. Pe de alt parte, aceast particularitate structural (numai trei elemente n afara structurii Hessenberg n matricea iniial) oblig la adaptarea algoritmului HQ astfel nct s se obin o eficacitate maxim. Schema de calcul a acestei particularizri a algoritmului HQ este urmtoarea.
1. Pentru 2:1 nj
1. Se determin reflectorul elementar 1jU astfel nct
0),)(( 1 jiNU j pentru 3:2 jji i ni .
2. NUN j 1
3. NNUN j 1
cu precizarea c diferena fa de algoritmul HQ standard const n faptul c de data aceasta, la
fiecare pas se anuleaz numai dou elemente (la ultimul, unul singur), celelalte elemente fiind nule din start.
SNu este greu de constatat c reflectorii elementari utilizai n schema (142) au structura
3n:1j,I,U,IdiagU 3jn1jj1j ,U,IdiagU 1n2n1n
unde 221n33
1j RU,RU
sunt reflectorii elementari de ordinul 3, respectiv 2.
Pe aceast baz rezult imediat c numrul asimptotic de operaii aritmetice necesar pentru
execuia schemei (142) este 2op n10N , la care se adaug 2n extrageri de radicali. Dac se
dorete acumularea transformrilor, respectiv calculul matricei Q din relaia (132)
1n21 UUUQ ,
sunt necesare 2op n10N operaii suplimentare.
9
Exemplificm, pentru clarificare, evoluia structural datorat execuiei schemei (142), pentru cazul particular 5n .
000
N
000
||
||
||
2NUN
||0
||0
||0
||
||
2NUN
||0
||0
||03NUN
|00
|00
|0
|
|
3NUN
||00
||00
04 NUN
||000
||00
||0
||
||
4NUN .
n diagramele de mai sus simbolul marcheaz elementele care altereaz structura Hessenberg,
simbolul marcheaz elementele anulate la pasul curent, iar ncadrrile marcheaz elementele
afectate de multiplicarea matriceal curent. n concluzie, complexitatea pasului dublu QR cu deplasare implicit, definit de (128)-(132) i
prezentat prima dat de J. Francis [9] i V.N. Kublanovskaia [20] n 1961 este )( 2nO , aceast
form reprezentnd baza implementrilor performante ale algoritmului QR de reducere iterativ a unei matrice la forma Schur real. n scrierea efectiv a algoritmului de implementare a unui pas dublu QR cu deplasare implicit, din motive de concizie, vom utiliza funciile refmat i matref de premultiplicare, respectiv de postmultiplicare cu un reflector elementar (vezi algoritmii 9.3 i 9.4), al cror apel ine seama de structura special din acest caz. De asemenea, nu se realizeaz calculul efectiv al matricei de transformare dar vor fi furnizate elementele definitorii ale reflectorilor utilizai. Concret, pentru calculul matricei Q este suficient cunoaterea reflectorilor de ordinul 3 i 2
2n:1j,Ru,
uuIU
3
j
j
T
jj
3j
,Ru,
uuIU
2
1n
1n
T
1n1n21n
ale cror elemente definitorii vor fi memorate ntr-o matrice 1n3RV astfel nct
2n:1j,u)j,:(V j ,
0
u)1n,:(V
1n i un vector 1nRb al
scalarilor .1n:1j,j
Cu aceste precizri, prezentm mai jos algoritmul de implementare a unui pas dublu QR cu deplasare implicit, cu comentarii care s permit identificarea simpl a consideraiilor teoretice de mai sus.
10
Algoritmul 6
],,[ bVH QR2 ),( Hn
/* Implementarea unui pas dublu QR cu deplasare implicit. /* Intrri: n = ordinul matricei Hessenberg ireductibile de intrare; /* H = matricea real superior Hessenberg ireductibil
/* Ieiri: HQQH T - suprascrierea matricei de intrare cu matricea
/* succesor din irul QR cu pai dubli;
/* )1(3 nRV matrice cu elementele vectorilor de ordinul 3 ce
/* definesc reflectorii utilizai;
/* 1 nRb vectorul ce conine scalarii j .
1./* Calculul sumei i produsului deplasrilor (126) 1. ),()1,1( nnHnnHs
2. )1,(),1(),()1,1( nnHnnHnnHnnHp
2. /* Calculul elementelor nenule din 1m cu (136)
1. psHHHHm )1,1()1,2()2,1())1,1(()1( 21
2. sHHHm )2,2()1,1()1,2()2(1 3. )2,3()1,2()3(1 HHm
3. /* Calculul reflectorului elementar 1U din (137)
1. 211
))1((sign mm
2. )1()1( 1mu
3. )3:2()3:2( 1mu
4. uV )1,:(
5. )1()1( 1 ub
4. /*Calculul matricei 11 HUUNHT din (131)
1. )]:,3:1([H refmat )):,3:1(),1(,( Hbu
2. )]3:1,4:1([H matref ))1(,),3:1,4:1(( buH
5. /*Readucerea lui H la forma superior Hessenberg
1. Pentru 3:1 nj
1. /* Calculul reflectorului 1jU
1. 2
),3:1()),1((sign jjjHjjH
2. ),1()1( jjHu
3. ),3:2()3:2( jjjHu
4. ujV )1,:(
5. )1()1( 1 ujb j
2. /* Calcul 11 jT
j HUUH
1. ),1( jjH
2. 0),3:2( jjjH
3. )]:1,3:1([ njjjH
refmat )):1,3:1(),1(,( njjjHjbu
4. ),4min( njr
5. )]3:1,:1([ jjrH
11
matref ))1(,),3:1,:1(( jbujjrH
2. /* Calculul reflectorului 1nU
1. 2
)2,:1())2,1((sign nnnHnnH
2. )2,1()1( nnHu
3. )2,()2( nnHu
4. 0)3( u
5. unV )1,:(
6. )1()1( 1 unb n
3. /* Calculul 11 nT
n HUUH
1. )2,1( nnH
2. 0)2,( nnH
3. )]:1,:1([ nnnnH
refmat )):1,:1(),1(),2:1(( nnnnHnbu
4. )]:1,:1([ nnnH
matref ))1(),2:1(),:1,:1(( nbunnnH
Algoritmul 5 de reducere la form superior Hessenberg i algoritmul 9.6 de iterare n construcia irului QR reprezint baza programelor profesionale de calcul a valorilor proprii (cum ar fi cele din sistemele de programe tiinifice EISPACK, LAPACK, MATLAB, MATEMATICA). Pentru a descrie ntregul proces de calcul, cunoscut sub numele de algoritmul QR, trebuie s controlm procesul iterativ prin anularea efectiv a elementelor subdiagonale la scderea lor sub un prag precizat, monitorizarea elementelor subdiagonale nule i, pe aceast cale, creterea eficienei prin reducerea progresiv a dimensiunii. Pentru implementarea acestor aspecte vom utiliza faptul c deflaia iterativ are loc, cel mai rapid, n raport cu colul din dreapta jos al matricei H i, cu o vitez de convergen ceva mai redus, n raport cu colul din stnga sus. n consecin, se impune, n monitorizarea zerourilor subdiagonale, partiia, la fiecare iteraie, a matricei curente H din irul QR n forma
,RH,RH,
H00
HH0
HHH
Hqq
33
pp
11
33
2322
131211
astfel nct blocul diagonal 33H s aib o structur cvasisuperior-triunghiular (adic o structur
cu blocuri diagonale de dimensiuni cel mult 22 ) de dimensiune maxim, iar blocul 22H s fie
superior Hessenberg ireductibil, de asemenea de dimensiune maxim (ceea ce implic p minim). Cu aceast partiie iteraia curent se materializeaz n aplicarea pasului dublu QR submatricei
22H
2222T
2222 QHQH ,
ceea ce deriv din aplicarea transformrii ortogonale de asemnare globale
q22pqT22p I,Q,IdiagHI,Q,IdiagH , cu urmtoarele efecte asupra celorlalte blocuri ale partiiei
221212 QHH , 23T
2223 HQH .
Algoritmul i epuizeaz funcia n momentul n care ntreaga matrice H devine cvasisuperior triunghiular, respectiv parametrul q atinge dimensiunea n a matricei.
12
Rezultatul procesului iterativ, cu monitorizarea structural de mai sus, este o structur a matricei H avnd blocuri diagonale de dimensiune 11 sau 22 . Pentru a obine forma Schur real, care este obiectivul declarat al algoritmului QR, trebuie triangularizate blocurile 22 cu valori
proprii reale. Pentru a vedea cum se poate realiza aceast operaie, vom proceda la deflaia (vezi
9.2) unei matrice 22RB cu
0b21
i satisfcnd condiia
0bb4bb 21122
2211 ,
de existen a valorilor proprii reale
2
bb,
2
bb 22112
2211
1
.
Determinnd un vector propriu unitar asociat lui 1 i completndu-l pn la o matrice
ortogonal, este uor de vzut c transformarea ortogonal de asemnare definit de matricea de rotaie
cs
scP
cu
2221
2
21
21
2
221
2
21
221
bb
bs,
bb
bc
conduce la realizarea triangularizrii urmrite
2
21121T
0
bbPBPC .
La nivelul matricei cvasisuperior triunghiulare H, dac blocul diagonal 22 cu valori proprii
reale se afl pe liniile i coloanele 1k,k , atunci pentru triangularizarea lui se aplic o
transformare de forma
1kn1k1knT1k I,P,IdiagHI,P,IdiagH
cu P calculat ca mai sus.
La fel ca i n cazul reflectorilor, pentru descrierea algoritmic a transformrii (156) vom introduce dou proceduri. Prima procedur, numit rotmat, va realiza premultiplicarea, cu
suprascriere, PAA a unei matrice p2RA cu o rotaie 22RP avnd expresia (153)
i dat de parametri scalari c i s .
Algoritmul 7.
][A rotmat ),,( Asc
/* Premultiplicarea unei matrice cu o rotaie. /* Intrri: sc, = parametri definitori ai rotaiei;
/* pRA 2 = matricea dat.
/* Ieiri: PAA .
1. Pentru pj :1
1. ),2(),1( jsAjcA
2. ),2(),1(),2( jcAjsAjA
13
3. ),1( jA
Evident, un apel ][A rotmat ),,( Asc va realiza suprascrierea APA T .
A doua procedur, numit matrot, va realiza postmultiplicarea, cu suprascriere, APA a unei
matrice 2 mRA cu o rotaie 22RP avnd expresia (153) i dat de parametri scalari c i s .
Algoritmu 8.
][A matrot ),,( scA
/* Postmultiplicarea unei matrice cu o rotaie. /* Intrri: sc, = parametri definitori ai rotaiei;
/* 2 mRA = matricea dat.
/* Ieiri: APA .
1. Pentru mi :1
1. siAciA )2,()1,(
2. ciAsiAiA )2,()1,()2,(
3. .)1,( iA
Suntem n msur acum s prezentm, n toat plenitudinea sa, algoritmul QR. Toate matricele irului QR vor suprascrie matricea iniial dat. n mod facultativ, pe baza variabilei de opiune
opt algoritmul calculeaz matricea de transformare ortogonal cumulat Q . Pentru concizie,
produsele matriceale nu au fost explicitate, dar se atrage atenia c ele trebuie fcute ct mai economicos, exploatnd particularitile structurale ale matricelor factor. Algoritmul 9.
],[ QA QR )opt,,,( An
/* Algoritmul QR de reducere a unei matrice reale la forma Schur
/* real prin transformri ortogonale de asemnare. /* Intrri: n = ordinul matricei iniiale A ;
/* A = matricea dat;
/* = tolerana pentru detectarea elementelor de modul neglijabil;
/* opt = opiunea de calcul a matricei de transformare (Y sau N).
/* Ieiri: AQQSA T - matricea redus la forma Schur real;
/* Q = matricea ortogonal de transformare.
1. /* Iniializarea matricei Q
1. nIQ
2. /* Reducerea matricei A la form superior Hessenberg
1. ],,,[ bVQA HQ )opt,,( An
3. /* Reducerea matricei superior Hessenberg la form cvasisuperior triunghiular 1. 0p
2. 0q
3. Ct timp nq
1. /* Anularea elementelor subdiagonale neglijabile
1. Pentru 1:1 qnpi
1. Dac )),1(),((),1( iiAiiAiiA atunci
14
1. 0),1( iiA
2./* Stabilirea valorii maxime pentru q i a valorii minime
pentru p astfel nct blocul superior Hessenberg 22A din
(122) s fie ireductibil de dimensiune maxim. 1. TRUEtest
2. Ct timp TRUEtest i nq
1. Dac 0)1,( qnqnA atunci
1. 1 qq
altfel
1. Dac 1 nq i 0)2,1( qnqnA atunci
1. 2 qq
altfel
1. FALSEtest
3. Dac 2 nq atunci
1. 1 qnp
2. Ct timp 0)1,( ppA
1. 1 pp
altfel
1. /* Matricea A are form cvasisuperior triunghiular. /*Triangularizarea blocurilor diagonale 22 cu valori
proprii reale
1. 1i
2. Ct timp ni
1. Dac 0),1( iiA atunci
1. )1,(),1(4)1,1(),( 2 iiAiiAiiAiiA 2. Dac 0 atunci
1. )1,1(),( iiAiiA
2.
3. 2
1
4. 2
2
5. 212
)1,1(),1( iiAiiA
6.
),1(,
)1,1(1 iiAsiiA
c
7. 21 )1,1(,),( iiAiiA
8. ),1()1,()1,( iiAiiAiiA
9. 0),1( iiA
10. Dac 1i atunci
1. )1:,1:1( iiiA
matrot ),),1:,1:1(( sciiiA
11. Dac ni 1 atunci
1. ):1,1:( niiiA
rotmat )):1,1:(,,( niiiAsc
15
12. Dac opt =Y atunci
1. )1:(:, iiQ matrot ),),1:(:,( sciiQ
13. 2 ii
altfel
1. 1 ii
3. /* Terminarea algoritmului
1. RETURN
4. /* Aplicarea unui pas dublu QR cu deplasare implicit blocului diagonal 22A