calculul valorilor ¸si vectorilor proprii - schur.pub.ro · valorile ¸si vectorii proprii joaca...

333
Capitolul 4 Calculul valorilor ¸ si vectorilor proprii Valorile ¸ si vectorii proprii joac˘ a un rol fundamental ˆ ın descrierea matematic˘ a a unor categorii foarte largi de procese tehnice, economice, biologice etc. Astfel, propriet˘ at ¸i esent ¸iale (cum este, e.g. stabilitatea) ale modelelor matematice cunoscute sub denu- mirea de sisteme dinamice se exprim˘ ın raport cu valorile proprii ale unor matrice. ˆ In acest context, calculul cˆ at mai eficient ¸ si mai exact al valorilor ¸ si vectorilor proprii se impune cu necesitate. Cadrul cel mai natural de abordare a problemei este cel al matricelor complexe, ˆ ın care caz valorile ¸ si vectorii proprii sunt, ˆ ın general, numere complexe, respectiv vectori complec¸ si. Totu¸ si, majoritatea problemelor tehnice conduc la necesitatea calculului valorilor ¸ si vectorilor proprii pentru matrice reale. De¸ si valorile proprii ¸ si vectorii proprii asociat ¸i ai unei matrice reale pot fi numere complexe, respectiv vectori complec¸ si, calculul cu numere complexe este sensibil mai put ¸in eficient ¸ si, din acest motiv, ˆ ın cazul datelor init ¸iale reale, dezvolt˘ arile procedurale vor urm˘ ari utilizarea, practic exclusiv˘ a, a calculului cu numere reale. 4.1 Formularea problemei 4.1.1 Valori ¸ si vectori proprii Valorile ¸ si vectorii proprii pentru o matrice p˘ atrat˘ a A I C n×n sunt not ¸iuni introduse ˆ ın capitolul 1 ˆ ın contextul prezent˘ arii unor algoritmi de calcul elementari (sect ¸iunea 1.10). Problema determin˘ arii valorilor ¸ si vectorilor proprii poate fi apreciat˘ a ca fiind simpl˘ a numai pentru matrice cu structur˘ a triunghiular˘ a, caz care a ¸ si fost tratat ˆ ın capitolul ment ¸ionat (v. algoritmul 1.23). Cu riscul de a ne repeta, relu˘ am cˆ ateva definit ¸ii ¸ si rezultate fundamentale intro- duse ˆ ın § 1.10 cu dezvolt˘ arile corespunz˘ atoare necesare abord˘ arii problemei ˆ ın cazul general. 209

Upload: others

Post on 31-Aug-2019

42 views

Category:

Documents


1 download

TRANSCRIPT

Capitolul 4

Calculul valorilor sivectorilor proprii

Valorile si vectorii proprii joaca un rol fundamental ın descrierea matematica a unorcategorii foarte largi de procese tehnice, economice, biologice etc. Astfel, proprietatiesentiale (cum este, e.g. stabilitatea) ale modelelor matematice cunoscute sub denu-mirea de sisteme dinamice se exprima ın raport cu valorile proprii ale unor matrice.In acest context, calculul cat mai eficient si mai exact al valorilor si vectorilor propriise impune cu necesitate.

Cadrul cel mai natural de abordare a problemei este cel al matricelor complexe,ın care caz valorile si vectorii proprii sunt, ın general, numere complexe, respectivvectori complecsi. Totusi, majoritatea problemelor tehnice conduc la necesitateacalculului valorilor si vectorilor proprii pentru matrice reale. Desi valorile propriisi vectorii proprii asociati ai unei matrice reale pot fi numere complexe, respectivvectori complecsi, calculul cu numere complexe este sensibil mai putin eficient si,din acest motiv, ın cazul datelor initiale reale, dezvoltarile procedurale vor urmariutilizarea, practic exclusiva, a calculului cu numere reale.

4.1 Formularea problemei

4.1.1 Valori si vectori proprii

Valorile si vectorii proprii pentru o matrice patrata A ∈ ICn×n sunt notiuni introduseın capitolul 1 ın contextul prezentarii unor algoritmi de calcul elementari (sectiunea1.10). Problema determinarii valorilor si vectorilor proprii poate fi apreciata ca fiindsimpla numai pentru matrice cu structura triunghiulara, caz care a si fost tratat ıncapitolul mentionat (v. algoritmul 1.23).

Cu riscul de a ne repeta, reluam cateva definitii si rezultate fundamentale intro-duse ın § 1.10 cu dezvoltarile corespunzatoare necesare abordarii problemei ın cazulgeneral.

209

210 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Definitia 4.1 Fie o matrice A ∈ ICn×n. Un numar λ ∈ IC se numeste valoareproprie a matricei A, daca exista un vector nenul x ∈ ICn astfel ıncat

Ax = λx. (4.1)

Un vector x 6= 0 care satisface (4.1) se numeste vector propriu al matricei A asociatvalorii proprii λ.

Valorile proprii ale matricei A ∈ ICn×n, conform teoremei 1.13, sunt zerourilepolinomului caracteristic

p(λ) = det(λIn −A), (4.2)

care este un polinom de gradul n cu coeficienti complecsi 1. In consecinta, oricematrice A ∈ ICn×n are exact n valori proprii complexe, nu neaparat distincte.

Daca matricea este reala, atunci polinomul caracteristic are coeficientii reali sivalorile proprii complexe apar ın perechi complex-conjugate 2. Daca x = u+iv ∈ ICn

cu u, v ∈ IRn, este un vector propriu asociat valorii proprii λ = α + iβ, α, β ∈ IR,β 6= 0, a unei matrice reale, atunci x = u− iv este un vector propriu asociat valoriiproprii λ = α− iβ (verificati!).

Ordinul de multiplicitate ni al radacinii λi a polinomului caracteristic se numestemultiplicitate algebrica a valorii proprii respective. Daca ni = 1 valoarea proprie λise numeste simpla.

Multimea

λ(A) = {λ1, λ2, ..., λn} = {λ ∈ IC | det(λI −A) = 0} (4.3)

a valorilor proprii ale unei matrice A ∈ ICn×n se numeste spectrul matricei A, iarnumarul real nenegativ

ρ(A) = max(|λ1|, |λ2|, ..., |λn|) (4.4)

se numeste raza spectrala a matricei A. Deci, ın planul complex IC, valorile propriiale unei matrice A sunt situate ın discul ınchis de raza ρ(A) cu centrul ın origine.

Se poate arata imediat ca valorile proprii ale unei matrice A ∈ ICn×n satisfacrelatiile

n∑

i=1

λi =

n∑

i=1

aiidef= tr(A),

n∏

i=1

λi = det(A), (4.5)

unde tr(A) este, prin definitie, urma matricei A. In particular, o matrice estesingulara daca si numai daca are (cel putin) o valoare proprie nula.

Vectorii proprii introdusi prin definitia 4.1 sunt denumiti uneori vectori propriila dreapta ai matricei A si satisfac sistemul liniar omogen singular

(λIn −A)x = 0. (4.6)

Deci, fiecarei valori proprii ıi corespunde cel putin un vector propriu. Vectorii propriiasociati valorilor proprii distincte sunt liniar independenti.

1Ecuatia p(λ) = 0 se numeste ecuatie caracteristica a matricei A.2 O multime de numere (reale si complexe) ın care numerele complexe apar ın perechi complex-

conjugate va fi numita ın continuare multime simetrica.

4.1. FORMULAREA PROBLEMEI 211

In acest context, vectorii proprii la stanga sunt vectorii nenuli y ∈ ICn ce satisfacconditia

yHA = λyH , (4.7)

unde H reprezinta operatorul cumulat de transpunere si conjugare. Aplicand ope-ratorul H relatiei (4.7) obtinem

AHy = λy, (4.8)

i.e. vectorii proprii la stanga ai matricei A asociati valorii proprii λ sunt vectoriproprii (la dreapta) ai matricei AH asociati valorii proprii λ ∈ λ(AH). De aicirezulta

λ(AH) = λ(A), (4.9)

adica valorile proprii ale matricei AH sunt conjugatele valorilor proprii ale matriceiA.

Intrucat det(λIn − A) = det(λIn − AT ) matricele A si AT au acelasi polinomcaracteristic si, deci, aceleasi valori proprii dar vectorii proprii, ın general, difera.Cum un vector propriu y al matricei AT asociat valorii proprii λ satisface AT y = λysau yTA = λyT vectorii proprii reali ai matricei AT sunt vectori proprii la stangaai matricei A.

Daca xi este un vector propriu al matricei A asociat valorii proprii λi, vectorulyi = αxi este, de asemenea, un vector propriu al matricei A asociat aceleiasi valoriproprii λi, oricare ar fi α ∈ IC, α 6= 0. Mai mult, este clar ca multimea vectorilorproprii asociati unei valori proprii λi ımpreuna cu vectorul nul din ICn formeazasubspatiul liniar Vi = Ker(λiIn − A) ⊂ ICn numit subspatiul propriu asociat valoriiproprii λi. Dimensiunea νi = dimVi a subspatiului propriu, i.e. numarul de vectoriproprii liniar independenti asociati lui λi, se numeste multiplicitate geometrica avalorii proprii λi. Este evident ca

νi ≤ ni. (4.10)

4.1.2 Subspatii invariante

Subspatiile proprii sunt subspatii A-invariante ın sensul definitiei urmatoare(v. si § 1.10).

Definitia 4.2 Fie o matrice A ∈ ICn×n. Un subspatiu liniar V ⊂ ICn se numestesubspatiu invariant al matricei A sau, pe scurt, subspatiu A-invariant daca

AV ⊂ V i.e. Ax ∈ V , ∀x ∈ V . (4.11)

Cum IRn ⊂ ICn, pot exista subspatii A-invariante ın IRn pentru matrice A complexe.De asemenea, pentru matrice A reale pot exista subspatii A-invariante care nu suntın IRn. Dintre proprietatile subspatiilor A-invariante amintim urmatoarele.

212 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Propozitia 4.1 Fie matricea A ∈ ICn×n.1◦. Daca x1, x2, . . . , xp sunt vectori proprii ai matricei A, atunci subspatiul

S = Im[x1 x2 . . . xp ] ⊂ ICn este A-invariant.2◦. Daca S este un subspatiu A-invariant cu dimS = p si coloanele matricei

(monice) V = [ v1 v2 . . . vp ] ∈ ICn×p formeaza o baza a lui S, atunci exista o matriceB ∈ ICp×p astfel ıncat

AV = V B. (4.12)

Mai mult, avem

λ(B) ⊂ λ(A). (4.13)

(Matricea B se numeste restrictia matricei A la subspatiul A-invariant S si senoteaza B = A|S.)In particular, orice subspatiu A-invariant nenul (i.e. p ≥ 1) contine un vectorpropriu al matricei A. Reciproc, daca are loc o relatie de forma (4.12), atunci ImVeste un subspatiu A-invariant.

3◦ Complementul ortogonal T = S⊥ ın ICn al subspatiului A-invariant S este unsubspatiu AH-invariant.

In cazul real un subspatiu A-invariant generat de vectori proprii reali este, evi-dent, real. Daca x1,2 = v1 ± iv2, v1, v2 ∈ IRn, sunt vectori proprii asociati uneiperechi de valori proprii complex conjugate λ1,2 = α ± iβ, α, β ∈ IR, β 6= 0,atunci vectorii v1, v2 sunt liniar independenti si S = Im [ v1 v2 ] este un subspatiuA-invariant. Mai mult, daca are loc o relatie de forma (4.12), unde coloanele luiV ∈ IRn×p formeaza o baza a unui subspatiu A-invariant S ⊂ IRn, atunci restrictiaB ∈ IRp×p a lui A la S satisface (4.13) cu λ(B) o multime simetrica. In sfarsit,complementul ortogonal T = S⊥ ın IRn al subspatiului A-invariant real S este unsubspatiu AT -invariant.

Demonstratie. Proprietatea 1◦ este evidenta. Pentru a arata 2◦ sa observamca Avj ∈ S, de unde rezulta Avj = V bj, j = 1 : p, i.e. (4.12) este adevarata.Daca z ∈ ICp este un vector propriu al matricei B, i.e. Bz = µz, asociat valoriiproprii µ ∈ λ(B), atunci din (4.12) avem AV z = µV z. Cum z 6= 0 iar V estemonica, rezulta y = V z 6= 0, i.e. y este un vector propriu al lui A continut ınS. In consecinta, S contine un vector propriu al matricei A si avem µ ∈ λ(A),deci (4.13) este adevarata. Acum, daca are loc o relatie de forma (4.12), atunciAV z = V Bz = V w ∈ ImV, ∀ z ∈ ICp, i.e. ImV este A-invariant. 3◦. Fie x ∈ S,y ∈ T doi vectori arbitrari. Atunci Ax ∈ S si, deci, yHAx = (AHy)

Hx = 0. Cum

x ∈ S este arbitrar, rezulta AHy ⊥ S, respectiv AHy ∈ T , i.e. T este AH -invariant.In cazul real, din A(v1 ± iv2) = (α± iβ)(v1 ± iv2) rezulta

{Av1 = αv1 − βv2Av2 = βv1 + αv2

, i.e. AV = V B cu B =

[α −ββ α

]

. (4.14)

Daca v1, v2 sunt liniar dependenti, atunci v2 = γv1 cu γ 6= 0 si din (4.14) rezultaβ(1 + γ2)v1 = 0. Cum β 6= 0, obtinem v1 = 0, de unde v2 = 0 si x1,2 = 0, ceeace contrazice definitia vectorilor proprii. Celelalte afirmatii se demonstreaza similarcazului complex. 3

4.1. FORMULAREA PROBLEMEI 213

Exemplul 4.1 Se considera matricea

A =1

6

5 25 9−1 −5 −90 24 24

care are polinomul caracteristic

p(λ) = det(λI3 −A) = λ3 − 4λ2 + 6λ− 4

si valorile proprii λ1 = 2, λ2,3 = 1± i. Vectorii

x1def= v1 =

−1−12

, x2,3def= v2 ± i v3 =

5−12

± i

22−2

sunt vectori proprii ai matricei A asociati valorilor proprii λ1 si, respectiv, λ2,3. FieV1 = v1 si V23 = [ v2 v3 ]. Avem urmatoarele relatii de tipul (4.12) (verificati!):

AV1 = V1B1 cu B1 = 2, AV23 = V23B23 cu B23 =

[1 1−1 1

]

si, prin urmare, S1 = ImV1 si S23 = ImV23 (vezi fig.4.1) sunt subspatii A-invariante,

������:

CCCCW

@@

@I

-

6

��

��

��

���+

������������

������������

CCCCCCCCC

CCCCCCCCC

@@

@@

@@@

@@

@@

0 1

2

3IR3

v1 v2

v3

S1=ImV1

S23=ImV23

Fig. 4.1: Vectori proprii si subspatii A-invariante pentru matricea A din exemplul4.1.

iar B1 = A|S1 si B23 = A|S23 sunt restrictii ale matricei A la cele doua subspatii(sunt aceste restrictii unic determinate?). Propunem cititorului sa calculeze com-plementele ortogonale ın IR3 ale celor doua subspatii si sa verifice ca aceste subspatiisunt AT -invariante. 3

Problema de calcul care face obiectul acestui capitol este determinarea valorilorsi vectorilor proprii ai unei matrice date. Desi pentru calculul unei valori proprii

214 CAPITOLUL 4. VALORI SI VECTORI PROPRII

sau al unui grup de valori proprii pot fi utilizate tehnici specifice, ne vom concentrademersul nostru, ın principal, asupra problema de calcul al ıntregului spectru. Pro-blema calculului vectorilor proprii va fi tratata ın subsidiar, tinand seama si defaptul ca ın multe aplicatii calculul explicit al vectorilor proprii poate fi (si este binesa fie) evitat.

4.1.3 Matrice asemenea

Urmand metodologia generala de reducere a unei probleme de calcul la alte proble-me mai simple, utilizata si ın capitolele precedente, suntem interesati sa evidentiemtransformarile matriceale care conserva spectrul unei matrice date.

Asa cum s-a specificat si ın § 1.10, valorile proprii sunt conservate de trans-formarile de asemanare definite mai jos.

Definitia 4.3 Doua matrice A,B ∈ ICn×n se numesc asemenea daca exista o ma-trice nesingulara T ∈ ICn×n astfel ıncat

B = T−1AT. (4.15)

Daca matricea de transformare T este unitara, atunci matricele A si B se numescunitar asemenea. In cazul real, daca matricea de transformare T este ortogonala,matricele A si B se numesc ortogonal asemenea.

Intr-adevar, conform teoremei 1.14, daca matricele A,B ∈ ICn×n satisfac o relatiede forma (4.15), i.e. sunt asemenea, atunci ele au acelasi spectru 3

λ(A) = λ(B) (4.16)

si daca x este un vector propriu al matricei A asociat valorii proprii λ ∈ λ(A),atunci vectorul

y = T−1x (4.17)

este un vector propriu al matricei B, asociat aceleiasi valori proprii.

In dezvoltarile din aceasta lucrare vom insista asupra cazului generic al matri-celor de ordin n care admit un set (complet) de n vectori proprii liniar independenti.Asa cum s-a demonstrat ın teorema 1.15, ın acest caz, utilizand ın (4.15) ca matricede transformare T = X , unde X este o matrice avand drept coloane n vectoriproprii liniar independenti ai matricei A, obtinem o matrice diagonala:

X−1AX = Λ = diag (λ1, λ2, ..., λj , ..., λn ) ∈ ICn×n. (4.18)

Astfel de matrice se numesc diagonalizabile (peste IC). Daca o matrice n× n are nvalori proprii distincte, atunci este diagonalizabila dar reciproca nu este, ın general,adevarata 4.

3 De remarcat faptul ca transformarile uzuale cum ar fi multiplicarile cu matrice (la stanga

sau la dreapta) altereaza spectrul matricei date. In particular, operatiile elementare cu linii saucoloane, inclusiv permutarile, pot modifica valorile si vectorii proprii.

4 O matrice cu toate valorile proprii simple (i.e. distincte) se numeste cu spectru simplu, iarmatricele care admit seturi complete de vectori proprii liniar independenti sunt cunoscute subdenumirea de matrice simple. In acest din urma caz multiplicitatile algebrice ale valorilor propriidistincte coincid cu multiplicitatile lor geometrice. Evident, matricele cu spectru simplu suntsimple dar nu si reciproc.

4.1. FORMULAREA PROBLEMEI 215

In cazul general, structura ”fina” a unei matrice, care poate fi dezvaluita printransformari de asemanare corespunzatoare, este data de asa numita forma canonicaJordan. Desi forma canonica Jordan joaca un rol esential ın analiza matriceala,continand maximum de informatie structurala privitor la o matrice data, totusirolul ei ın calculul numeric este mult diminuat de sensibilitatea structurii Jordan laperturbatii numerice ın elementele matricei initiale, perturbatii inerente ın calculeefectuate pe un calculator datorita reprezentarii informatiei numerice ın virgulamobila. Acesta este motivul pentru care ın toate dezvoltarile numerice se preferao structura mult mai robusta si anume forma Schur reala sau complexa prezentataıntr-una din sectiunile urmatoare 5.

4.1.4 Valorile proprii ale matricelor simetrice si hermitice

Prezentam ın continuare cateva rezultate referitoare la valorile si vectorii propriipentru matricele hermitice (simetrice). Matricele hermitice (simetrice) se ıntalnescın numeroase aplicatii si prezinta particularitati remarcabile.

Definitia 4.4 Fie A ∈ ICn×n. Matricea A se numeste normala daca

AHA = AAH . (4.19)

In cazul real, matricea A ∈ IRn×n este normala daca

ATA = AAT . (4.20)

In acest context reamintim ca matricea A se numeste hermitica daca AH = Asi simetrica daca AT = A. De asemenea, o matrice A ∈ ICn×n se numeste unitaradaca AHA = In si ortogonala daca ATA = In.

Se constata imediat ca matricele hermitice si cele unitare sunt matrice normale.Matricele hermitice au proprietatea ca elementele simetrice fata de diagonala prin-cipala sunt complex conjugate, i.e. aij = aji, i, j ∈ 1 : n, deci elementele diagonaleale matricelor hermitice sunt reale. O matrice hermitica reala este simetrica. Omatrice unitara reala este ortogonala. Prin urmare matricele reale simetrice sauortogonale sunt normale. Exista matrice normale care nu sunt nici simetrice nici

ortogonale, de exemplu A =

[1 −11 1

]

.

Prezentam ın continuare cateva rezultate fundamentale, urmand ca aspectelespecifice legate de calculul efectiv al valorilor si vectorilor proprii pentru matricehermitice (simetrice) sa fie date ın doua sectiuni distincte (§ 4.8 si § 4.9), iar celelegate de conditionare si stabilitate ın § 4.10 si § 4.11.Teorema 4.1 O matrice n×n complexa A este normala daca si numai daca admiteun set complet de n vectori proprii ortogonali, adica exista o matrice unitara Q ∈∈ ICn×n ale carei coloane sunt vectori proprii ai matricei A astfel ıncat

QHAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ ICn×n. (4.21)

5 Algoritmii de reducere la forma canonica Jordan, prezentati ın unele lucrari de matematica(vezi, e.g. [ XVI ]) nu prezinta interes practic decat ın contextul unor medii de calcul exact. Pentrudetalii privitoare la aspectele numerice si algoritmice ale calculului formei canonice Jordan, vezisectiunea 4.7.

216 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Altfel spus, matricele normale sunt matricele unitar diagonalizabile (peste IC).In cazul real, matricea A este normala daca si numai daca satisface aceleasi

conditii, i.e. este unitar diagonalizabila.

Demonstratie.Presupunem ca matricea A este normala. Demonstram mai ıntai urmatorul

rezultat preliminar.

Lema 4.1 Daca S este un subspatiu simultan A-invariant si AH-invariant, atunciA si AH admit un vector propriu comun x continut ın S 6. Daca Ax = λx atunciAHx = λx.

Subspatiul S fiind A-invariant, ın conformitate cu propozitia 4.1, punctul 2◦, existaun vector propriu x al matricei A (i.e. care satisface Ax = λx, x 6= 0) continut ın

S. Din (4.19) rezulta imediat ca A(AH)k= (AH)

kA. Deci A(AH)

kx = λ(AH)

kx,

k = 0, 1, 2, . . ., i.e. yk = (AH)kx 6= 0 sunt vectori proprii ai matricei A asociati

aceleiasi valori proprii λ. Cum subspatiul S este si AH -invariant rezulta ca totivectorii yk sunt continuti ın S. Fie p ıntregul pentru care y0, y1, . . . , yp−1 suntliniar independenti, iar yp este o combinatie liniara a acestora. Atunci, subspatiulS ′ = ImY ⊂ S, unde Y = [ y0 y1 . . . yp−1 ] este A-invariant (conform propozitiei4.1, punctul 1◦) si, fiind generat de vectori proprii asociati aceleiasi valori proprii,orice vector nenul din S ′ este vector propriu al lui A. Pe de alta parte, S ′ estesi AH -invariant ıntrucat ∀x = Y u ∈ S avem AHx = AHY u = Y v ∈ S ′. Inconsecinta, conform propozitiei 4.1, 2◦, exista o matrice B astfel ıncat AHY = Y B,de unde rezulta AHY z = Y Bz = µY z pentru orice vector propriu z al ei asociatvalorii proprii µ ∈ λ(B). Prin urmare, notand x = Y z avem AHx = µx cu µ ∈∈ λ(B) ⊂ λ(AH). Altfel spus, exista un vector propriu al matricei AH continutın S ′. Cum toti vectorii nenuli din S ′ sunt vectori proprii ai lui A, am aratat camatricea normala A si matricea AH au (cel putin) un vector propriu comun continutın S ′, deci si ın S. Mai mult, din Ax = λx si AHx = µx cu acelasi x 6= 0, avem

λ‖x‖2 = λxHx = xHAx = (AHx)Hx = (µx)

Hx = µ‖x‖2, de unde rezulta µ = λ.

Demonstratia lemei este completa.Vom construi acum un set complet de vectori proprii ortogonali ai matricei

normale A.Pasul 1◦. Spatiul ICn fiind simultan A- si AH -invariant, conform lemei de mai susmatricele A si AH admit un vector propriu comun x1 care poate fi normat:

Ax1 = λ1x1, AHx1 = λ1x1, ‖x1‖ = 1.

Subspatiul S1 = Im[x1 ] este simultan A-invariant si AH -invariant. Conform pro-pozitiei 4.1, 3◦ complementul sau ortogonal T1 = S⊥1 ın ICn este, de asemenea,simultan A- si AH -invariant. In consecinta matricele A si AH admit un vectorpropriu (normat) comun x2 ∈ T1, i.e. ortogonal cu x1:

Ax2 = λ2x2, AHx2 = λ2x2, ‖x2‖ = 1, x2 ⊥ x1.6 Un rezultat mai general este urmatorul: doua matrice care comuta admit un vector propriu

comun (v. exercitiul 4.7).

4.1. FORMULAREA PROBLEMEI 217

Pasul k◦. Presupunem ca am construit un set de k < n vectori proprii ortogonalix1, x2, . . . , xk ai matricei normale A (si, simultan, ai matricei AH). SubspatiulSk = Im[x1 x2 . . . xk ] este simultan A-invariant si AH -invariant. Cu aceleasi argu-mente, complementul sau ortogonal Tk = S⊥k ın ICn este, de asemenea, simultan A-

si AH -invariant. In consecinta, matricele A si AH admit un vector propriu (normat)comun xk+1 ∈ T1, i.e. ortogonal cu x1, x2, . . . , xk:

Axk+1 = λk+1xk+1, AHxk+1 = λk+1xk+1, ‖xk+1‖ = 1, xk+1 ⊥ Sk.

Procesul recurent de constructie a vectorilor proprii ortogonali conduce dupa k == n−1 pasi la determinarea unui set ortogonal complet de vectori proprii ai matriceiA si, simultan, ai matricei AH . Notand cu Q matricea vectorilor proprii, implicatiadirecta este demonstrata.

Reciproc, presupunem ca matricea A admite un set complet de vectori proprii

ortogonali xi, i ∈ 1 : n, respectiv o matrice unitara Qdef= X = [x1 x2 · · · xn ] de

vectori proprii. Avem

XHAX = Λ = diag(λ1, λ2, . . . , λn) ∈ ICn×n,

de unde rezultaXHAHX = Λ.

Din ultimele doua relatii avem ΛΛ = ΛΛ = XHAAHX = XHAHAX , i.e. AAH == AHA si teorema este complet demonstrata. 3

Observatia 4.1 Demonstratia prezentata mai sus evidentiaza, printre altele, urma-toarele proprietati suplimentare ale matricelor normale:

1◦ Daca A este normala, atunci matricele A si AH au aceiasi vectori proprii.2◦ Daca S este un subspatiu A-invariant, atunci si complementul sau ortogonal

ın ICn este A-invariant. 3

Teorema 4.2 O matrice n × n complexa A este hermitica daca si numai dacaadmite un set complet de n vectori proprii ortogonali si toate valorile proprii suntreale adica exista o matrice unitara Q, ale carei coloane sunt vectori proprii, astfelıncat

QHAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ IRn×n. (4.22)

Altfel spus, matricele hermitice sunt matricele unitar diagonalizabile cu spectru real.In cazul real matricea A este simetrica daca si numai daca admite un set complet

de n vectori proprii ortogonali reali si toate valorile proprii sunt reale adica existao matrice ortogonala Q, ale carei coloane sunt vectori proprii, astfel ıncat

QTAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ IRn×n, (4.23)

i.e. matricele reale simetrice 7 sunt matricele ortogonal diagonalizabile cu spectrureal.

7 Matricele complexe simetrice sunt matrice cu multe proprietati esential diferite de cele alematricelor hermitice sau ale matricelor reale simetrice (vezi [ I ], [ II ] si exercitiul 4.31).

218 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Demonstratie. Matricele hermitice fiind normale, conform teoremei precedentesunt unitar diagonalizabile, i.e. are loc (4.21). Acum, din AH = A rezulta ca ΛH =Λ, i.e. spectrul este real. In cazul real aceasta are drept consecinta faptul ca vectoriiproprii sunt reali. Reciproc, din (4.22) rezulta ΛH = Λ, i.e. QHAQ = QHAHQ, deunde obtinem AH = A. 3

Faptul ca matricele hermitice (ın cazul real, simetrice) au spectrul real si suntunitar (ortogonal) diagonalizabile are implicatii majore asupra tehnicilor de calcul alvalorilor proprii, asigurand o complexitate relativ redusa a algoritmilor si o precizieridicata a rezultatelor. Pentru dezvoltarea algoritmilor de calcul se vor dovedi utilerezultatele prezentate ın continuare. Formularea rezultatelor si demonstratiile vorfi prezentate pentru matricele hermitice, particularizarea pentru matricele realesimetrice (care se reduce, ın esenta, la ınlocuirea multimii IC cu multimea IR sia operatorului hermitic H cu operatorul de transpunere T ) fiind lasata ın sarcinacititorului.

Fie matricea hermitica A ∈ ICn×n si functia reala de n variabile complexe

µ : IC \ {0} → IR definita de µ(x) =xHAx

xHx. Vom fi interesati de extremele functiei

µ. Pentru determinarea acestora, observam mai ıntai ca µ(x) = µ(αx) pentru totiα nenuli din IC. In consecinta, este suficient sa ne rezumam la vectorii x de normaeuclidiana unitara, i.e. sa consideram functia

µ : S → IR, x 7→ µ(x) = xHAx, (4.24)

unde

S ={x ∈ ICn ‖x‖2 = xHx = 1

}(4.25)

este sfera de raza unitara din ICn. Vom considera ca spectrul λ(A) = {λ1, λ2, . . . , λn}al matricei A este ordonat descrescator, i.e.

λ1 ≥ λ2 ≥ . . . ≥ λn, (4.26)

si fie qj ∈ ICn, j = 1 : n un set complet de vectori proprii, de norma euclidianaunitara, ai matricei A, asociati valorilor proprii λj . Vom nota

Q =[q1 q2 · · · qn

], Q′

k = Q( : , 1 : k), Q′′k = Q( : , k + 1 : n). (4.27)

Avem urmatorul rezultat.

Teorema 4.3 Valorile extreme absolute ale functiei µ definite ın (4.24), (4.25) suntdate de

M = maxx ∈ S

xHAx = λ1, m = minx ∈ S

xHAx = λn. (4.28)

Mai mult, daca Wk = ImQ′′k este subspatiul A-invariant asociat valorilor proprii

λj, j = k + 1 : n, atunci

maxx ∈ S ∩Wk

xHAx = λk+1. (4.29)

4.1. FORMULAREA PROBLEMEI 219

Demonstratie. Conform teoremei 4.2, matricea Q este unitara, A = QΛQH undeΛ = diag(λ1, λ2, . . . , λn) si, prin urmare,

µ(x) = xHAx = yHΛy =

n∑

k=1

λk|y(k)|2, y = QHx = [ y(1) y(2) · · · y(n) ]T .

(4.30)Cum vectorii x si y din (4.30) se afla ıntr-o relatie biunivoca, iar transformarileunitare conserva norma euclidiana, rezulta ca extremele functiei µ coincid cu ex-tremele functiei ν : S → IR, ν(y) = yHΛy. Din faptul ca vectorii y sunt de normaunitara, i.e.

∑nj=1 |y(j)|2 = 1, rezulta

ν(y) = λ1 −n∑

j=2

(λ1 − λj)|y(j)|2 =n−1∑

j=1

(λj − λn)|y(j)|2 + λn. (4.31)

Intrucat sumele din relatia (4.31) sunt, datorita (4.26), nenegative, iar valoareanula a acestor sume se poate realiza, e.g. pentru y(j) = 0, j = 2 : n ın primulcaz si j = 1 : n − 1 ın cel de al doilea, avem egalitatile (4.28). Daca valorileproprii maxima, respectiv minima, sunt simple, atunci valorile extreme ale functieiν se ating pentru vectorii y de forma y1 = [ y(1) 0 · · · 0 ]T = eiθ1e1, respectivyn = [ 0 · · · 0 y(n) ]T = eiθnen, cu θ1, θn ∈ IR. Prin urmare, cele doua extreme alefunctiei µ se ating pentru vectorii x de forma x1 = eiθ1q1 si, respectiv xn = eiθnqn.Daca λ1 are multiplicitatea s, iar λn multiplicitatea t, atunci maximul se atingepentru orice vector x de norma unitara din Vs = ImQ′

s, i.e. subspatiul A-invariantasociat valorilor proprii λj , j = 1 : s, iar minimul se atinge pentru orice vector denorma unitara din Wn−t.

Pentru cea de a doua parte a teoremei, daca x ∈ Wk = V⊥k atunci xHQ′

k = 0 siy = QHx = [ 0 · · · 0 y(k+1) · · · y(n) ]T . Prin urmare,

µ(x) = ν(y) = λk+1 −n∑

j=k+2

(λk+1 − λj)|y(j)|2, (4.32)

de unde, cu aceleasi argumente ca mai sus, se obtine (4.29). 3

Rezultatul urmator prezinta o interesanta caracterizare minimax a valorilor pro-prii ale unei matrice hermitice (ın cazul real, simetrice) si este util prin consecintelesale. Notam, generic, cu V subspatiile liniare ale spatiului ICn si cuW = V⊥ comple-mentele lor ortogonale ın ICn. De asemenea, vom nota cu VS = V ∩ S si, respectiv,WS =W ∩ S, multimile vectorilor de norma euclidiana unitara din V si W .

Teorema 4.4 (Courant – Fisher) Daca matricea hermitica A ∈ ICn×n are valorileproprii ordonate ca ın (4.26) atunci pentru toti k ∈ 1 : n avem

λk = maxdimV = k

minx ∈ VS

xHAx = mindimV = k

maxx ∈ WS

xHAx 8. (4.33)

8 Intrucat oricarui subspatiu n − k dimensional din ICn ıi corespunde un complement or-togonal k dimensional, ultimul termen al egalitatilor (4.33) poate fi scris si ın forma λk == mindimV = n− k maxx ∈ VS x

HAx.

220 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Demonstratie. Fie V un subspatiu arbitrar de dimensiune k si vj , j = 1 : k, o baza

a lui V . Fie, de asemenea, wj , j = 1 : n − k, o baza a lui W . Notam cu V ∈ ICk,

respectiv W ∈ ICn−k, matricele vectorilor care formeaza bazele celor doua subspatiicomplementare. Conform teoremei precedente

λn ≤ xHAx ≤ λ1 (4.34)

pentru toti x din S, i.e. functia µ este marginita pe compactul VS si, ın consecinta,ısi atinge marginile pe aceasta multime. La fel ca ın demonstratia teoremei prece-dente, fie y = QHx, unde Q este o matrice unitara de vectori proprii, ordonaticonform (4.26). Avem, evident, ‖y‖ = ‖x‖ si x = Qy ∈ V daca si numai daca esteortogonal pe W , i.e.

WHx =WHQy = 0. (4.35)

Intrucat W este monica, factorizarea QR a matricei W = QHW = Q

[R0

]

are

matricea superior triunghiulara R ∈ IC(n−k)×(n−k) nesingulara. In consecinta, (4.35)devine

[RH 0

]QHy = 0. (4.36)

Notand zdef= QHy relatia (4.36) impune z(1 : n−k) = 0. Notand, ınca o data,

udef= z(n−k +1 : n) ∈ ICk si tinand seama de faptul ca transformarile unitare

conserva norma euclidiana, din (4.35), (4.36) rezulta ca x = Qy = QQz = Qu, undeQ = QQ( : , n−k+1 : n), apartine multimii VS daca si numai daca ‖u‖ = 1, faranici o alta restrictie asupra lui u. Acum, putem alege u astfel ıncat y(1 : k−1) = 0.Intr-adevar, y = Q( : , n−k+1 : n)u si orice solutie normata (i.e. de norma euclidianaunitara) a sistemului subdeterminat Q(1 : k−1, , n−k+1 : n)u = 0 asigura satisfacereaacestei conditii. Cu aceasta alegere a lui u, pentru vectorul corespunzator x din VS ,avem

µ(x) = xHAx = yHΛy = λk −n∑

j=k+1

(λk − λj)|y(j)|2 ≤ λk, (4.37)

unde am tinut seama de faptul ca∑n

j=k |y(j)|2 = ‖y‖2 = 1 si de ordonarea des-crescatoare a valorilor proprii. Natural, din (4.37) rezulta

minx ∈ VS

xHAx ≤ λk (4.38)

si, cum subspatiul V , de dimensiune k, era arbitrar, inegalitatea (4.38) are loc ıntoate subspatiile de aceeasi dimensiune sau, altfel spus,

maxdimV = k

minx ∈ VS

xHAx ≤ λk. (4.39)

Ramane sa aratam ca aceasta margine este atinsa efectiv. Aceasta se ıntampla ınsubspatiul A-invariant asociat primelor k valori proprii din secventa (4.26). Intr-adevar, fie V = ImQ′

k si x = Q′kz cu ‖z‖ = 1. Rezulta ‖x‖ = 1, i.e. x ∈ VS si

µ(x) = xHAx =k−1∑

j=1

(λj − λk)|z(j)|2 + λk ≥ λk, (4.40)

4.1. FORMULAREA PROBLEMEI 221

de unde, ın acest subspatiu,

minx ∈ VS

xHAx ≥ λk (4.41)

egalitatea obtinandu-se pentru z = [ 0 · · · 0 1 ]T . Prima egalitate din (4.33) estedemonstrata. Demonstratia celei de a doua egalitati (4.33) urmeaza aceleasi idei.Intrucat dimW = n− k, exista un vector x ∈ WS astfel ıncat vectorul y = QHx arecomponentele k+1 : n nule (demonstrati!). Pentru aceasta alegere a lui x avem orelatie de forma (4.40)

µ(x) = xHAx = yHΛy =

k−1∑

j=1

(λj − λk)|y(j)|2 + λk ≥ λk, (4.42)

de unde rezultamax

x ∈ WSxHAx ≥ λk. (4.43)

Cum subspatiul (n−k)-dimensionalW a fost arbitrar, rezulta ca inegalitatea (4.43)are loc ın toate subspatiile de aceasta dimensiune sau, altfel spus,

mindimV = k

maxx ∈ WS

xHAx ≥ λk. (4.44)

Adaugand faptul ca marginea din (4.44) se atinge efectiv ın subspatiulW = ImQ′′k,

cea de a doua egalitate (4.33), si o data cu ea ıntreaga teorema, sunt completdemonstrate. 3

Teorema Courant – Fisher este importanta, ın contextul calculatoriu al aces-tei lucrari, prin consecintele sale, dintre care cateva sunt prezentate ın continuare.

Notam A[k] def= A(1 : k, 1 : k) submatricele lider principale de ordinul k ale matri-

cei hermitice A ∈ ICn×n, care sunt la randul lor, evident, hermitice. Presupunem

ca spectrele λ(A[k]) = {λ[k]1 , λ[k]2 , . . . , λ

[k]k } (evident, reale) ale submatricelor lider

principale sunt, si ele, ordonate descrescator, i.e.

λ[k]1 ≥ λ

[k]2 ≥ . . . ≥ λ

[k]k . (4.45)

Teorema 4.5 (Teorema de separare) Valorile proprii ale submatricelor lider prin-cipale de ordinul k ale unei matrice hermitice separa valorile proprii ale subma-tricelor lider principale de ordinul k + 1, i.e.

λ[k+1]1 ≥ λ[k]1 ≥ λ

[k+1]2 ≥ λ[k]2 ≥ . . . ≥ λ

[k]k−1 ≥ λ

[k+1]k ≥ λ[k]k ≥ λ

[k+1]k+1 , (4.46)

pentru toti k ∈ 1 : n−1.

Demonstratie. Este suficient sa consideram cazul k = n−1. Pentru simplificarea

notatiilor, fie λ′idef= λ

[n−1]i , i = 1 : n−1. Cu aceste notatii, este suficient sa dovedim

inegalitatileλi ≥ λ′i ≥ λi+1, i = 1 : n− 1. (4.47)

222 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Avem, evident,

xHA[n−1]x =[xH 0

]A

[x0

]

, ∀x ∈ ICn−1. (4.48)

Pe aceasta baza, ıntre multimile

Mi={µ ∈ IR µ = maxx∈WS

xHAx, W ⊂ ICn, dimW = n−i}, (4.49)

M′i={µ′ ∈ IR µ′=maxx∈WS

xHA[n−1]x, W ⊂ ICn−1, dimW = n−1−i},

(4.50)exista relatiile

Mi ⊆M′i ⊆Mi+1, (4.51)

de unde rezultaminMi+1 ≤ minM′

i ≤ minMi, (4.52)

inegalitati care, ın baza teoremei Courant-Fisher, sunt echivalente cu (4.47). Teo-rema este demonstrata. 3

O relatie dintre valorile proprii a doua matrice hermitice si valorile proprii alesumei lor, utila ın aprecierea influentei perturbatiilor numerice hermitice, este dataın teorema urmatoare.

Teorema 4.6 Daca matricele hermitice A,E ∈ ICn×n au spectrele ordonate des-crescator, atunci, cu notatii evidente, avem

λk(A) + λ1(E) ≥ λk(A+ E) ≥ λk(A) + λn(E) (4.53)

pentru toti k ∈ 1 : n.

Demonstratie. Conform teoremei Courant-Fisher

λk(A+ E) = mindimV = k

maxx ∈ WS

xH(A+ E)x ≤

≤ mindimV = k

( maxx ∈ WS

xHAx+ maxx ∈ WS

xHEx) ≤

≤ mindimV = k

( maxx ∈ WS

xHAx+ λ1(E)) = λk(A) + λ1(E). (4.54)

Pentru a demonstra a doua inegalitate (4.53) avem, similar,

λk(A+ E) = maxdimV = k

minx ∈ VS

xH(A+ E)x ≥

≥ maxdimV = k

( minx ∈ VS

xHAx+ minx ∈ VS

xHEx) ≥

≥ maxdimV = k

( minx ∈ VS

xHAx+ λn(E)) = λk(A) + λn(E). (4.55)

Teorema este demonstrata. 3

In sfarsit, cu notatiile utilizate ın teorema 4.8, formulam urmatorul rezultatutil, de asemenea, ın evaluarea influentelor perturbatiilor numerice asupra valorilorproprii ale matricelor hermitice.

4.1. FORMULAREA PROBLEMEI 223

Teorema 4.7 (Wielandt – Hoffmann) Daca matricele A,E ∈ ICn×n sunt hermitice,atunci

n∑

j=1

(λj(A+ E)− λj(A))2 ≤ ‖E‖2F , (4.56)

unde ‖E‖F =√∑n

i=1 |eii|2 + 2∑n

i=2

∑i−1j=1 |eij |2 =

√∑ni=1 λ

2i (E) este norma Fro-

benius a matricei E.

Demonstratie. Pentru demonstratie se poate consulta [ IV ]. 3

Un rezultat remarcabil, de o factura aparte, se refera la inertia unei matrice.Inertia unei matrice hermitice A ∈ ICn×n se defineste prin tripletul (n−, n0, n+)unde n− este numarul valorilor proprii negative, n0 este numarul valorilor propriinule si, respectiv, n+ este numarul valorilor proprii pozitive ale matricei A. Deasemenea, se spune ca doua matrice (hermitice) A,B ∈ ICn×n sunt congruente dacaexista o matrice nesingulara T ∈ ICn×n astfel ıncat B = THAT . Rezultatul, datoratlui Sylvester, are urmatorul enunt.

Teorema 4.8 Doua matrice hermitice congruente au aceeasi inertie.

Demonstratie. Fie A ∈ ICn×n hermitica, B = THAT cu T nesingulara si λk(A)o valoare proprie nenula a matricei A. Presupunem ca spectrele matricelor A si Bsunt ordonate descrescator. Conform teoremei Courant-Fisher avem

λk(B) = maxdimV = k

minx ∈ VS

xHBx ≥ minx ∈ VS

xHBx = minx ∈ V∗

xHBx

xHx, (4.57)

unde V este orice subspatiu particular de dimensiune k, iar V∗ = V \ {0}. Con-siderand V = ImT−1Q′

k, cu Q′k definit ın (4.27), avem x ∈ V∗ daca si numai daca

x = T−1Q′kz cu z ∈ ICk, z 6= 0. Pe de alta parte, matricea R

def= TTH este her-

mitica, pozitiv definita (i.e. xHRx > 0, ∀x 6= 0) si, prin urmare, are spectrul real sipozitiv (demonstrati!) aceleasi proprietati avandu-le si matricea R−1 = T−HT−1.Cu aceste precizari, pentru toti x ∈ V∗, avem{xHBx = xHTHQΛAQ

HTx = zHdiag (λ1(A), λ2(A), . . . , λk(A))z

xHx = zHQ′Hk R−1Q′

kz,, (4.58)

de unde, tinand seama de ordonarea valorilor proprii, rezulta

xHBx ≥ λk(A)zHzλmin(R

−1)zHz ≤ xHx ≤ λmax(R−1)zHz.

(4.59)

Cu aceste inegalitati, din (4.57), obtinem

λk(B) ≥ λk(A)

λmax(R−1), daca λk(A) > 0

λk(B) ≥ λk(A)

λmin(R−1), daca λk(A) < 0.

(4.60)

224 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Schimband rolul matricelor A si B, cu un rationament analog obtinem urmatoarelecorespondente ale relatiilor (4.60)

{λk(B) ≤ λmax(R)λk(A), daca λk(A) > 0

λk(B) ≤ λmin(R)λk(A), daca λk(A) < 0.(4.61)

In concluzie, ın toate cazurile, αλk(A) ≤ λk(B) ≤ βλk(A) cu α > 0, β > 0, i.e.λk(A) si λk(B) au acelasi semn. Rezulta ca A si B au aceeasi inertie. 3

In contextul acestui paragraf este natural sa introducem matricele antihermitice,respectiv antisimetrice ın cazul real.

Definitia 4.5 Matricea A ∈ ICn×n se numeste antihermitica daca

AH = −A. (4.62)

In cazul real, matricea A ∈ IRn×n se numeste antisimetrica daca

AT = −A. (4.63)

O matrice antihermitica are elementele diagonale pur imaginare. Este usor de ob-servat ca daca matricea complexa A este antihermitica, atunci matricea B = −iAeste hermitica. In consecinta, A este unitar diagonalizabila si are toate valorileproprii pur imaginare. Matricele antihermitice sunt normale.

In cazul real, o matrice antisimetrica are elementele diagonale nule. Daca Aeste antisimetrica, atunci B = −iA este o matrice complexa hermitica. Rezultaca A este unitar diagonalizabila si are toate valorile proprii pur imaginare. Cum,ın aceasta situatie, valorile proprii apar ın perechi complex conjugate rezulta ca omatrice antisimetrica de ordin impar are, ın mod necesar, o valoare proprie nula,i.e. este singulara. Evident, o matrice antisimetrica este normala.

Ultimul rezultat pe care ıl prezentam se refera la valorile si vectorii proprii pentrumatricele unitare si ortogonale.

Teorema 4.9 O matrice n×n complexa A este unitara daca si numai daca admiteun set complet de n vectori proprii ortogonali si toate valorile proprii sunt de modulunitar, adica este unitar diagonalizabila cu spectru unitar, respectiv exista o matriceunitara Q ∈ ICn×n astfel ıncat

QHAQ = Λ = diag(λ1, λ2, . . . , λn) cu |λi| = 1, ∀ λi. (4.64)

In cazul real matricea A este ortogonala daca si numai satisface aceleasi conditii,i.e. este unitar diagonalizabila cu spectru unitar.

Demonstratie. O matrice unitara A ∈ ICn×n fiind normala, conform teoremei4.1, este unitar diagonalizabila, i.e. exista o matrice unitara Q ∈ ICn×n astfel ıncatQHAQ = Λ = diag(λ1, λ2, . . . , λn), de unde rezulta A = QΛQH . In plus, dinAHA = In obtinem ΛΛ = In, i.e. λjλj = |λj |2 = 1, de unde rezulta |λj | = 1,j = 1 : n. Deci toate valorile proprii sunt de modul unitar, i.e. pot fi scrise subforma λj = eiθj , cu θj ∈ IR, j = 1 : n. Reciproc, daca avem QHAQ = Λ, cu Q

4.1. FORMULAREA PROBLEMEI 225

unitara si Λ diagonala cu elementele diagonale de modul unitar, atunci prin calculdirect rezulta imediat AHA = In, i.e. A este unitara. In cazul real demonstratiaeste identica cu singura mentiune suplimentara ca alaturi de orice valoare propriecomplexa λj = eiθj ∈ IC \ IR apare si conjugata ei λj = e−iθj . 3

Observatia 4.2 Este simplu de constatat ca daca o matrice complexa A estenormala, hermitica sau unitara, atunci orice matrice B unitar asemenea cu A areaceleasi proprietati. Similar, ın cazul real, proprietatile de normalitate, simetrie siortogonalitate sunt conservate de transformarile ortogonale de asemanare. Aceastainvarianta explica utilizarea exclusiva a transformarilor unitare (ortogonale) ın de-mersul calculatoriu legat de valorile si vectorii proprii. 3

Incheiem acest paragraf cu precizarea ca principala proprietate comuna a celortrei tipuri de matrice mentionate mai sus, indusa de proprietatea de normalitate,consta ın faptul ca toate admit seturi complete de vectori proprii ortogonali, faptcare le confera o perfecta conditionare a spectrelor de valori proprii (v. § 4.10).

4.1.5 Localizarea valorilor proprii

In finalul acestei sectiuni introductive vom prezenta cateva rezultate privitoare lalocalizarea valorilor proprii ın planul complex, rezultate utile atat prin ele ınsele catsi ın contextul stabilirii initializarilor pentru diverse metode iterative de calcul saual analizei sensibilitatii valorilor proprii la perturbatii ın matricea data.

Unele din cele mai cunoscute rezultate ın aceasta privinta sunt oferite de teo-remele urmatoare.

Teorema 4.10 Oricare ar fi matricea A ∈ ICn×n si ‖·‖ o familie arbitrara de normeconsistente avem

ρ(A) ≤ ‖A‖. (4.65)

Demonstratie. Din proprietatea de consistenta a familiei de norme pentru oriceλ ∈ λ(A) si vector propriu asociat x cu ‖x‖ = 1 avem |λ| = ‖λx‖ = ‖Ax‖ ≤≤ ‖A‖‖x‖ = ‖A‖, de unde rezulta (4.65) 9. 3

Teorema 4.11 (Gershgorin) Valorile proprii ale unei matrice A ∈ ICn×n sunt si-tuate ın domeniul D din planul complex definit de

D =

n⋃

i=1

Di, (4.66)

9 Exista si un rezultat, datorat lui Householder (v. exercitiul 4.32), care arata ca pentruorice ε > 0 exista o norma consistenta ‖ · ‖ astfel ıncat ‖A‖ ≤ ρ(A) + ε, relatie care, ımpreunacu (4.65), permite aproximarea oricat de buna a razei spectrale a unei matrice cu ajutorul uneinorme a acesteia. Din pacate, aceasta norma este o norma speciala care depinde de A si ε, astfelca rezultatul mentionat are o valoare ın primul rand teoretica.

226 CAPITOLUL 4. VALORI SI VECTORI PROPRII

unde Di sunt discurile

Di = {z ∈ IC | |z − aii| ≤n∑

j=1

j 6=i

|aij |}, i = 1 : n, (4.67)

numite discuri Gershgorin.

Demonstratie. Fie x un vector propriu asociat valorii proprii λ ∈ λ(A). Atuncilinia i a relatiei Ax = λx se scrie

(λ− aii)xi =n∑

j=1

j 6=i

aijxj , (4.68)

de unde rezulta |λ − aii||xi| ≤∑n

j=1

j 6=i|aij ||xj |. Alegand linia i astfel ıncat |xi| =

= maxk=1:n(|xk|) 6= 0, rezulta

|λ− aii| ≤n∑

j=1

j 6=i

|aij ||xj ||xi|≤

n∑

j=1

j 6=i

|aij |, (4.69)

i.e. λ ∈ Di. 3

Daca o linie a matricei A are elementele extradiagonale nule, atunci elementuldiagonal este o valoare proprie a matricei A, iar discul Gershgorin corespunzatorliniei respective se reduce la punctul {aii}. De asemenea, se poate arata [ I ] ca dacam discuri Gershgorin formeaza o multime disjuncta de multimea celorlalte n −mdiscuri, atunci exact m valori proprii se gasesc situate ın reuniunea celor m discuri.In particular, un disc disjunct de celelalte contine exact o valoare proprie 10.

-

6

&%'$

��������Reλ

Imλ

×××

λ1

λ2

λ3

-

6

����&%'$

����Reλ

Imλ

×××

λ1

λ2

λ3

a) b)

Fig. 4.2: Utilizarea discurilor Gershgorin ”pe linii” (a) si ”pe coloane” (b) pentrulocalizarea valorilor proprii ai matricei din exemplul 4.2.

10 Discurile Gershgorin (4.67) ar putea fi denumite discuri-linie ıntrucat sunt construite cuajutorul liniilor matricei date. Cum transpusa matricei are acelasi spectru, aplicand teorema4.11 matricei transpuse obtinem o localizare a valorilor proprii ın reuniunea discurilor Gershgorindefinite pe coloane. Evident, o localizare mai buna se obtine intersectand cele doua domenii.

4.2. FORMA SCHUR 227

Exemplul 4.2 Consideram matricea

A =

1 0 11 5 0−1 1 −1

pentru care cele trei discuri Gershgorin sunt D1 de centru 1 si raza 1, D2 de centru 5si raza 1 siD3 de centru -1 si raza 2 (v. fig. 4.2), iar valorile proprii sunt λ1 = 5.0394,λ2,3 = −0.0197 ± 0.4450i. Raza spectrala este deci ρ(A) = 5.0394, inferioara e.g.normei ‖A‖F = 5.5678. 3

Teorema lui Gershgorin este utila, de exemplu, pentru deciziile de neglijare a ele-mentelor extradiagonale la o precizie fixata a valorilor proprii calculate ın tehnicilede diagonalizare iterativa prin transformari de asemanare. Generalizari ale teoremei4.11 fac obiectul exercitiilor 4.40 si 4.41. Alte rezultate privind localizarea valorilorproprii se pot gasi ın [ I ], [ II ].

4.2 Forma Schur

Transformarile de asemanare unitare, respectiv ortogonale ın cazul real, prezintamarele avantaj de a conserva conditionarea spectrului de valori proprii ale uneimatrice date (v. § 4.10). De aceea vom fi interesati ın utilizarea lor exclusiva pentrudeterminarea valorilor proprii. Pe de alta parte, structurile canonice, cum esteforma Jordan, nu se pot obtine, ın general, prin astfel de transformari 11. Rezultatulprincipal al acestui paragraf arata ca orice matrice este unitar asemenea cu o matricetriunghiulara, numita forma Schur. In acest fel este posibila evidentierea valorilorproprii ale unei matrice (elementele diagonale ale formei sale Schur), utilizand osecventa de transformari unitare de asemanare.

4.2.1 Forma Schur (complexa)

Calculul valorilor proprii ale unei matrice este intim legat de calculul vectorilorproprii asociati. Daca λ ∈ λ(A) este cunoscuta, atunci vectorul propriu asociat esteo solutie nenula a unui sistem liniar omogen. Daca se cunoaste un vector propriu xal matricei A, atunci valoarea proprie asociata poate fi calculata cu relatia

xHAx

xHx=xHλx

xHx= λ (4.70)

care, pentru x de norma euclidiana unitara, i.e. ‖x‖ = 1, devine

λ = xHAx. (4.71)

Intrucat valorile proprii sunt radacinile unei ecuatii algebrice, calculul lor pentrumatrice de ordin superior lui patru, ın absenta cunoasterii vectorilor proprii, este

11 Matricele normale, care sunt unitar diagonalizabile (v. teorema 4.10), nu constituie un cazgeneric.

228 CAPITOLUL 4. VALORI SI VECTORI PROPRII

ın mod necesar un proces (iterativ) infinit, aceeasi situatie aparand si la calcululvectorilor proprii fara a se cunoaste valorile proprii asociate.

De aceea, una din ideile aflate la baza asigurarii eficientei tehnicilor de calcula valorilor si vectorilor proprii este exploatarea rezultatelor partiale prin reduce-rea corespunzatoare a dimensiunii problemei. In sprijinul aplicarii acestei idei vinurmatoarele rezultate.

Propozitia 4.2 Fie A ∈ ICn×n si X ⊂ ICn un subspatiu A-invariant p-dimensionaldat printr-o baza ortogonala x1, x2, . . . , xp. Atunci exista o matrice unitara Q ∈∈ ICn×n cu Q( : , j) = xj, j = 1:p, astfel ıncat

QHAQ =

[S11 S12

0 S22

]

, (4.72)

cu S11 ∈ ICp×p.In cazul real, i.e. A ∈ IRn×n si X ⊂ IRn, matricea Q poate fi reala (i.e. ortogo-

nala), iar matricea reala QTAQ are structura (4.72).

Demonstratie. Fie Q( : , 1 : p) = Xdef= [x1 x2 · · · xp ] si Y ∈ ICn×(n−p) o baza

ortogonala a complementului ortogonal Y = X⊥ al lui X ın ICn. Atunci matriceaQ = [X Y ] este unitara. Conform propozitiei 4.1, punctul 2◦, exista o matriceS11 ∈ ICp×p cu λ(S11) ⊂ λ(A) astfel ıncat AX = XS11, i.e. X

HAX = S11. In plusY HAX = Y HXS11 = 0. In consecinta avem

S=QHAQ=

[XH

Y H

]

A[X Y

]=

[XHAX XHAYY HAX Y HAY

]

=

[S11 S12

0 S22

]

(4.73)unde, evident, S12 = XHAY , S22 = Y HAY . q.e.d.

In cazul real, conform aceleiasi propozitii 4.1, toate subspatiile implicate ındemonstratia de mai sus sunt ın IRn, iar matricea Q este ortogonala. Evident, ınacest caz spectrul matricei S11 este o submultime simetrica a spectrului matricei A.Demonstratia este completa. 3

Observatia 4.3 Calculul matricei unitare de asemanareQ este conditionat esentialde cunoasterea unei baze V = [ v1 v2 · · · vp ] a subspatiului A-invariant X . In acestcaz, constructia unei baze ortogonale X a lui X si a unei completari ortogonale Yse poate face dupa recomandarile din capitolul 3. Concret, daca

V = Q

[R1

0

]

este factorizarea QR (complexa) a matricei V , unde Q ∈ ICn×n este unitara, iarR1 ∈ ICp×p este nesingulara, atunci X = Q( : , 1 : p), Y = Q( : , p +1 : n) suntcele doua baze ortogonale cautate, iar Q este matricea de transformare unitara deasemanare din (4.72). 3

Pentru p = 1 baza V a subspatiului A-invariant din propozitia 4.2 se reducela un vector propriu x de norma unitara asociat valorii proprii λ. In acest cazpropozitia 4.2 se particularizeaza ın urmatoarea lema.

4.2. FORMA SCHUR 229

Lema 4.2 (Deflatie unitara) Fie A ∈ ICn×n si λ ∈ λ(A). Atunci exista o matriceunitara Q ∈ ICn×n astfel ıncat

QHAQ =

[λ S12

0 S22

]

. (4.74)

Conform observatiei 4.3, matricea de transformare poate fi Q = UH1 , unde U1 este

reflectorul (complex) care anuleaza elementele 2 : n ale vectorului propriu x asociatvalorii proprii λ.

Aplicarea consecventa a lemei 4.2 ne conduce la urmatorul rezultat important.

Teorema 4.12 (Forma Schur) Oricare ar fi matricea A ∈ ICn×n exista o matriceunitara Q ∈ ICn×n astfel ıncat matricea

QHAQ = S, (4.75)

este superior triunghiulara. Elementele diagonale ale matricei S sunt valorile pro-prii ale matricei A si pot fi dispuse ın orice ordine predeterminata.

Matricea S se numeste forma Schur (FS) a matricei A, iar coloanele matriceide transformare Q se numesc vectori Schur ai matricei A asociati formei Schur S.

Demonstratie. Pasul 1◦. Conform lemei 4.2, daca λ1 ∈ λ(A), atunci exista omatrice unitara Q1 astfel ıncat

S1 = QH1 AQ1 =

λ1 S

(1)12

0 S(1)22

,

realizandu-se o deflatie ın prima coloana.Pasul k◦. Presupunem ca ın primii k − 1 pasi am realizat triangularizarea ın

primele k − 1 coloane prin transformari unitare de asemanare

Sk−1 = QHk−1 . . . Q

H2 Q

H1 AQ1Q2 . . . Qk−1 =

S(k−1)11 S

(k−1)12

0 S(k−1)22

,

unde S(k−1)11 ∈ IC(k−1)×(k−1) este superior triunghiulara. Vom aplica lema 4.2 pentru

a realiza deflatia ın coloana k. Pentru aceasta, daca λk ∈ λ(S(k−1)22 ), atunci exista

o matrice unitara Qk astfel ıncat

QHk S

(k−1)22 Qk =

[

λk S(k)12

0 S(k)22

]

.

Acum, matricea

Qk =

[Ik−1 0

0 Qk

]

∈ ICn×n

230 CAPITOLUL 4. VALORI SI VECTORI PROPRII

este unitara si

Sk = QHk Sk−1Qk =

[

S(k)11 S

(k)12

0 S(k)22

]

este superior triunghiulara ın primele k coloane.Procesul de triangularizare prin transformari unitare de asemanare, initiat con-

form pasului 1◦ si continuat conform celor prezentate la pasul k◦, produce dupan− 1 pasi matricea superior triunghiulara

S = QHAQ,

unde matriceaQ = Q1Q2 . . . Qn−1, (4.76)

este unitara ca produs de matrice unitare.Evident, ordinea elementelor diagonale ale matricei S poate fi aleasa ın mod

arbitrar prin selectarea corespunzatoare a vectorilor proprii ın aplicarea lemei 4.2.Demonstratia este completa. 3

Incheiem paragraful subliniind faptul ca orice matrice patrata este unitar aseme-nea cu o matrice superior triunghiulara. Daca matricea A este reala, dar are si valoriproprii complexe, atunci forma Schur S este complexa ca si matricea de transforma-re Q. In acest caz se spune ca S este forma Schur complexa (FSC) a matricei A.

4.2.2 Forma Schur reala

In majoritatea aplicatiilor ın care este necesar calculul valorilor proprii, matricea areelementele reale. In aceste situatii este mult mai eficienta utilizarea unei aritmeticireale. Pentru aceasta, perechile de valori proprii complexe si perechile de vectoriproprii asociati (care, dupa cum s-a mai precizat, pot fi considerati, la randul lor, subforma unor vectori complex conjugati) trebuie si pot fi tratate ın mod unitar, ıntr-oaritmetica reala, prin intermediul unor blocuri matriceale 2 × 2, respectiv al unorsubspatii A-invariante reale. Corespondentul formei Schur din cazul complex devineo matrice cvasi-superior triunghiulara ın care perechile de valori proprii complexconjugate sunt evidentiate prin blocuri diagonale 2× 2, numita forma Schur reala.

In acest context vom formula si, ın masura ın care apar aspecte noi, vom demon-stra corespondentele ”reale” ale lemei 4.2 si teoremei 4.12.

Lema 4.3 (Deflatie ortogonala) Fie A ∈ IRn×n.a) Daca λ ∈ λ(A) ∩ IR, atunci exista o matrice ortogonala Q ∈ IRn×n astfel ıncat

QTAQ =

[λ S12

0 S22

]

. (4.77)

b) Daca λ1,2 = α± iβ ∈ λ(A), β 6= 0, atunci exista o matrice ortogonala Q ∈ IRn×n

astfel ıncat

QTAQ =

[S11 S12

0 S22

]

, (4.78)

4.2. FORMA SCHUR 231

undeS11 ∈ IR2×2, cu λ(S11) = {λ1, λ2}. (4.79)

Demonstratie. Prima parte a lemei se demonstreaza la fel cu lema 4.2 considerando matrice ortogonala Q a carei prima coloana este un vector propriu de normaeuclidiana unitara asociat valorii proprii λ. Pentru a doua parte a lemei consideramvectorii proprii x1,2 = v1 ± iv2 asociati valorilor proprii complex conjugate λ1,2 siY = [ y1 y2 ] ∈ IRn×2 o baza ortogonala a subspatiului liniar A-invariant S = ImV ,

unde V = [ v1 v2 ] ∈ IRn×2 si Z ∈ IRn×(n−2) o baza ortogonala a complementuluiortogonal T = S⊥ a lui S ın IRn 12. Evident, matricea Q = [Y Z ] este ortogonala.Pe de alta parte, ıntrucat vectorii v1 si v2 sunt liniar independenti (vezi propozitia4.1), exista o matrice nesingulara P ∈ IR2×2 astfel ıncat V = Y P . In consecinta,

din (4.14) avem AV = V B cu B =

[α −ββ α

]

. Rezulta

AY = AV P−1 = V BP−1 = Y S11,

unde

S11 = P

[α −ββ α

]

P−1. (4.80)

si, deci,

A1 = QTAQ =

[Y T

ZT

]

A[Y Z

]=

[Y TAY Y TAZ

0 ZTAZ

]

=

[S11 S12

0 S22

]

,

(4.81)punandu-se ın evidenta blocul diagonal de ordinul 2 real S11 avand valorile propriicomplexe λ1,2. 3

Calculul matricei ortogonale de asemanare Q din lema de mai sus este conditio-nat esential de cunoasterea unui vector propriu (real) x asociat valorii proprii realeevidentiate respectiv a partii reale si a celei imaginare a unui vector propriu asociatunei valori proprii complexe. Altfel spus, posibilitatea deflatiei este conditionata decunoasterea subspatiului A-invariant corespunzator.

Procedand ca ın demonstratia teoremei 4.12, i.e. efectuand deflatia matriceiA pentru valorile proprii reale, respectiv pentru perechile de valori proprii com-plexe, prin aplicarea sistematica a lemei de mai sus, pana la epuizarea ıntreguluispectru si cumuland transformarile ortogonale partiale, obtinem urmatorul rezultatimportant.

Teorema 4.13 (Forma Schur reala) Oricare ar fi matricea reala A ∈ IRn×n, existao matrice ortogonala Q ∈ IRn×n astfel ıncat

QTAQ = S =

S11 S12 · · · S1p

0 S22 · · · S2p

· · · · · · · · · · · ·0 0 · · · Spp

, (4.82)

12 Pentru constructia acestor baze vezi observatia 4.3.

232 CAPITOLUL 4. VALORI SI VECTORI PROPRII

unde Sii ∈ IR1×1 sau Sii ∈ IR2×2 si toate blocurile diagonale 2×2 au valorile propriicomplexe. Avem, evident,

λ(A) = λ(S) =

p⋃

i=1

λ(Sii). (4.83)

Matricea cvasi-superior triunghiulara S se numeste forma Schur reala (FSR) a ma-tricei A, iar coloanele matricei de transformare Q se numesc vectori Schur ai ma-tricei A asociati formei Schur reale S.

Evident, ordinea pasilor de deflatie fiind arbitrara, forma Schur reala a uneimatrice poate avea blocurile diagonale ın orice ordine predeterminata.

Conform (4.83) valorile proprii reale ale unei matrice pot fi determinate prinsimpla inspectie a elementelor diagonale ale formei sale Schur reale, iar cele complexese pot calcula prin rezolvarea ecuatiilor caracteristice (de gradul 2) ale blocurilordiagonale ale acesteia.

Procedura de deflatie sugereaza o tehnica de calcul a valorilor proprii ale uneimatrice prin reducerea acesteia la forma Schur (reala). Din pacate, punerea ınevidenta a fiecarei valori proprii necesita cunoasterea unui vector propriu asociat,care, la randul sau, nu poate fi calculat direct fara a cunoaste valoarea proprierespectiva. De aceea, procedura de deflatie trebuie sa fie completata cu o metodade calcul a unui vector propriu fara cunoasterea valorii proprii asociate.

Metodele cele mai folosite de calcul iterativ al unui vector propriu sunt cunoscutesub denumirile de metoda puterii si metoda puterii inverse.

4.3 Metoda puterii. Metoda puterii inverse

In aceasta sectiune vom prezenta doua modalitati de constructie recurenta a unorsiruri de vectori convergente, ın conditii precizate, catre un vector propriu al uneimatrice date. Aceste metode se bazeaza pe urmatorul rezultat simplu, a caruidemonstratie face obiectul exercitiului 4.11.

Lema 4.4 Fie o matrice A ∈ ICn×n cu spectrul

λ(A) = {λ1, λ2, ..., λn }. (4.84)

Atunci matricele Ak, k ∈ IN∗, A−µIn, µ ∈ IC, si, ın cazul ın care A este nesingulara,A−1 au aceiasi vectori proprii cu matricea A si spectrele

λ(Ak) = {λk1 , λk2 , ..., λkn }, (4.85)

λ(A− µIn) = {λ1 − µ, λ2 − µ, ..., λn − µ }, (4.86)

λ(A−1) =

{1

λ1,1

λ2, ...,

1

λn

}

. (4.87)

4.3. METODA PUTERII. METODA PUTERII INVERSE 233

4.3.1 Metoda puterii

Consideram o matrice A ∈ ICn×n care are o valoare proprie dominanta, i.e. o valoareproprie de modul strict superior modulelor tuturor celorlalte. Numerotam valorileproprii ale matricei A ın ordinea descrescatoare a modulelor

|λ1| > |λ2| ≥ |λ3| ≥ ... ≥ |λn|. (4.88)

Fie y(0) ∈ ICn un vector de norma euclidiana unitara a carui proiectie ortogonalape ”directia” vectorului propriu x1 asociat valorii proprii dominante λ1 ∈ λ(A) estenenula, i.e. xH1 y

(0) 6= 0. Generic, un vector aleator normat satisface o astfel deconditie. Daca A este o matrice simpla, i.e. exista o baza a spatiului ICn formatadin vectorii proprii x1, x2, ..., xn ai acesteia, atunci y(0) poate fi descompus, ın modunic, ın raport cu acesta baza

y(0) =n∑

i=1

γixi, (4.89)

undeγ1 6= 0. (4.90)

Daca definim sirul vectorial (y(k))k∈IN prin

y(k) = ρkAy(k−1), k = 1, 2, · · · (4.91)

cu initializarea y(0) si ρk un factor de normare definit de

ρk =1

‖Ay(k−1)‖ , (4.92)

atunci, folosind inductia, este usor de aratat ca

y(k) = ρkAky(0), (4.93)

unde ρk este un factor de normare cumulat ρk = 1/‖Aky(0)‖. Din (4.89), (4.93) silema 4.2 rezulta

y(k) = ρk

n∑

i=1

Akxi = ρk

n∑

i=1

γiλki xi = ρkλ

k1

(

γ1x1 +n∑

i=2

γi(λiλ1

)kxi

)

. (4.94)

Utilizand (4.88) obtinem∣∣∣λi

λ1

∣∣∣ < 1, i = 2 : n, de unde rezulta

limk→∞

(λiλ1

)k

= 0, i = 2 : n, (4.95)

silimk→∞

y(k) = γx1, (4.96)

ın care γ este un scalar nenul astfel ıncat ‖γx1‖ = 1. Prin urmare, sirul vectorialconstruit cu schema de calcul

234 CAPITOLUL 4. VALORI SI VECTORI PROPRII

MP 1. Pentru k = 1, 2, . . .

1. Se calculeaza vectorul y(k) = Ay(k−1)

2. y(k) ← y(k)/‖y(k)‖bazata pe relatia de recurenta (4.91), care defineste metoda puterii, este convergentcatre vectorul propriu (4.95) asociat valorii proprii dominante a matricei A. Vitezade convergenta este determinata de raportul |λ2/λ1|, fiind cu atat mai mare cu catacest raport este mai mic. In consecinta, metoda este eficienta ın cazul matricelorcare au o valoare proprie net dominanta si o structura cu multe elemente nule (ınvederea unei implementari eficiente a produsului Ay(k−1)).

Pentru oprirea iterarii este necesar un criteriu care sa asigure o precizie de cal-cul impusa. Avand ın vedere faptul ca un vector propriu de norma unitara estedeterminat pana la o multiplicare cu un numar de modul unitar (i.e. eiθ cu θ ∈ IRın cazul complex si ±1 ın cazul real), un criteriu posibil este asigurarea unei co-linearitati impuse ıntre vectorii calculati la doi pasi consecutivi. Cum, ın cazul

complex unghiul dintre doi vectori u si v este definit de φ(u, v) = arccosvHu

‖u‖ · ‖v‖iar ın cazul real de φ(u, v) = arccos

vTu

‖u‖ · ‖v‖ , conditia de oprire a iterarii poate fi

ek = |1− |(y(k))Hy(k−1)| | < tol, respectiv ek = |1− |(y(k))T y(k−1)| | < tol,(4.97)

unde tol este o toleranta prescrisa (vezi si exercitiul 4.48). Introducand si abandonuliterarii la atingerea unui numar maxim de iteratii, obtinem urmatorul algoritm.

Algoritmul 4.1 (Metoda puterii) (Data o matrice A ∈ ICn×n, unnivel de toleranta tol ∈ IR, tol > 1, si un numar maxim admismaxiter deiteratii, algoritmul calculeaza un vector propriu unitar y asociat valoriiproprii dominante a matricei date sau tipareste un mesaj daca obiectivulnu a fost atins ın numarul de iteratii admis.)

1. Se alege aleator un vector y ∈ ICn.

2. y ← y/‖y‖3. i = 0, e = 1

4. Cat timp e > tol

1. Daca i > maxiter atunci

1. Tipareste ’S-a atins numarul maxim de iteratii fara a sefi obtinut nivelul prescris al tolerantei.’

2. Stop

2. z = Ay

3. z ← z/‖z‖4. e = |1− |zHy| |5. y ← z

6. i← i+ 1

4.3. METODA PUTERII. METODA PUTERII INVERSE 235

Comentarii. Avand ın vedere simplitatea relatiei de recurenta, metoda puteriise poate dovedi atractiva daca se cunoaste apriori existenta unei valori proprii netdominante. In caz contrar, viteza de convergenta poate fi nesatisfacatoare, iar ıncazul absentei unei valori proprii dominante sirul poate fi divergent. De aceea,folosind rezultatele lemei 4.4, trebuie realizate transformari ale matricei A care,fara a afecta vectorii proprii, sa creeze o astfel de valoare proprie (net) dominanta.O posibilitate este de a utiliza o ”deplasare” µ (eventual variabila µk) a spectruluimatricei A astfel ıncat matricea A−µIn sa aiba o valoare proprie (net) dominanta.In acest caz schema de calcul pentru o iteratie a metodei puterii cu deplasare devine

MP’ 1. Pentru k = 1, 2, . . .

1. Se calculeaza vectorul y(k) = (A− µk)y(k−1).

2. y(k) ← y(k)/‖y(k)‖.Din nefericire, determinarea deplasarii µk efectiv utile nu este deloc simpla, mo-tiv pentru care aceasta idee este folosita ın paragraful urmator pentru rezolvareaaceleiasi probleme ıntr-un context modificat. 3

4.3.2 Metoda puterii inverse

Presupunem din nou ca matricea A ∈ ICn×n este simpla avand valorile proprii λi,i = 1:n (nu neaparat ıntr-o ordine anumita) si vectorii proprii asociati xi, i = 1 : n.Fie µ 6∈ λ(A) o aproximatie a lui λ1. Atunci, conform lemei 4.4, matricea (µIn−A)−1

are valorile proprii (µ− λi)−1, i = 1 : n, si aceiasi vectori proprii cu cei ai matriceiA. Prin urmare, daca alegem un vector initial y(0) nedefectiv ın raport cu x1, i.e.satisfacand (4.89) si (4.90), putem defini, utilizand metoda puterii pentru matricea(µIn −A)−1, sirul de vectori unitari

y(k) = ρk(µI −A)−1y(k−1), k = 1, 2, ... (4.98)

unde ρk este un factor scalar de normare. Acum, daca deplasarea µ este mult maiapropiata de λ1 decat de λi, i = 2 : n, atunci |(µ − λ1)−1| va fi mult mai maredecat |(µ− λi)−1|, i = 2 : n, i.e.,

maxi=2:n |(µ− λi)−1||(µ− λ1)−1| ≪ 1, (4.99)

si, ın consecinta sirul (y(k)) este foarte rapid convergent catre γx1.Relatia de recurenta (4.98) defineste metoda puterii pentru matricea (µIn−A)−1

si este cunoscuta sub denumirea de metoda puterii inverse cu deplasare pentrumatricea A. Desigur, pentru calculul iteratiei (4.98) nu se inverseaza matriceaµIn − A ci se rezolva sistemul liniar corespunzator, conform urmatoarei scheme decalcul, definitorie pentru o iteratie a metodei puterii inverse.

MPI 1. Pentru k = 1, 2, . . .

1. Se rezolva sistemul (µIn −A)y(k) = y(k−1) ın raport cu y(k).2. y(k) ← y(k)/‖y(k)‖.

236 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Rezolvarea sistemului liniar din schema de mai sus necesita un efort de calcul apre-ciat la ≈ n3/3 operatii scalare ın virgula mobila de tipul α∗β+γ, ceea ce reprezintaun pret foarte ridicat pentru o singura iteratie a procesului de calcul al unui singurvector propriu. Din fericire, cel mai adesea metoda se aplica unor matrice avandstructura superior Hessenberg ceea ce reduce numarul de operatii la ≈ n2 pentruo iteratie. Utilizarea unei deplasari constante µ asigura convergenta catre vectorulpropriu asociat valorii proprii dominante a matricei (A−µIn)−1, i.e. asociat valoriiproprii a matricei A celei mai apropiate de deplasarea µ.

In continuare prezentam o versiune importanta a metodei puterii inverse careutilizeaza o deplasare µk variabila cu pasul k si optimala ıntr-un sens precizat.Conform celor aratate mai sus, deplasarea care asigura cea mai mare viteza deconvergenta este egala ”cu cea mai buna” aproximatie a unei valori proprii a matriceiA, disponibila la pasul respectiv. O modalitate cu excelente rezultate practice esteaceea ın care aceasta aproximatie se obtine rezolvand, ın sens CMMP, sistemulsupradeterminat

y(k−1)µk = Ay(k−1) (4.100)

de n ecuatii cu necunoscuta scalara µk, sistem obtinut prin ”actualizarea”, pentrupasul curent, a relatiei asimptotice y(∞)µ∞ = Ay(∞), care este chiar relatia dedefinitie a valorilor si vectorilor proprii. Pseudosolutia ın sens CMMP a sistemului(4.100) (vezi cap. 3) este asa numitul cat Rayleigh al perechii (A, y(k−1)) definit de

µk =(y(k−1))HAy(k−1)

‖y(k−1)‖2 = (y(k−1))HAy(k−1). (4.101)

Avand ın vedere faptul ca aceasta aproximare este din ce ın ce mai buna rezulta caviteza de convergenta a sirului (y(k))

k∈IN este din ce ın ce mai ridicata. Concret, sepoate demonstra ca are loc asa-numita convergenta patratica, i.e. exista o constantaτ astfel ıncat

‖y(k+1) − γx1‖ ≤ τ‖y(k) − γx1‖2. (4.102)

Criteriile practice de trunchiere a sirului construit prin metoda puterii inverse suntaceleasi cu cele utilizate ın cadrul algoritmului 4.1. Cu aceste precizari prezentamalgoritmul de implementare a metodei puterii inverse cu deplasarile (4.101).

Algoritmul 4.2 (Metoda puterii inverse cu deplasare Rayleigh)(Data o matrice A ∈ ICn×n, un nivel de toleranta tol ∈ IR, tol < 1, si unnumar maxim admismaxiter de iteratii, algoritmul calculeaza un vectorpropriu unitar y al matricei date sau tipareste un mesaj daca obiectivulnu a fost atins ın numarul admis de iteratii.)

1. Se alege aleator un vector y ∈ ICn.

2. y ← y/‖y‖3. i = 0, e = 1

4. Cat timp e > tol

1. Daca i > maxiter atunci

1. Tipareste ’S-a atins numarul maxim de iteratii fara a sefi obtinut nivelul prescris al tolerantei.’

4.3. METODA PUTERII. METODA PUTERII INVERSE 237

2. Stop

2. µ = yHAy

3. Se rezolva sistemul liniar (µIn −A)z = y

4. z ← z/‖z‖5. e = |1− |zHy| |6. y ← z

7. i← i+ 1

Comentarii. Metoda puterii inverse cu deplasare variabila data de catul Rayleighreprezinta cea mai buna cale de calcul al unui vector propriu al unei matrice. Con-vergenta patratica este foarte rapida (dupa cum se poate vedea si din exemplul

4.3). Astfel, e.g. daca ‖y(0) − γx1‖ ≤ ε si τ = 1, atunci ‖y(k) − γx1‖ ≤ ε2k

.Simultan cu calculul vectorului propriu, algoritmul calculeaza si valoarea proprieasociata, data de valoarea finala a deplasarii µ. In vederea obtinerii unei eficientesporite, este utila transformarea prealabila a matricei date la o forma (e.g., formasuperior Hessenberg) care sa aiba ca efect reducerea efortului de calcul necesarpentru rezolvarea sistemului liniar de la instructiunea 4.3. 3

Metoda puterii Metoda puterii inverse

k ek λ(k)1 ek µk = λ

(k)1

0 1.0000000000000 2.0000000000000 1.0000000000000 2.00000000000001 0.1055728090001 3.2000000000000 0.1322781687254 2.94117647058822 0.0262710088797 3.1481481481482 0.2003991735561 3.00451597555663 0.0026194296043 2.8921933085502 0.0000155353785 3.00001698086884 0.0006379322733 3.0572569906791 0.0000000000709 3.00000000017175 0.0002519147863 2.9922635151170 0.0000000000000 3.00000000000006 0.0000549638856 2.99451408581357 0.0000060060669 3.00606986282678 0.0000014882055 2.99742077556749 0.0000006272018 3.0004545082285...

......

23 0.00000000000000 3.0000000351815

Tabelul 4.1: Rezultate numerice privind evolutia erorii de pas ek si aproximatiei

curente λ(k)1 = (y(k))HAy(k) a valorii proprii dominante din exemplul 4.3.

Exemplul 4.3 Se considera matricea companion

A =

2 3 2 −61 0 0 00 1 0 00 0 1 0

,

238 CAPITOLUL 4. VALORI SI VECTORI PROPRII

avand valorile proprii (exacte)

λ1 = 3, λ2,3 = −1± i, λ4 = 1.

Un vector propriu exact asociat valorii proprii dominante λ1 = 3 si, respectiv,vectorul propriu normat calculat pe baza valorii exacte sunt (verificati!)

x1 =

99933311137

, x1 =

x1‖x1‖

=

0.942880899288930.314293633096310.104764544365440.03492151478848

.

Evolutia erorii curente ek din (4.97) si a aproximatiei curente λ1k a valorii propriidominante, calculate cu metoda puterii si metoda puterii inverse ın variantele algo-ritmice 4.1 si 4.2, sunt prezentate ın tabelul 4.1, unde au fost utilizate initializareay(0) = [ 1 0 0 0 ]T pentru vectorul propriu si toleranta de 1.0 × 10−15. Se verificafaptul ca, ın aceleasi conditii initiale, convergenta metodei puterii inverse este multmai rapida. Mai mult, valoarea proprie si vectorul propriu asociat (vezi tabelul4.2), calculate ın aceleasi conditii de oprire a iterarii (i.e. cu aceeasi toleranta) sunt

Metoda puterii Metoda puterii inverse

y(23) =

0.942880897934870.314293636088020.104764548805740.03492151110188

y(5) =

0.942880899288930.314293633096310.104764544365440.03492151478848

Tabelul 4.2: Vectorii proprii calculati pentru datele din exemplul 4.3.

sensibil mai precise ın cazul metodei puterii inverse (nu se constata nici o diferentaın cele 15 cifre semnificative utilizate la afisare fata de valoarea considerata exacta).3

In conformitate cu cele prezentate ın aceasta sectiune, problema calculului va-lorilor si vectorilor proprii 13 se poate rezolva astfel:

1. Se calculeaza un vector propriu, utilizand metoda puterii sau me-toda puterii inverse.

2. Se calculeaza valoarea proprie asociata, utilizand catul Rayleigh.3. Se aplica procedura de deflatie, punand ın evidenta valoarea pro-

prie calculata si reducand dimensiunea problemei.4. Daca nu s-au calculat toate valorile proprii se revine la pasul 1.

Aceasta procedura este elegant exprimata, ıntr-o forma implicita, ın cadrul unuialgoritm performant, cunoscut ın literatura de specialitate sub denumirea de algo-ritmul QR.

13 In cadrul procedurii de deflatie, este vorba de vectorii proprii ai matricei (reduse) curentecare, de la al doilea pas, nu mai sunt vectori proprii ai matricei initiale. Totusi acesti vectoriproprii pot servi, ulterior, la calculul vectorilor proprii ai matricei initiale (vezi exercitiul 4.49).

4.4. ALGORITMUL QR 239

4.4 Algoritmul QR

Algoritmul QR este, ın esenta, o procedura de deflatie iterativa care construieste(recurent) un sir de matrice unitar asemenea cu matricea initiala, sir care, ın conditiiprecizate, este convergent catre forma Schur. In cazul real se poate impune utilizareaexclusiva a aritmeticii reale. In aceasta situatie termenii sirului sunt matrice orto-gonal asemenea, iar limita sa este o forma Schur reala a matricei initiale.

In vederea minimizarii efortului de calcul, ıntr-o faza preliminara, matricea dataeste adusa, prin transformari de asemanare ce implica un numar (teoretic) finitsi (practic) rezonabil de mic de operatii, la cea mai apropiata structura posibilade forma Schur (reala). Aceasta structura este forma superior Hessenberg 14. Incontinuare, structura Hessenberg este conservata de recurenta fazei iterative a algo-ritmului. In acest fel, se obtine o importanta reducere a complexitatii unei iteratiiQR, fapt esential ın economia algoritmului.

Performantele deosebite ale algoritmului QR se explica atat prin deciziile teore-tice – cum sunt cele referitoare la maximizarea vitezei de convergenta – cat siprin numeroase decizii ”tehnice” de gestionare structurala optima pe parcursuldesfasurarii calculului.

In vederea unei prezentari mai clare si mai concise a algoritmilor din aceastasectiune vom folosi o serie de proceduri dezvoltate ın capitolul 3. Sintaxa utilizatasi o descriere succinta a acestor proceduri sunt date ın tabelul 4.3 15. Precizamca, daca ın apelul acestor proceduri, unii dintre parametrii de iesire au acelasinume cu unii dintre parametrii de intrare, atunci suprascrierea are loc ın interiorulprocedurii respective, cu efecte benefice corespunzatoare pentru economia spatiuluide memorie necesar. De asemenea, pentru a crea posibilitatea unor comparatiicorecte a complexitatilor, numarul asimptotic de operatii aritmetice dat ın tabeleste cel corespunzator operatiilor cu numere reale 16.

14Reamintim ca matricea H ∈ ICn×n este ın forma superior Hessenberg daca hij = 0, ∀ i > j+1.15 Atragem atentia ca, din dorinta de a prezenta cat mai unitar si mai limpede algoritmii

din capitolele 4, 5 si 6, procedurile din tabelul 4.3 au denumirile si sintaxele posibil diferite decele introduse ın capitolul 3. Evident, pentru o implementare performanta a acestor proceduri(acuratete maxima, memorare optima etc.) vor fi urmate recomandarile date ın capitolul 3. Facem,de asemenea, precizarea ca reflectorii complecsi utilizati ın algoritmii din capitolele 4, 5 si 6 sunt, ınexclusivitate, reflectori hermitici. Acolo unde utilizarea reflectorilor nehermitici ofera o alternativade calcul viabila (cum este cazul unor algoritmi din capitolul 5), versiunile respective fac obiectulunor exercitii.

16 In cadrul algoritmilor care opereaza cu numere complexe evaluarea numarului asimptotic deoperatii aritmetice s-a realizat cu urmatoarele corespondente:Operatie cu numere complexe Operatii cu numere reale

adunare/scadere 2ınmultire 6ımpartire 11.

Totusi, chiar cu acceptarea aritmeticii complexe, acolo unde economia de efort de calcul este evi-denta, evaluarea s-a facut considerandu-se ca s-au utilizat explicit operatiile aritmetice cu numerereale. Astfel, de exemplu, pentru un vector x ∈ ICn, ‖x‖22 se calculeaza cu expresia ‖x‖22 =

= ‖Rex‖22 + ‖Imx‖22 si nu folosind ‖x‖22 = xHx =∑n

i=1xixi, realizandu-se un efort de 4n flopi

ın loc de 7n flopi. Precizam, de asemenea, ca evaluarile numarului de operatii nu includ operatiiconexe cum ar fi scalarea.

240 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Sintaxa Intrari Iesiri Descriere Nop

b ∈ IRn Calculul unui reflector real[ b, u, β] = Hr(a) a ∈ IRn u ∈ IRn U1 = In − uuT /β astfel 2n

β ∈ IR ıncat (b = U1a)(2 : n) = 0.

b ∈ ICn Calculul unui reflector com-[ b, u, β] = Hc(a) a ∈ ICn u ∈ ICn plex U1 = In − uuH/β astfel 4n

β ∈ IR ıncat (b = U1a)(2 : n) = 0.

u ∈ IRn Inmultirea la stanga a ma-B = Hrs(u, β, A) β ∈ IR B ∈ IRn×m tricei A cu reflectorul real 4nm

A ∈ IRn×m U1 = In − uuT /β, i.e.B = U1A.

A ∈ IRm×n Inmultirea la dreapta a ma-B = Hrd(A, u, β) u ∈ IRn B ∈ IRm×n tricei A cu reflectorul real 4mn

β ∈ IR U1 = In − uuT /β, i.e.B = AU1.

u ∈ ICn Inmultirea la stanga a ma-B = Hcs(u, β,A) β ∈ IR B ∈ ICn×m tricei A cu reflectorul com- 14nm

A ∈ ICn×m plex U1 = In − uuH/β,i.e. B = U1A.

A ∈ ICm×n Inmultirea la dreapta a ma-B = Hcd(A,u, β) u ∈ ICn B ∈ ICm×n tricei A cu reflectorul com- 14mn

β ∈ IR plex U1 = In − uuH/β,i.e. B = AU1.

b ∈ IR2 Calculul unei rotatii reale P ,[ b, c, s] = Gr(a) a ∈ IR2 c ∈ IR de ordinul 2, astfel ıncat 6

s ∈ IR (b = P T a)(2) = 0.

b ∈ IC2 Calculul unei rotatii comple-[ b, c, s] = Gc(a) a ∈ IC2 c ∈ IR xe P , de ordinul 2, astfel ıncat 18

(b = PHa)(2) = 0.

c ∈ IR Inmultirea la stanga a matri-B = Grs(c, s, A) s ∈ IR B ∈ IR2×m cei A cu P T , i.e. B = P TA, 6m

A ∈ IR2×m unde P este o rotatie realade ordinul 2.

A ∈ IRm×2 Inmultirea la dreapta a ma-B = Grd(A, c, s) c ∈ IR B ∈ IRm×2 tricei A cu rotatia reala de 6m

s ∈ IR ordinul 2 P , i.e. B = AP .

c ∈ IR Inmultirea la stanga a matri-B = Gcs(c, s, A) s ∈ IC B ∈ IC2×m cei A cu PH , i.e. B = PHA, 26m

A ∈ IC2×m unde P este o rotatie comple-xa de ordinul 2.

A ∈ ICm×2 Inmultirea la dreapta a ma-B = Gcd(A, c, s) c ∈ IR B ∈ ICm×2 tricei A cu rotatia complexa 26m

s ∈ IC P de ordinul 2, i.e. B = AP .

Tabelul 4.3: Proceduri utilizate pentru scrierea algoritmilor din capitolele 4, 5 si6. Evaluarea numarului asimptotic de opertii Nop s-a efectuat ın flopi cu numerereale, pentru operatiile cu numere complexe utilizandu-se echivalarile din nota desubsol alaturata. Nu au fost incluse eventuale operatii de scalare pentru evitareadepasirilor ın format virgula mobila.

4.4. ALGORITMUL QR 241

4.4.1 Reducerea la forma superior Hessenberg

Este binecunoscuta teorema conform careia rezolvarea ecuatiilor algebrice generalede grad superior lui patru nu este posibila printr-o secventa finita de operatii arit-metice (inclusiv extrageri de radical). Intrucat calculul valorilor proprii este echiva-lent cu rezolvarea ecuatiei caracteristice, deducem ca nu exista un algoritm di-rect care sa reduca o matrice data, de ordin superior lui patru, la o forma mai”apropiata” de forma Schur decat forma Hessenberg si care, ın acelasi timp, saconserve valorile proprii.

Posibilitatea reducerii unei matrice A ∈ ICn×n la forma superior Hessenberg, cuconservarea valorilor proprii, este data de urmatorul rezultat.

Teorema 4.14 Oricare ar fi matricea A ∈ ICn×n, exista o matrice unitara Q ∈∈ ICn×n, calculabila printr-o secventa finita de operatii aritmetice, astfel ıncat ma-tricea

H = QHAQ (4.103)

este superior Hessenberg.In cazul real matricele H si Q sunt reale, i.e. matricea Q este ortogonala.

Demonstratie. Vom da o demonstratie constructiva bazata pe urmatoarea schemade calcul

HQ 1. Pentru k = 1 : n− 2

1. Se calculeaza un reflector elementar (complex) Uk+1

astfel ıncat (UHk+1A)(k + 2 : n, k) = 0.

2. A← UHk+1A

3. A← AUk+1

care suprascrie matricea A cu matricea

A← H = UHn−1 · · ·UH

3 UH2 AU2U3 · · ·Un−1. (4.104)

Notand

Q = U2U3 · · ·Un−1 (4.105)

avem QH = UHn−1 · · ·UH

3 UH2 si, ın consecinta, (4.104) poate fi scrisa ın forma

(4.103). Ramane de aratat ca schema de calcul de mai sus creaza efectiv o structurasuperior Hessenberg. Vom aplica un procedeu bazat pe inductie finita.

Pasul 1◦. Exista un reflector elementar (complex) U2 de ordinul n astfel ıncat(UH

2 A)(3 :n, 1) = 0 (vezi cap. 3), care realizeaza structura superior Hessenberg ınprima coloana. Matricea U2 are structura

U2 =

[1 0

0 U2

]

. (4.106)

Prin urmare, postmultiplicarea matricei UH2 A cu U2 nu modifica prima coloana a lui

UH2 A, i.e. zerourile create ın prima coloana a lui UH

2 A sunt conservate ın UH2 AU2.

242 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Pasul k◦. Presupunem ca ın cadrul primilor k − 1 pasi (k < n− 1) am obtinuto matrice avand o structura superior Hessenberg ın primele k − 1 coloane:

A← Akdef= UH

k · · ·UH2 AU2 · · ·Uk. (4.107)

Acum, exista un reflector elementar Uk+1 astfel ıncat (UHk+1A)(k + 2:n, k) = 0, i.e.

premultiplicarea cu UHk+1 creeaza structura superior Hessenberg ın coloana k fara

sa afecteze structura de zerouri din primele k − 1 coloane. Mai mult, structura

Uk+1 =

[Ik 0

0 Uk+1

]

(4.108)

a reflectorului utilizat la acest pas, ne asigura, de asemenea, ca postmultiplicareacu Uk+1 nu afecteaza nici una din primele k coloane ale matricei (UH

k+1Ak).Prin urmare, schema de calcul prezentata la ınceputul demonstratiei realizeaza

reducerea matricei date la forma superior Hessenberg prin transformarea unitarade asemanare (4.104).

In cazul real demonstratia este identica cu precizarea ca transformarea ortogo-nala de asemanare este un produs de reflectori reali. Caracterul finit al calcululuieste evident. 3

Utilizand procedurile din tabelul 4.3, demonstratia de mai sus conduce imediatla urmatorul algoritm.

Algoritmul 4.3 (HQc – Reducerea la forma superior Hessenberg)(Date o matrice A ∈ ICn×n si o matrice unitara Q ∈ ICn×n, algoritmulcalculeaza o secventa de reflectori (complecsi) U2, U3, · · ·, Un−1 astfelıncat matricea transformata A ← H = UH

n−1 · · ·UH3 U

H2 AU2U3 · · ·Un−1

este ın forma superior Hessenberg. Optional se calculeaza actualizareamatricei de transformare, i.e. Q ← QU2U3 · · ·Un−1. Optiunea se ex-prima prin intermediul unei variabile logice opt de tipul sir de caracterece poate lua valorile ′da′ sau ′nu′. Daca opt = ′nu′, matricea Q ramanenemodificata.)

1. Pentru k = 1 : n− 2

1. [A(k + 1 : n, k), u, β ] = Hc(A(k + 1 : n, k))

2. A(k + 1 : n, k + 1 : n) = Hcs(u, β,A(k + 1 : n, k + 1 : n))

3. A(1 : n, k + 1 : n) = Hcd(A(1 : n, k + 1 : n), u, β)

4. Daca opt = ′da′ atunciQ(1 : n, k + 1 : n) = Hcd(Q(1 : n, k + 1 : n), u, β)

Comentarii. Pentru apelul algoritmului HQc va fi utilizata sintaxa generala

[H,V ] = HQc(A,Q, opt),

care exprima posibilitatea de a memora rezultatele ın alte tablouri decat cele initialedesi calculele se fac cu suprascrierea interna a matricei initiale si a matricei detransformare. Sintaxa propusa mai sus se poate dovedi utila ın asigurarea unei

4.4. ALGORITMUL QR 243

prezentari clare a procedurilor care utilizeaza algoritmul HQc. De exemplu, apelul[A,U ] = HQc(A, In,

′da′) calculeaza, pe loc, reducerea la forma Hessenberg sicreeaza matricea de transformare din (4.104).

In cazul real reflectorii utilizati vor fi reali si, ın consecinta, matricea Hessen-berg rezultata va fi reala. Intrucat aceasta particularizare se obtine pur si simpluınlocuind identificatorii procedurilor ”complexe” cu cei ai procedurilor ”reale” core-spunzatoare, ne marginim sa precizam sintaxa de apel cu care aceasta varianta vafi folosita ın continuare:

[H,V ] = HQr(A,Q, opt).

Complexitatea algoritmului este O(n3), executia sa implicand Nop ≈ 10n3/3operatii cu numere complexe ın format virgula mobila. Acumularea matricei detransformare necesita N

op ≈ 4n3/3 operatii suplimentare. Algoritmul HQ este nu-meric stabil, i.e. matricea superior Hessenberg calculata ıntr-o aritmetica ın virgulamobila este o matrice exact unitar (ortogonal) asemenea cu o matrice usor pertur-bata A+ E, unde matricea de perturbatie E satisface conditia ‖E‖ ≤ p(n)εM‖A‖,cu p(n) o functie cu crestere ”modesta” de dimensiunea n a problemei. 3

Observatia 4.4 Pentru obtinerea formei Hessenberg se pot utiliza si transformaride asemanare neunitare (neortogonale). Intr-adevar, folosind transformari gaussieneelementare stabilizate MkPk, k = 2 : n − 1, unde Mk este o matrice inferior tri-unghiulara elementara, iar Pk este o matrice de permutare elementara (v. cap.2),determinate corespunzator pentru anularea elementelor k + 1 : n din coloana k − 1a matricei curente, matricea

H =Mn−1Pn−1 . . .M2P2AP2M−12 . . . Pn−1M

−1n−1

va fi superior Hessenberg. O implementare ıngrijita a secventei de transformari demai sus conduce la un efort de calcul redus la jumatate fata de cel necesar pen-tru executia algoritmului HQ. Detaliile algoritmului fac obiectul exercitiului 4.50.Anumite retineri existente ın utilizarea acestei solutii sunt datorate unor posibileinstabilitati numerice (a caror existenta este dovedita teoretic, dar care apar foarterar ın practica) precum si unor dificultati ın analiza erorilor, dificultati induse defaptul ca transformarile neunitare (neortogonale) nu conserva conditionarea valo-rilor proprii. 3

4.4.2 Faza iterativa a algoritmului QR

Etapa iterativa a algoritmului QR utilizeaza, ıntr-o maniera implicita, metodeleputerii si puterii inverse pentru reducerea unei matrice la forma Schur (reala). Desiimplementarile profesionale ale algoritmului QR utilizeaza, ın exclusivitate, dinmotive de eficienta calculatorie (ın cazul matricelor reale), varianta cu deplasareimplicita cu pas dublu, din ratiuni pedagogice vom prezenta si variantele cu de-plasare explicita.

244 CAPITOLUL 4. VALORI SI VECTORI PROPRII

A. Algoritmul QR cu deplasare explicita

Presupunem ca matriceaH ∈ ICn×n are o structura superior Hessenberg. AlgoritmulQR cu deplasare explicita construieste un sir de matrice

H = H1, H2, · · · , Hk, Hk+1, · · · (4.109)

pe baza relatiei de recurenta

{Hk − µkIn = QkRk

Hk+1 = RkQk + µkIn, k = 1, 2, · · · , H1 = H, (4.110)

unde scalarul µk, denumit deplasare, este folosit pentru asigurarea convergentei. Inprima relatie (4.110) matricea Hk − µkIn este factorizata QR, i.e. scrisa sub formaunui produs dintre matricea unitara Qk si matricea superior triunghiulara Rk (vezicap.3). In relatia a doua din (4.110) matricea succesor Hk+1 se obtine ınmultindmatricele Qk si Rk ın ordine inversa si anuland deplasarea prin adunarea matriceiµkIn. Sirul (4.109), generat de (4.110), este denumit sirul QR. Corespunzator,tranzitia Hk → Hk+1 se numeste un pas sau o transformare QR.

Principalele proprietati ale sirului QR sunt date de urmatoarea propozitie.

Propozitia 4.3 a) Daca matricea initiala H1 = H a sirului matriceal QR estesuperior Hessenberg, atunci toate matricele sirului au aceeasi structura. Altfel spus,structura Hessenberg este invarianta la transformarile QR.

b) Toate matricele sirului QR sunt unitar asemenea si, prin urmare, au acelasispectru de valori proprii.

In cazul real afirmatiile de mai sus raman valabile daca ın locul operatoruluihermitic, de transpunere si conjugare, se utilizeaza operatorul de transpunere.

Demonstratie. a) Daca Hk din (4.110) este o matrice superior Hessenberg, aceeasistructura o are si matricea Hk−µkIn. Algoritmul de factorizare QR (v. cap.3) apli-cat matricei superior Hessenberg Hk−µkIn produce o matrice unitara Qk superiorHessenberg 17. Intrucat Rk este superior triunghiulara rezulta ca matricea unitaraQk este, de asemenea, superior Hessenberg. Cum produsul dintre o matrice superiortriunghiulara si o matrice superior Hessenberg este o matrice superior Hessenberg(verificati!) rezulta ca RkQk este superior Hessenberg si, evident, aceeasi structurao are si matricea Hk+1. Prin inductie, daca H1 = H este superior Hessenberg,atunci toate matricele Hk, k = 2, 3, ... sunt matrice superior Hessenberg.b) Din prima relatie (4.110) avem

Rk = QHk (Hk − µkIn), (4.111)

care, introdusa ın cea de a doua relatie (4.110), conduce la

Hk+1 = QHk (Hk − µkIn)Qk + µkIn = QH

k HkQk, (4.112)

17 Daca µk 6∈ λ(Hk) (care este cazul curent), atunci matricea superior triunghiulara Rk estenesingulara si matricea Qk este, ın mod necesar, superior Hessenberg.

4.4. ALGORITMUL QR 245

i.e. Hk+1 si Hk sunt unitar asemenea si au acelasi spectru. Aplicand (4.112) ınmod repetat obtinem

Hk = QHk−1Q

Hk−2 · · ·QH

1 H1Q1 · · ·Qk−2Qk−1 = QHk HQk, (4.113)

unde

Qk = Q1Q2 · · ·Qk−1 (4.114)

este o matrice unitara (ca produs de matrice unitare). Prin urmare, toate matriceledin sirul QR sunt unitar asemenea si, ın consecinta, au acelasi spectru. Transfor-marea unitara cumulata (4.114) poate fi construita recurent cu relatia

Qk+1 = QkQk, k = 1, 2, · · · , Q1 = In. (4.115)

Propozitia este demonstrata. 3

In continuare, vom arata ca, prin alegerea adecvata a deplasarilor µk, k == 1, 2, . . ., ın afara unor situatii patologice (vezi exemplul 4.4), sirulQR este conver-gent catre forma Schur (reala). Mai precis, vom arata ca, ın primul rand, elementulextradiagonal al ultimei linii a matricei Hk se anuleaza asimptotic pentru k → ∞.Mai mult, generic, toate elementele subdiagonale, cu viteze diferite, au tendinta deanulare. Argumentele sunt urmatoarele.

(i) Cu o alegere adecvata a deplasarilor µk, sirul QR implementeaza, ıntr-oforma implicita, o versiune a metodei puterii inverse cu deplasare Rayleigh si, ınconsecinta, asigura o convergenta patratica a ultimei coloane a matricei de trans-formare cumulate Qk catre un vector propriu al matricei HH ceea ce are ca efectanularea asimptotica a elementului Hk(n, n− 1).

Pentru a justifica aceasta afirmatie observam mai ıntai faptul ca din relatiile(4.111), (4.113) si (4.115) rezulta

Rk = QHk (QH

k HQk−µkIn) = QHk Q

Hk (H−µkIn)Qk = QH

k+1(H−µkIn)Qk, (4.116)

de unde

RkQHk = QH

k+1(H − µkIn). (4.117)

Putem scrie acum dependenta dintre ultimele coloane q(k+1)n si q

(k)n ale matricelor

Qk+1 si, respectiv, Qk. Intr-adevar, prin transpunerea si conjugarea relatiei (4.117)se obtine

QkRHk = (HH − µkIn)Qk+1, (4.118)

unde µk este conjugata deplasarii µk. Intrucat RHk este inferior triunghiulara, ega-

litatea ultimelor coloane din (4.118) conduce la

r(k)nn q(k)n = (HH − µkIn)q

(k+1)n (4.119)

sau, daca µk 6∈ λ(H),

q(k+1)n = r(k)nn (H

H − µkIn)−1q(k)n , (4.120)

246 CAPITOLUL 4. VALORI SI VECTORI PROPRII

unde r(k)nn este conjugatul lui r

(k)nn . Relatia (4.120) defineste iteratia puterii inverse

pentru determinarea unui vector propriu al matricei HH . In continuare vom arataca daca ultima coloana a matricei unitare de transformare este un vector propriu almatricei HH atunci elementele extradiagonale ale ultimei linii ale matricei H se a-nuleaza, similar cu procedura standard de deflatie. Pentru aceasta reamintim faptulca valorile proprii ale matricei HH sunt conjugatele valorilor proprii ale matricei Hsi consideram transformarea unitara definita de matricea

Q =[

Q vn], (4.121)

cu vn un vector propriu al matricei HH , i.e.

HHvn = λnvn, cu λn ∈ λ(H). (4.122)

Atunci, din (4.121) si (4.122) avem

{

vHn HQ = λnvHn Q = 0,

vHn Hvn = λnvHn vn = λn,

(4.123)

de unde rezulta

QHHQ =

[

QH

vTn

]

H[

Q vn]=

[QHHQ QHHvnvHn HQ vHn Hvn

]

=

[

H hH

0 λn

]

.

(4.124)

Viteza patratica de convergenta a vectorului coloana q(k)n din (4.120) catre un vector

propriu al matricei HH poate fi obtinuta alegand pentru deplasarea µk valoarea(4.101) a catului Rayleigh

µk =(q

(k)n )HHH q

(k)n

(q(k)n )H q

(k)n

= (q(k)n )HHH q(k)n = eTn QHk H

HQken = eTnHHk en = h(k)nn ,

respectiv,µk = h(k)nn . (4.125)

Alegerea (4.125) a deplasarii originii garanteaza o rata excelenta de convergen-ta a sirului QR catre forma Schur ın ultima linie, i.e. de anulare asimptotica a

elementului h(k)n,n−1. Cand elementul h

(k)n,n−1 satisface o conditie de forma

|h(k)n,n−1| < tol(|h(k)n−1,n−1|+ |h(k)nn |), (4.126)

unde tol este un nivel prescris de toleranta, putem considera ca h(k)n,n−1 este numeric

neglijabil si ıl putem anula efectiv. Astfel h(k)nn devine o valoare proprie calculata a

lui H . Dupa aceasta operatie, dimensiunea problemei s-a redus cu o unitate.

(ii) Sirul QR implementeaza simultan o versiune a metodei puterii cu de-plasare. Astfel, ın acelasi timp, sirul QR pune asimptotic ın evidenta, chiar dacacu o viteza mai redusa, si alte valori proprii pe diagonala matricei curente a sirului.

4.4. ALGORITMUL QR 247

Intr-adevar, din (4.116), avem

Qk+1Rk = (H − µkIn)Qk. (4.127)

Egalitatea primelor coloane ale matricelor din (4.121) conduce la

Qk+1r(k)1 = (H − µkIn)q

(k)1 , (4.128)

unde q(k)1 = Qke1 este prima coloana a matricei Qk si r

(k)1 = Rke1 este prima

coloana a matricei Rk. Intrucat Rk este superior triunghiulara, avem r(k)1 = r

(k)11 e1

si, deci, (4.128) poate fi scrisa ın forma echivalenta

q(k+1)1 =

1

r(k)11

(H − µkIn)q(k)1 , (4.129)

care exprima recurenta ce defineste metoda puterii pentru calculul unui vector pro-priu al matricei H , utilizand un parametru scalar de deplasare µk. Conform celoraratate ın sectiunea 4.3, daca µk evolueaza astfel ıncat matricea H − µkIn are ovaloare proprie dominanta atunci prima coloana a matricei unitare de transformareQk converge catre un vector propriu asociat acestei valori proprii. In conformitatecu procedura de deflatie (vezi sectiunea 4.2) prima coloana a matricei QH

k HQk = Hk

converge catre prima coloana a formei Schur a lui A, i.e. elementul subdiagonal dinprima coloana a lui H se anuleaza asimptotic. Viteza de convergenta depinde deevolutia modulului raportului primelor doua valori proprii (enumerate ın ordineadescrescatoare a modulelor) ale matricei H − µkIn.

Avand ın vedere faptul ca cele doua procese de deflatie au loc simultan si ca,odata luata decizia de neglijare a elementelor subdiagonale suficient de mici, di-mensiunea problemei de calcul scade, o experienta numerica destul de consistentaa condus la evaluarea ca, ın mod obisnuit, pentru calculul unei valori proprii a uneimatrice Hessenberg sunt suficiente, ın medie, 1.5-2 iteratii QR. Aceasta viteza deconvergenta exceptionala se datoreaza faptului, constatat experimental, ca o data cuelementele subdiagonale din ultima linie si prima coloana, toate celelalte elementesubdiagonale au tendinta de anulare asimptotica.

Pe de alta parte, asa cum s-a precizat, sirul QR nu converge ıntotdeauna, exi-stand situatii ın care elementele subdiagonale, inclusiv cel de pe pozitia (n, n−1),nu se anuleaza asimptotic. In practica numerica astfel de situatii sunt rare, ”pato-logice”, si se pot lua masuri care sa le faca extrem de rare. Prezentam ın continuareun astfel de caz.

Exemplul 4.4 Se considera matricea H ∈ IR4×4 ın forma superior Hessenberg

H =

0 0 0 11 0 0 00 1 0 00 0 1 0

,

avand valorile proprii (exacte), ordonate arbitrar,

λ1 = −1, λ2,3 = ±i, λ4 = 1.

248 CAPITOLUL 4. VALORI SI VECTORI PROPRII

µ1 = 0.001

k h(k)21 h

(k)32 h

(k)43

1 1.00000000000000 1.00000000000000 1.000000000000002 0.99999900000088 0.99999999999950 0.999999499998873 0.99999800000800 0.99999999999800 0.99999799999200...

......

...11 0.89589063292443 0.99770241027003 0.8608566488751312 0.74524339988451 0.99080233083311 0.4832365262644513 0.58630453030022 0.99453900211462 0.0471972548941114 0.44579447911603 0.99846792286246 0.0000362530753915 0.32803260297652 0.99959510209257 0.0000000000000216 0.23685107105612 0.99989584829055 0.00000000000000...

......

...25 0.01069551270948 0.99999999959102 0...

......

...50 0.00000184648291 1.00000000000000 0...

......

...100 0.00000000000006 1.00000000000000 0

Tabelul 4.4: Rezultate numerice pentru exemplul 4.4 privind evolutia elementelor

subdiagonale h(k)i+1,i, i = 1 : 3, ale matricelor Hk cu initializarea µ1 = 0.001 6= 0 a

deplasarii.

4.4. ALGORITMUL QR 249

Se observa ca H este o matrice ortogonala (de permutare). De asemenea nu estegreu de vazut ca sirul QR construit cu relatiile (4.110) cu deplasarile (4.125) lasamatricea H nemodificata, i.e.

Hk = H, k = 1, 2, . . .

Intr-adevar, fie H1def= H . Avem µ1 = h44 = 0, deci H1 − µ1I4 = H1. Cum H1

este ortogonala, o factorizare QR a lui H1 se obtine pentru Q1 = H1 si R1 = I4.Rezulta H2 = H1 si, prin inductie, se obtine relatia de mai sus pentru toti k.

Evolutia elementelor subdiagonale h(k)i+1,i, i = 1 : 3, ale matricelor Hk pentru

initializarea µ1 = 0.001 6= 0 a deplasarii este prezentata ın tabelul 4.4, iar pentruinitializarea ”recomandata” µ1 = 2 6= 0 a deplasarii este prezentata ın tabelul 4.5,din care se poate observa viteza diferita de anulare asimptotica a elementelor h43

µ1 = 2

k h(k)21 h

(k)32 h

(k)43

1 1.00000000000000 1.00000000000000 1.000000000000002 0.91651513899117 0.98169181562325 −0.808689828521623 0.78445125612917 0.97895246315181 −0.345957662307254 0.63665525316291 0.99162466881300 −0.015317732032155 0.49164479289711 0.99761224919910 −0.000001229204486 0.36518170914743 0.99936015720678 −0.00000000000000...

......

...25 0.00053197970928 1.00000000000000 0...

......

...50 0.00000009183752 1.00000000000000 0...

......

...100 0.000000000000000 1.00000000000000 0

Tabelul 4.5: Rezultate numerice pentru exemplul 4.4 privind evolutia elementelor

subdiagonale h(k)i+1,i, i = 1 : 3, ale matricelor Hk cu initializarea µ1 = 2 6= 0 a

deplasarii.

si h21 si evidentierea valorilor proprii reale λ1 si λ4 ın pozitiile diagonale 11 si 44.Iterand de un numar suficient de ori cititorul interesat va avea confirmarea faptuluica limita sirului QR construit cu una din initializarile date pentru µ este

Hk −→ H∞ =

−1 0 0 00 0 −1 00 1 0 00 0 0 1

.

Faptul ca elementul h(k)32 nu se anuleaza asimptotic se datoreaza utilizarii exclusive

250 CAPITOLUL 4. VALORI SI VECTORI PROPRII

a aritmeticii reale si alegerii µk = h(k)44 , a deplasarii pentru toti k ≥ 2. Modul ın

care se gestioneaza ıntreaga structura a matricei Hk este tratat mai departe. 3

Observatia 4.5 Situatiile de genul celor evidentiate ın exemplul 4.4 se pot se-siza prin supravegherea elementului hn,n−1 si daca, dupa un numar convenit deiteratii 18 modulul sau nu scade sub o toleranta impusa, se intervine, de obicei prinrenuntarea, pentru un singur pas, la deplasarea data de (4.125). In literatura despecialitate (vezi [ X ]) exista unele recomandari pentru alegerea acestei deplasarimodificate, bazate pe o bogata experienta numerica dar lipsite de o justificare teo-retica corespunzatoare. Daca o astfel de masura nu da rezultate, ın general serenunta la continuarea calculului 19. Detaliile vor fi precizate ın descrierea algorit-milor. 3

In concluzie, algoritmul QR cu deplasare explicita este definit, ın esenta, derecurenta (4.110), cu alegerea (4.125) a deplasarii. Avandu-se ın vedere structurasuperior Hessenberg a tuturor matricelor sirului QR, pentru factorizarea QR serecomanda utilizarea rotatiilor. In consecinta, un pas simplu QR cu deplasareexplicita (fara acumularea transformarii) consta ın efectuarea urmatoarelor calcule,pe loc, ın spatiul de memorie al matricei H .

1. µ = hnn

2. H ← H − µIn3. Pentru j = 1 : n− 1

1. Se determina rotatia plana (complexa) Pj,j+1 astfelıncat (PH

j,j+1H)j+1,j = 0.

2. H ← PHj,j+1H

4. Pentru j = 1 : n− 1

1. H ← HPj,j+1

5. H ← H + µIn

Matricea de transformare curenta este data de

Qk = P12P23 · · ·Pn−1,n,

iar completarea algoritmului cu acumularea transformarilor (care se face numai ıncaz de necesitate) este lasata ın sarcina cititorului.

Complexitatea unui pas QR cu deplasare explicita aplicat unei matrice superiorHessenberg este O(n2) algoritmul de mai sus necesitand N ≈ 6n2 flopi (complecsi).

PasulQR de mai sus se ajusteaza la dimensiunea curenta a problemei, pe masurace se pun ın evidenta valorile proprii calculate. O modalitate concreta de gestionarea valorilor proprii calculate va fi prezentata ın cadrul algoritmului QR cu deplasareimplicita.

18 Valorile uzuale sunt ın jurul lui 10.19 Numarul de iteratii la care se ia decizia de ”lipsa de convergenta” si de oprire a calculului

este, uzual, ıntre 20 si 30.

4.4. ALGORITMUL QR 251

B. Strategia pasilor dubli

In cazul matricelor reale se poate impune utilizarea exclusiva a unei aritmetici reale.Daca matricea are si valori proprii complex conjugate alegerea recomandata mai suspentru deplasarea µk nu mai poate asigura convergenta procesului de evidentiere avalorilor proprii. Asa cum s-a vazut ın demonstratia lemei 4.3, pentru evidentiereaunui bloc 2×2 al formei Schur reale, deflatia se face cu ajutorul unei baze ortogonale(reale) a subspatiului A-invariant generat de partea reala si cea imaginara a perechiide vectori proprii asociati. Aceasta a condus la ideea comasarii a doi pasi consecutiviQR ıntr-unul singur 20 si a utilizarii unei perechi de deplasari complex conjugatecare, ın pasul dublu, apar ın combinatii reale.

Concret, fie H ∈ IRn×n o matrice superior Hessenberg si doi pasi consecutiviQR cu deplasare explicita

{

Hk − µkIn = QkRk

Hk+1 = RkQk + µkIn,

{

Hk+1 − µk+1In = Qk+1Rk+1

Hk+2 = Rk+1Qk+1 + µk+1In, (4.130)

care pot fi contrasi ın transformarea directa Hk −→ Hk+2, numita pas dublu QR.Intr-adevar, pasul k produce matricea Hk+1 = QH

k HkQk astfel ıncat factorizareaQR din cadrul pasului k + 1 poate fi scrisa sub forma QH

k HkQk − µk+1In =

= Qk+1Rk+1. Inmultind aceasta relatie la stanga cu Qk, la dreapta cu Rk si uti-lizand factorizarea QR din cadrul pasului k, rezulta ca un pas dublu QR este descrisde {

(Hk − µkIn)(Hk − µk+1In) = QkQk+1Rk+1Rk

Hk+2 = (QkQk+1)THkQkQk+1

, (4.131)

si implica efectuarea urmatoarelor calcule:

1. Se calculeaza matriceaMdef= H2

k−skHk+pkIn, unde sk = µk+µk+1

si pk = µkµk+1.

2. Se calculeaza factorizarea QR a matricei M , i.e. M = QR, undeQ = QkQk+1 si R = RkRk+1.

3. Hk+2 = QTHkQ.

Deplasarile µk si µk+1 se aleg, ın concordanta cu cele discutate mai sus, egale cuvalorile proprii ale blocului 2× 2 din coltul din dreapta jos al matricei Hk:

Hk(n−1 : n, n−1 : n) =

[

h(k)n−1,n−1 h

(k)n−1,n

h(k)n,n−1 h

(k)n,n

]

. (4.132)

Important este faptul ca, ın schema de calcul aferenta unui pas dublu QR, celedoua valori proprii apar sub forma de suma si produs:

sk = µk + µk+1 = h(k)n−1,n−1 + h

(k)n,n

pk = µkµk+1 = h(k)n−1,n−1h

(k)n,n − h(k)n−1,nh

(k)n,n−1

, (4.133)

20 Se poate imagina si o comasare a mai multi pasi QR ın cadrul unei strategii a pasilor”multipli”. O astfel de solutie este utilizata ın LAPACK [XV ] pentru procedurile bloc de calculal valorilor proprii.

252 CAPITOLUL 4. VALORI SI VECTORI PROPRII

care sunt reale chiar daca cele doua deplasari individuale sunt complexe.

Strategia pasului dublu QR nu se aplica ınsa ın forma explicita de mai susıntrucat implementarea schemei de calcul prezentate conduce la o reducere sensi-bila a eficientei. Intr-adevar, complexitatea unui pas simplu QR este O(n2) si la feleste si complexitatea a doi pasi simpli QR ın timp ce numarul de operatii necesarpentru executia unui pas dublu QR, datorita calculului explicit al matricei M , estede ordinul O(n3). Aceasta ınseamna ca forma explicita a pasului dublu QR nu esteoptimala. Refacerea complexitatii la O(n2) este posibila (dar nu apare ın mod sim-plu), iar varianta de calcul este cunoscuta sub denumirea de varianta cu deplasareimplicita si este utilizata ın toate implementarile profesionale ale algoritmului QRpentru matrice reale.

C. Ideea algoritmului QR cu deplasare implicita

Scopul fundamental al dezvoltarii variantei cu deplasare implicita a algoritmuluiQR este reducerea complexitatii unui pas dublu QR aplicat unei matrice realeın forma superior Hessenberg la nivelul complexitatii a doi pasi simpli QR. Desi,principial, exista toate motivele ca acest lucru sa fie posibil, aspectele tehnice suntdeparte de a fi triviale. Algoritmul QR cu deplasare implicita dateaza din anul1961 si a fost propus de J.G.F. Francis [ 26 ] si V.N. Kublanovskaia [ 39 ].

Conform celor prezentate mai sus referitor la pasul dublu QR, matricele Hk

si Hk+2 = QTkHkQk au structura superior Hessenberg si sunt ortogonal asemenea.

Sansele de a gasi o cale alternativa de calcul a matricei succesor Hk+2 si, eventual,a matricei de transformare asociate, sunt legate nemijlocit de evidentierea gradelorde libertate existente. Avand ın vedere aceasta observatie, suntem interesati deconditiile ın care transformarea care defineste un pas QR este unica sau poate firestransa la o clasa bine precizata.

Pentru ınceput, observam ca, ın general, matricea unitara Qk care definesterelatia de asemanare dintre matricele superior Hessenberg Hk si Hk+1 din sirul QRnu este unica. Intr-adevar, fie V ∈ ICn×n o matrice unitara arbitrara. Aplicareaalgoritmului HQc matricei V HHkV conduce la obtinerea unei matrice superiorHessenberg unitar asemenea cu Hk si care depinde de alegerea lui V .

Restrangerea transformarilor la o clasa de transformari, ”echivalente” din punc-tul de vedere al convergentei catre forma Schur, va fi facuta pentru matricele supe-rior Hessenberg ireductibile 21 definite mai jos.

Definitia 4.6 O matrice n × n complexa sau reala H superior Hessenberg se nu-meste ireductibila daca are toate elementele subdiagonale nenule, i.e.

hj+1,j 6= 0, j ∈ 1 : n−1. (4.134)

Pentru matricele superior Hessenberg ireductibile prezentam teorema urma-toare.

21 Problema calculului valorilor proprii ale unor matrice superior Hessenberg reductibile sereduce la calculul valorilor proprii ale unor matrice superior Hessenberg ireductibile de dimensiunimai mici (vezi mai departe).

4.4. ALGORITMUL QR 253

Teorema 4.15 Fie matricea A ∈ ICn×n si matricele unitare U ∈ ICn×n si V ∈ ICn×n

astfel ıncat matriceleH = UHAU, G = V HAV (4.135)

sunt ambele superior Hessenberg ireductibile. Daca matricele U si V au aceeasiprima coloana, i.e.

Ue1 = V e1, (4.136)

atunciUej = eiθjV ej , θj ∈ IR, j = 2 : n, (4.137)

i.e. exista o matrice diagonala unitara D = diag(1, δ2, . . . , δn) cu δj = eiθj , j = 2:n,astfel ıncat

H = DHGD. (4.138)

In cazul real, i.e. A ∈ IRn×n si matricele U ∈ IRn×n si V ∈ IRn×n ortogonale,conditia (4.136) implica Uej = ±V ej, j = 2 : n, i.e. matricea diagonala din (4.138)este ortogonala avand δj ∈ {−1, 1 }, j = 2 : n. Daca elementele subdiagonalecorespondente ale matricelor G si H din (4.135) au acelasi semn, atunci (4.136)implica U = V , i.e transformarea este unic determinata.

Observatia 4.6 Avand ın vedere obiectivele urmarite, putem afirma ca, ın condi-tiile teoremei 4.15, matricele H si G sunt esential aceleasi. Intr-adevar, este usorde constatat ca |hij | = |gij | (ın cazul real aceasta ınseamna hij = ± gij) pentru totii si j si, prin urmare, ”distanta” (ın norma Frobenius) pana la forma Schur ”ceamai apropiata” a celor doua matrice poate fi considerata aceeasi. 3

Demonstratia teoremei 4.15. Fie Wdef= V HU si W = [w1 w2 · · · wn ] partitia sa

pe coloane. Atunci, din (4.136), rezulta w1 = We1 = e1, iar din (4.135) avemGW =WH relatie care, scrisa pe coloane, devine

Gwj =WH(:, j) =

j∑

k=1

wkhkj + wj+1hj+1,j , j = 1 : n− 1.

Intrucat hj+1,j 6= 0, obtinem urmatoarea exprimare a coloanei j + 1 a matricei Wın functie de coloanele precedente

wj+1 =1

hj+1,j(Gwj −

j∑

k=1

wkhkj),

expresie care, cu initializarea w1 = e1, probeaza faptul ca matriceaW este superiortriunghiulara. Cum o matrice unitara triunghiulara este ın mod necesar diagonalacu toate elementele diagonale de modul unitar (vezi exercitiul 4.20), rezulta wj == Wej = eiθjej , j = 2 :n, si, deci, ın (4.138) matricea diagonala D este chiar W ,

i.e. avem Ddef= W . Relatiile (4.137) sunt o consecinta imediata a relatiei (4.138).

In cazul real demonstratia este aceeasi daca se tine seama de faptul ca operatia deconjugare nu are efect si ca singurele numere reale de modul unitar sunt −1 si 1.Fie δ1 = 1. Atunci elementele diagonale ale matricei D se determina cu relatia de

recurenta δi =gi,i−1

hi,i−1δi−1 de unde rezulta ca, daca gi,i−1 si hi,i−1 au acelasi semn,

atunci δi = 1, i = 2:n, i.e. D = In. 3

254 CAPITOLUL 4. VALORI SI VECTORI PROPRII

D. Un pas QR cu deplasare implicitapentru matrice complexe

Teorema 4.15 reprezinta fundamentul teoretic pentru variantele cu deplasare im-plicita ale algoritmului QR. Ideea centrala a acestora consta ın asigurarea conditieica prima coloana a matricei de transformare cumulate aferente unui pas QR sacoincida cu prima coloana a matricei de transformare de la varianta cu deplasareexplicita corespunzatoare, simultan cu minimizarea numarului de operatii aritme-tice, prin exploatarea eficienta a structurilor de zerouri ale matricelor implicate.

Concret, pentru implementarea unui pas simplu QR cu deplasare implicita seprocedeaza ın felul urmator:

1. Se calculeaza prima coloana q(k)1 a matricei Qk din (4.110) ce de-

fineste transformarea unitara aferenta unui pas simplu QR cu de-plasare explicita.

2. Se determina o matrice unitara U1 astfel ıncat prima sa coloana sa

fie q(k)1 , i.e. U1e1 = q

(k)1 .

3. Se calculeaza matricea B = UH1 HkU1 (a carei structura nu mai

este superior Hessenberg).

4. Se reface structura superior Hessenberg, aplicand algoritmul HQcmatricei B: [Hk+1, Qk+1] = HQc(B, Qk, opt). Transformarile im-plicate de aceasta reducere nu afecteaza prima coloana a matriceide transformare cumulate.

Aceasta schema de calcul defineste un pasQR cu deplasare implicita. Daca matriceaHk este ireductibila, atunci rezultatul Hk+1 al aplicarii schemei de calcul de maisus va fi esential acelasi, ın sensul observatiei 4.6, cu cel dat de un pas QR cudeplasare explicita. Pentru ca procedura cu deplasare implicita sa nu fie inferioara,din punctul de vedere al eficientei, celei cu deplasare explicita, trebuie exploatatecorespunzator avantajele structurale date de forma Hessenberg a matricelor initialasi finala. Detaliile unei implementari eficiente sunt prezentate ın continuare.

Fie, pentru simplificarea notatiilor, Hknot= H matricea curenta a sirului QR,

presupusa ireductibila, Hk+1not= H ′ matricea succesor, µk

not= µ etc. (i.e. renuntam

la indicele k). Aceste notatii se justifica si prin faptul ca atat matricea H ′ cat simatricea intermediara B pot suprascrie matricea H , i.e. toate calculele aferenteunui pas simplu QR cu deplasare implicita se pot desfasura pe loc, ın tabloul H .

Urmand etapele din schema de calcul de mai sus avem urmatoarele particu-laritati.

1. Presupunem ca µ = hnn 6∈ λ(H), i.e. matricea H − µIn este nesingulara.

Prin urmare matricea superior triunghiulara Rknot= R din (4.110) este, de asemenea,

4.4. ALGORITMUL QR 255

nesingulara, iar prima coloana a matricei de transformare Qknot= Q este

q1 = Qe1 =1

r11

h11 − µh210...0

. (4.139)

Numim vectorul

w =

[h11 − µh21

]

∈ IC2 (4.140)

vector de deplasare implicita aferent unui pas QR.

2. Matricea unitara U1 de la instructiunea 2 a schemei de calcul de mai suspoate fi un reflector (complex) sau, si mai simplu, datorita structurii vectorului q1din (4.139), o rotatie (complexa) U1 = P12, astfel calculata ıncat

UH1 q1 = ±‖q1‖e1. (4.141)

In ambele situatii, structura matricei U1 este

U1 =

[

U1 00 In−2

]

, (4.142)

cu U1 ∈ IC2×2. Vom opta pentru utilizarea rotatiilor, asadar elementele definitoriic1 si s1 ale rotatiei P12 se obtin cu ajutorul functiei Gc ın cazul complex, respectivGr ın cel real (vezi tabelul 4.3) aplicate vectorului de deplasare implicita w.

3. Datorita structurii (4.142) a matricei U1 alterarea formei Hessenberg princalculul matricei B de la instructiunea 3 are loc numai ın pozitia (3, 1).

4. Matricea B avand un singur element nenul ce altereaza forma superiorHessenberg, pentru asigurarea eficientei se impune adaptarea algoritmului HQcla aceasta situatie structurala. Concret, putem utiliza o transformare unitara deasemanare definita de o secventa de rotatii (complexe) care elimina elementul nenuldin afara structurii Hessenberg prin ”deplasarea” lui de-a lungul unui traseu paralelcu diagonala principala. Schema de calcul este urmatoarea:

1. Pentru i = 2 : n−11. Se calculeaza rotatia (complexa) Pi,i+1 astfel ıncat

(PHi,i+1B)(i+1, i−1) = 0.

2. B ← PHi,i+1B. % Se anuleaza elementul (i+1, i−1).

3. B ← BPi,i+1. % Pentru i < n−1 apare un element nenulın pozitia (i+2, i).

Pentru exemplificare prezentam evolutia structurala a matricei B ın cazul n = 5.In diagramele structurale de mai jos zerourile nou create au fost marcate cu ∅, iaralterarile de zerouri de la transformarea curenta au fost marcate cu +. Incadrarile

256 CAPITOLUL 4. VALORI SI VECTORI PROPRII

marcheaza liniile si/sau coloanele afectate de transformarea curenta.

H ← B = UH1 HU1 =

× × × × ×× × × × ×+ × × × ×0 0 × × ×0 0 0 × ×

,

H ← PH23H =

× × × × ×× × × × ×∅ × × × ×0 0 × × ×0 0 0 × ×

,

H ← HP23 =

××000

× ×× ×× ×+ ×0 0

× ×× ×× ×× ×× ×

,

H ← PH34H =

× × × × ×× × × × ×0 × × × ×0 ∅ × × ×0 0 0 × ×

,

H ← HP34 =

× ×× ×0 ×0 00 0

× ×× ×× ×× ×+ ×

×××××

,

H ← PH45H =

× × × × ×× × × × ×0 × × × ×0 × × × ×0 0 ∅ × ×

,

H ← HP45 =

× × ×× × ×0 × ×0 0 ×0 0 0

× ×× ×× ×× ×× ×

.

Calculul elementelor definitorii ci si si ale rotatiei Pi,i+1 se face cu functiaGc, iarcalculul economic al produselor PH

i,i+1B si BPi,i+1 exploateaza structura (aproape)

4.4. ALGORITMUL QR 257

Hessenberg a matricei B. Varianta adaptata a algoritmului HQc data de schemade calcul de mai sus calculeaza matricea superior Hessenberg

H ← H ′= PHn−1,n · · ·PH

34PH23BP23P34 · · ·Pn−1,n =

= PHn−1,n · · ·PH

23PH12HP12P23 · · ·Pn−1,n = QH

k HQk, (4.143)

i.e. matricea succesor a lui H din sirul QR cu pasi simpli.Din ratiuni de organizare judicioasa a algoritmului QR si, mai ales, a algorit-

mului de ordonare a formei Schur (vezi sectiunea 4.6), vom introduce un algoritmdistinct de calcul al vectorului de deplasare implicita asociat unui pas simplu QR.

Algoritmul 4.4 (VD1 – Calculul vectorului de deplasare implicitapentru un pas simplu QR) (Data o matrice superior Hessenberg ire-ductibila H ∈ ICn×n, algoritmul calculeaza vectorul w ∈ IC2 de deplasareimplicita pentru un pas simplu QR.)

1. µ = hnn

2. w =

[h11 − µh21

]

Comentarii. Sintaxa de apel a acestui algoritm va fi

w = VD1(H),

iar executia sa implica efectuarea unei singure operatii cu numere complexe. 3

Cu aceste precizari putem prezenta algoritmul de implementare a unui pas sim-plu QR cu deplasare implicita. Sunt utilizate proceduri prezentate ın tabelul 4.3.

Algoritmul 4.5 (IT QR1 – Un pas simplu QR cu deplasare im-plicita) (Date o matrice superior Hessenberg ireductibila H ∈ ICn×n sivectorul de deplasare implicita w ∈ IC2, algoritmul suprascrie matriceaH cu matricea succesorH ← H ′ = QkHQ

Hk din sirul QR. De asemenea,

algoritmul furnizeaza vectorii c ∈ IRn−1 si s ∈ ICn−1 ale caror elemente(ci, si) definesc rotatiile Pi,i+1 utilizate.)

1. % Calculul si aplicarea rotatiei P12

1. [w, c1, s1 ] = Gc(w)

2. H(1 : 2, :) = Gcs(c1, s1, H(1 : 2, :))

3. H(1 : min(3, n), 1 : 2) = Gcd(H(1 : min(3, n), 1 : 2), c1, s1)

2. % Refacerea structurii HessenbergPentru i = 2 : n− 1

1. [H(i : i+1, i− 1), ci, si ] = Gc(H(i : i+1, i−1))2. H(i : i+1, i : n) = Gcs(ci, si, H(i : i+1, i : n))

3. H(1 : min(i+2, n), i : i+1) == Gcd(H(1 : min(i+2, n), i : i+1), ci, si).

258 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus

[H, c, s ] = IT QR1(H,w).

Complexitatea unui pas simplu QR este O(n2) ın ambele variante de utilizare adeplasarii. Concret, pentru executia algoritmului 4.5 sunt necesari Nop ≈ 6n2 flopicomplecsi, carora le corespund Nop ≈ 26n2 flopi reali, la care se adauga cele n − 1extrageri de radical.

Preferinta pentru varianta cu deplasare implicita este justificata de o anumeomogenitate a demersului de calcul al valorilor proprii, tinand seama de faptul caın cazul matricelor reale aceasta varianta se impune cu necesitate. 3

E. Algoritmul QR pentru matrice complexe

Algoritmul QR pentru matrice complexe 22 se obtine prin iterarea algoritmului4.5, anularea efectiva a elementelor subdiagonale devenite neglijabile si exploatareastructurala a acestor anulari ın vederea obtinerii unei eficiente maxime.

Pentru deciziile de anulare a elementelor subdiagonale criteriul uzual este deforma (4.126), i.e.

|hi+1,i| < tol (|hii|+ |hi+1,i+1|), (4.144)

unde scalarul tol defineste nivelul de toleranta si are, ın mod obisnuit, un ordinde marime comparabil cu eroarea de reprezentare din formatul virgula mobila almasinii tinta. Acest criteriu ısi gaseste o fundamentare, ın sensul asigurarii uneierori de evaluare a valorilor proprii de ordinul de marime al tolerantei tol, maiales ın situatiile ın care are loc o scalare prealabila a matricei date (vezi § 4.4 H).De asemenea, avand ın vedere faptul ca testul (4.144) are o pondere importanta ıneconomia algoritmului, efectuadu-se la fiecare iteratie pentru toate elementele subdi-agonale ale submatricei superior Hessenberg ireductibile curente, ın cazul matricelorcomplexe se obtine un spor semnificativ de eficienta daca se utilizeaza criteriul

|Rehi+1,i|+ |Imhi+1,i| < tol (|Rehii|+ |Im hii|+ |Rehi+1,i+1|+ |Imhi+1,i+1|),(4.145)

practic echivalent cu criteriul (4.144).Pentru monitorizarea evolutiei structurale a matricelor din sirul QR, la fiecare

iteratie, dupa anularea elementelor subdiagonale hi+1,i, care satisfac conditia din(4.145), se va determina cel mai mic ıntreg p si cel mai mare ıntreg q astfel ıncatmatricea Hessenberg curenta sa aiba structura

H =

H11 H12 H13

0 H22 H23

0 0 H33

} p}n− p− q} q

, (4.146)

22 Algoritmul ce urmeaza se poate aplica, evident, si matricelor reale, cu conditia acceptariiefectuarii operatiilor aritmetice cu numere complexe. Cum o operatie elementara cu numere com-plexe implica ıntre doua si unsprezece operatii cu numere reale, utilizarea acestui algoritm pentrumatrice reale este ineficienta. De aceea, ın cazul real se utilizeaza algoritmul 4.10 care opereazanumai cu date reale.

4.4. ALGORITMUL QR 259

cu H11 ∈ ICp×p, H22 ∈ IC(n−p−q)×(n−p−q) superior Hessenberg ireductibila si H33 ∈∈ IRq×q superior triunghiulara. Astfel, elementele diagonale ale blocului H33 repre-zinta valori proprii deja evidentiate 23, iar iteratia QR se va aplica, de fapt, numaiblocului H22

H22 ← H ′22 = QH

22H22Q22, (4.147)

echivalenta cu aplicarea transformarii (4.110) cu

Q = diag(Ip, Q22, Iq). (4.148)

Aceasta transformare afecteaza celelalte blocuri ale matricei H din (4.146) ın felulurmator:

H ← H ′ = QHHQ =

H11 H12Q22 H13

0 QH22H22Q22 QH

22H23

0 0 H33

. (4.149)

Algoritmul QR se termina ın momentul ın care se anuleaza toate elementelesubdiagonale, i.e. q devine n− 1.

Asa cum s-a aratat ın exemplul 4.4, exista situatii ın care algoritmul QR, cudeplasarile utilizate ın pasul QR cu deplasare implicita din algoritmul 4.4, nu esteconvergent. Conform recomandarilor din observatia 4.5, ın marea majoritate aacestor situatii convergenta poate fi restabilita modificand, pentru o singura iteratie,modul de calcul al vectorului de deplasare implicita. Pentru constatarea lipsei deconvergenta sau a unei rate de convergenta prea reduse vom contoriza iteratiileefectuate pentru evidentierea valorii proprii din pozitia curenta (n− q, n− q) (vezi(4.146)). Daca dupa 10 sau 20 iteratii elementul subdiagonal (n− q, n− q − 1) nusatisface conditia (4.145), vectorul w de deplasare implicita (4.140) va fi calculatfolosind deplasarea empirica, recomandata e.g. ın [ X ],

µ = |Rehn−q,n−q−1|+ |Rehn−q−1,n−q−2|+ i (|Imhn−q,n−q−1|+ |Imhn−q−1,n−q−2|),(4.150)

unde i este unitatea imaginara. Daca nici aceasta dubla masura nu asigura oviteza de convergenta satisfacatoare, fapt apreciat prin efectuarea a ınca 10 iteratiifara satisfacerea conditiei (4.145) de catre elementul (n − q, n − q − 1), atunci sedeclara esecul rezolvarii problemei de calcul al valorilor proprii ale matricei date.Mentionam ca desi, teoretic, o astfel de posibilitate nu este exclusa, practic ea nuapare decat pentru date special create ın acest scop.

Utilizand sintaxele de apel mentionate ale algoritmilor 4.4 si 4.5 precum si aleprocedurilor din tabelul 4.3, algoritmul QR cu pasi simpli, cu deplasari implicite,se scrie astfel.

Algoritmul 4.6 (QR1 – Algoritmul QR cu pasi simpli, cu deplasariimplicite) (Date o matrice A ∈ ICn×n, o matrice unitara Q ∈ ICn×n

si un nivel de toleranta tol pentru anularea elementelor subdiagonale,algoritmul calculeaza forma Schur A ← S = QHAQ a matricei A (si,deci, valorile proprii ale matricei A care sunt elementele diagonale ale

23 Alte valori proprii evidentiate se pot gasi printre elementele diagonale ale blocului H11.

260 CAPITOLUL 4. VALORI SI VECTORI PROPRII

lui S). Toate calculele se efectueaza pe loc, ın locatiile de memorie aletabloului A. Optional, se acumuleaza transformarile ın matricea unitaraQ← QQ. Optiunea se exprima cu ajutorul variabilei logice opt de tipulsir de caractere care poate lua valorile ′da′ sau ′nu′. Daca nu se doresteacumularea transformarilor, matricea Q ramane nemodificata.)

1. Daca n = 1 atunci return

2. % Reducerea la forma Hessenberg

1. [A,Q ] =HQc(A,Q, opt)

3. % Faza iterativa

1. p = 0, q = 0, cont it = 0

2. Cat timp q < n

1. % Anularea elementelor subdiagonale neglijabile

1. Pentru i = p+ 1 : n− q − 1

1. Daca |Re ai+1,i|+ |Im ai+1,i| << tol (|Re aii|+|Imaii|+|Reai+1,i+1|+|Imai+1,i+1|)atunci ai+1,i = 0

2. % Determinarea lui q

1. Cat timp an−q,n−q−1 = 01. q ← q + 12. % Terminarea normala a algoritmului

Daca q = n− 1 atunci return.3. cont it = 0

3. % Terminarea prin esec a algoritmului1. Daca cont it > 30 atunci

1. Tipareste ’S-au consumat 30 iteratii QR pentruevidentierea unei valori proprii fara a se atingeacest obiectiv. Este posibil ca, pentru aceste datede intrare, algoritmul QR sa nu fie convergent.’

2. Return.

4. % Determinarea lui p

1. p = n− q − 1

2. Cat timp ap+1,p 6= 01. p← p− 12. Daca p = 0 atunci break

5. % Iteratia curenta

1. k = p+1, l = n−q2. w = VD1(A(k : l, k : l))

3. % Calculul deplasarii implicite modificate1. Daca cont it = 10 sau cont it = 20 atunci

1. µ = |Rehl,l−1|+ i |Imhl,l−1|2. Daca l > k + 1 atunci

µ = µ+ |Rehl−1,l−2|+ i |Imhl−1,l−2|3. w = [hkk − µ hk+1,k ]

T

4.4. ALGORITMUL QR 261

4. [A(k : l, k : l), c, s ] = IT QR1(A(k : l, k : l), w)

5. Daca k > 1 atunci

1. Pentru i = 1 : l−k1. A(1 :p, p+i : p+i+1) =

= Gcd(A(1 :p, p+i : p+i+1), ci, si).

6. Daca l < n atunci1. Pentru i = 1 : l−k

1. A(p+i : p+i+1, l+1 : n) == Gcs(ci, si, A(p+i : p+i+1, l+1 : n))

7. cont it← cont it+ 1

6. Daca opt = ′da′ atunci

1. Pentru i = 1 : l−k1. Q(:, p+i : p+i+1) = Gcd(Q(:, p+i : p+i+1), ci, si)

Comentarii. Algoritmul implementeaza ideile expuse ın prezentarea teoretica pre-mergatoare, iar comentariile incluse asigura, speram, transparenta necesara pentruidentificarea lor. Mentionam suplimentar ca, pentru contorizarea iteratiilor, a fostutilizata variabila ıntreaga cont it care se reinitializeza la zero ori de cate ori se a-nuleaza un nou element subdiagonal. De asemenea, s-a utilizat instructiunea break

(de iesire fortata din cicluri de tip pentru sau cat timp) pentru ıncadrarea in-dexarilor ın limitele permise de dimensiunile matricelor. Vom apela ın continuareacest algoritm utilizand sintaxa

[S,Q] = QR1(A,Q, tol, opt).

In aspectele sale esentiale, algoritmul de mai sus sta la baza tuturor programelorprofesionale de calcul al valorilor proprii ale unei matrice complexe. Utilizarea luipentru calculul formei Schur a unei matrice reale este posibila 24, dar este mai putineficienta ın raport cu varianta special elaborata pentru aceasta situatie si prezentataın continuarea acestui capitol.

Datorita procesului iterativ complexitatea algoritmului depinde de datele de in-trare precum si de toleranta practicata. Pentru un nivel de toleranta de ordinulde marime al erorilor de reprezentare 25, evaluarile experimentale converg catreaprecierea ca, ın medie, doua iteratii sunt suficiente pentru a pune ın evidenta ovaloare proprie. In aceasta situatie, pentru matrice de ordin superior (de exemplun > 100), se poate aprecia ca algoritmul QR1 are o complexitate O(n3). Evaluareade mai sus este corecta pentru matrice de dimensiuni medii si mari. In exem-plele academice sau aplicatiile studentesti apar, de regula, matrice de ordin redus

24 Pentru probleme de mica dimensiune diferenta de eficienta nu este decisiva astfel ca acestalgoritm poate fi folosit cu succes. Atragem ınsa atentia ca procedura Gc de calcul a unei rotatiicomplexe (vezi capitolul 3) aplicata unui vector real calculeaza de fapt o rotatie reala astfel ıncatpentru date reale acest algoritm va lucra exclusiv cu numere reale privite ca numere complexe sinu va fi capabil sa reduca blocurile diagonale 2 × 2 cu valori proprii complexe. Pentru a depasiacest impas se poate proceda, de exemplu, ca ın algoritmul special destinat cazului real (vezi maideparte) prin identificarea unor astfel de situatii si monitorizarea blocurilor diagonale sau prinintroducerea unor deplasari implicite modificate cu parte imaginara nenula.

25 In pachetele comerciale de programe acest nivel de toleranta este practicat uzual si nu poatefi modificat de utilizator.

262 CAPITOLUL 4. VALORI SI VECTORI PROPRII

(e.g. ın jurul lui n = 10), pentru care numarul mediu de iteratii necesar pentruevidentierea unei valori prorii este ceva mai mare (din experienta noastra didac-tica apreciem acest numar la 3-4). Aceasta se explica prin faptul ca, simultan cuelementele subdiagonale din ultima linie si prima coloana, toate elementele subdia-gonale ale blocului iterat au tendinta de anulare asimptotica astfel ıncat, la matricede dimensiuni mai mari, ultima faza a procesului iterativ este extrem de rapida.

Evaluari mai fine sunt date la varianta reala.Utilizarea exclusiva a transformarilor unitare confera algoritmului QR1 o foarte

buna stabilitate numerica. Aspectele cantitative ale acestei aprecieri calitative a al-goritmuluiQR1, precum si specte suplimentare referitoare la conditionarea valorilorproprii sunt prezentate ın sectiunile § 4.10 si § 4.11. 3

F. Un pas dublu QR cu deplasare implicitapentru matrice reale

In cazul matricelor reale un spor important de eficienta se obtine utilizand o arit-metica reala si strategia pasilor dubli QR. La fel ca ın cazul pasului simplu, unpas dublu QR cu deplasare implicita are ca baza teoretica aceeasi teorema 4.15. Siaici, ideea centrala consta ın asigurarea coincidentei primei coloane a matricei detransformare cumulate aferente unui pas dublu QR cu prima coloana a matricei detransformare cumulate de la doi pasi simpli consecutivi din varianta cu deplasareexplicita. Reducerea efortului de calcul la nivelul a doi pasi cu deplasare explicita sebazeaza esential pe minimizarea numarului de operatii aritmetice, prin exploatareaeficienta a structurilor de zerouri ale matricelor implicate.

Concret, un pas dublu QR cu deplasare implicita consta din urmatoarele trans-formari.

1. Se calculeaza prima coloana q(k)1 a matricei Q = QkQk+1 ce de-

fineste transformarea ortogonala aferenta unui pas dublu QR cudeplasare explicita.

2. Se determina o matrice ortogonala U1 astfel ıncat prima sa coloana

sa fie q(k)1 , i.e. U1e1 = q

(k)1 .

3. Se calculeaza matricea B = UT1 HkU1 (a carei structura nu mai este

superior Hessenberg).

4. Se reface structura superior Hessenberg aplicand algoritmul HQmatricei B: [Hk+2, U ] = HQ(B). Transformarile implicate de acea-sta reducere nu afecteaza prima coloana a matricei de transformarecumulate.

Daca matricea Hk este ireductibila atunci rezultatul Hk+2 al aplicarii schemei decalcul de mai sus va fi esential acelasi, ın sensul observatiei 4.5, cu cel dat de un pasdublu QR cu deplasare explicita. Mai mult, schema de mai sus este determinantmai eficienta decat varianta cu deplasare explicita. Intr-adevar, exploatand cores-punzator avantajele structurale date de forma Hessenberg a matricelor initiala sifinala se poate reduce complexitatea pasului dublu de la O(n3) la O(n2), ceea ce ıneconomia ıntregului algoritm este esential. Detaliile sunt prezentate ın continuare.

4.4. ALGORITMUL QR 263

Consideram si aici, pentru simplificarea notatiilor, Hknot= H matricea curenta a

sirului QR, presupusa ireductibila, iar Hk+2not= H ′ matricea succesor ın varianta

cu utilizarea pasilor dubli. Urmand etapele din schema de calcul de mai sus avemurmatoarele particularitati.

1. Fara a reduce generalitatea, presupunem ca matricea superior triunghiulara

RkRk+1not= R este nesingulara. Atunci prima coloana a matricei de transformare

QkQk+1not= Q este

q1 = Qe1 =1

r11

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h320...0

, (4.151)

unde sknot= s si pk

not= p sunt scalari reali definiti ın (4.133). Similar cu cazul pasului

simplu, numim

w =

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h32

∈ IR3 (4.152)

vector de deplasare implicita aferent pasului dublu QR.2. Matricea ortogonala U1 de la instructiunea 2 a schemei de calcul de mai sus

poate fi un reflector (real) astfel calculat ıncat

UT1 q1 = U1q1 = ±‖q1‖e1. (4.153)

Datorita structurii vectorului q1 din (4.151), structura matricei U1 este

U1 =

[

U1 00 In−3

]

(4.154)

cu U1 ∈ IR3×3 reflector elementar (real) de ordinul 3.3. Datorita structurii (4.154) a matricei U1, alterarea formei Hessenberg prin

calculul matricei B de la instructiunea 3 are loc numai ın pozitiile (3, 1), (4, 1) si(4, 2).

4. Matricea B avand numai trei elemente nenule ce altereaza forma superiorHessenberg, sporul de eficienta se obtine prin adaptarea algoritmuluiHQr la aceastasituatie structurala. Concret, se evita operatiile de adunare si ınmultire cu zerouri,tinandu-se seama de urmatoarea structura

Ui =

Ii−1 0 0

0 Ui 00 0 In−i−2

, i = 2 : n−2, Un−1 =

[In−2 0

0 Un−1

]

(4.155)

a reflectorilor Ui, i = 2 : n−1, utilizati ın cadrul algoritmuluiHQr, unde Ui ∈ IR3×3

si Un−1 ∈ IR2×2 sunt reflectori elementari de indice 1.Schema de calcul este urmatoarea:

264 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. Pentru i = 2 : n−21. Se calculeaza reflectorul elementar Ui cu structura (4.155)

astfel ıncat (UTi B)(i+1 : i+2, i−1) = 0.

2. B ← UTi B. % Se anuleaza elementele (i+1 : i+2, i−1).

3. B ← BUi. % Pentru i < n−2 sunt alterate zerouriledin pozitiile (i+3, i : i+1).

2. % Ultima transformare1. Se calculeaza reflectorul elementar Un−1 astfel ıncat

(UTn−1B)(n, n−2) = 0.

2. B ← UTn−1B. % Se anuleaza elementul (n, n−2).

3. B ← BUn−1.

In acest fel, eliminarea elementelor nenule care altereaza structura Hessenberg serealizeaza prin ”deplasarea” lor de-a lungul unor trasee paralele cu diagonala prin-cipala.

Pentru exemplificare prezentam evolutia structurala a matricei B ın cazul n = 5.Si aici zerourile nou create au fost marcate cu ∅, alterarile de zerouri au fostevidentiate cu +, iar ıncadrarile indica liniile si/sau coloanele afectate de trans-formarea curenta.

H ← B = UT1 HU1 =

× × × × ×× × × × ×+ × × × ×+ + × × ×0 0 0 × ×

,

H ← UT2 H =

× × × × ×× × × × ×∅ × × × ×∅ + × × ×0 0 0 × ×

,

H ← HU2 =

××000

× × ×× × ×× × ×+ × ×+ + ×

×××××

,

H ← UT3 H =

× × × × ×× × × × ×0 × × × ×0 ∅ × × ×0 ∅ + × ×

,

4.4. ALGORITMUL QR 265

H ← HU3 =

× ×× ×0 ×0 00 0

× × ×× × ×× × ×× × ×+ × ×

,

H ← UT4 H =

× × × × ×× × × × ×0 × × × ×0 0 × × ×0 0 ∅ × ×

,

H ← HU4 =

× × ×× × ×0 × ×0 0 ×0 0 0

× ×× ×× ×× ×× ×

.

Si ın aceasta varianta adaptata a algoritmului HQr, atat matricea succesorH ′ cat si matricea intermediara B pot suprascrie matricea H , i.e. toate calculeleaferente unui pas dublu QR cu deplasare implicita se pot desfasura pe loc, ın tabloulmatricei H .

Din aceleasi ratiuni de organizare corespunzatoare a algoritmului QR pentrumatrice reale si, mai ales, a algoritmului de ordonare a formei Schur reale (vezisectiunea 4.6), vom introduce si aici un algoritm distinct de calcul al vectorului dedeplasare implicita asociat unui pas dublu QR.

Algoritmul 4.7 (VD2 – Calculul vectorului de deplasare implicitapentru un pas dublu QR) (Data o matrice superior Hessenberg H ∈∈ IRn×n, algoritmul calculeaza vectorul w ∈ IR3, de deplasare implicitapentru un pas dublu QR.)

1. s = hn−1,n−1 + hnn

2. p = hn−1,n−1hnn − hn−1,nhn,n−1

3. w =

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h32

Comentarii. Sintaxa de apel a acestui algoritm va fi

w = VD2(H),

iar complexitatea sa este, evident, O(1). 3

Cu aceste precizari putem prezenta algoritmul de implementare a unui pas dubluQR cu deplasare implicita.

266 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Algoritmul 4.8 (IT QR2 – Pas dublu QR cu deplasare implicita)(Date o matrice superior Hessenberg ireductibila H ∈ IRn×n si vectorulde deplasare implicita w ∈ IR3, algoritmul suprascrie matricea H cu ma-tricea succesor H ← H ′ = QTHQ din sirul QR. Algoritmul furnizeaza,de asemenea, elementele definitorii semnificative ale reflectorilor utili-zati, i.e. elementele definitorii ale blocurilor reflector 3× 3 ın matriceleV ∈ IR3×(n−1) si b ∈ IRn−1.)

1. % Calculul si aplicarea reflectorului U1

1. [w, V ( : , 1), b1] = Hr(w)

2. H(1 :3, :) = Hrs(V (:, 1), b1, H(1 :3, :))

3. H(1 :min(4, n), 1:3) = Hrd(H(1 :min(4, n), 1:3), V (:, 1), b1)

2. % Refacerea formei superior Hessenberg

1. Pentru i = 2 : n− 2

1. [H(i : i+2, i−1), V (:, i), bi ] = Hr(H(i : i+2, i−1))2. H(i : i+2, i : n) = Hrs(V ( : , i), bi, H(i : i+2, i : n))

3. H(1 : min(i+3, n), i : i+2) == Hrd(H(1 : min(i+3, n), i : i+2), V (:, i), bi)

3. % Ultimul pas

1. [H(n−1 : n, n−2), V (1 :2, n−1), bn−1 ] == Hr(H(n−1 : n, n−2))

2. H(n−1 : n, n−1 : n) == Hrs(V (1 :2, n−1), bn−1, H(n−1 : n, n−1 : n))

3. H(:, n−1 : n) = Hrd(H(:, n−1 : n), V (1 :2, n−1), bn−1).

Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus

[H,V, b ] = IT QR2(H,w).

Complexitatea unui pas dublu QR realizat de algoritmul 4.8 este O(n2). Con-cret, pentru executia algoritmului sunt necesari Nop ≈ 24n2 flopi (reali) la care seadauga cele n− 1 extrageri de radical. Subliniem faptul ca aceasta solutie este ceamai eficienta implementare cunoscuta a iteratiilor QR pentru matricele reale, fiindutilizata ın toate programele profesionale de calcul al valorilor proprii.

Algoritmul 4.8 nu calculeaza actualizarea matricei de transformare curente Qdar ofera, prin matricea V si vectorul b, informatia necesara pentru un eventualcalcul al acesteia. 3

G. Algoritmul QR pentru matrice reale

Algoritmul QR pentru matrice reale 26 se obtine prin iterarea algoritmului 4.8,anularea efectiva a elementelor subdiagonale devenite neglijabile si exploatarea

26 Algoritmul ce urmeaza se poate aplica si pentru calculul valorilor proprii ale matricelorcomplexe (mai mult, ın unele pachete profesionale de calcul numeric asa se si procedeaza).

Intr-adevar, daca C ∈ ICn×n se scrie C = A+ iB cu A, B ∈ IRn×n, atunci este usor de aratat ca

4.4. ALGORITMUL QR 267

structurala a acestor anulari ın vederea obtinerii unei eficiente maxime. Dupaepuizarea procedurii de iterare se obtine o matrice cvasisuperior triunghiulara, or-togonal asemenea cu matricea initiala, cu blocurile diagonale de dimensiune celmult 2 × 2. Pentru obtinerea unei forme Schur reale a matricei initiale, algoritmulse completeaza cu reducerea la forma superior triunghiulara a blocurilor diagonale2× 2 care au valori proprii reale.

Aspectele tehnice, pe care le trecem succint ın revista mai jos, sunt similare cucele din cazul complex.

Pentru deciziile de setare la zero a elementelor subdiagonale se utilizeaza criteriuldat de relatia (4.144).

Similar cu algoritmul 4.6, pentru monitorizarea evolutiei structurale a matricelordin sirul QR, la fiecare iteratie, dupa anularea elementelor subdiagonale care satis-fac conditia (4.144), se va determina cel mai mic ıntreg p si cel mai mare ıntreg qastfel ıncat matricea Hessenberg curenta sa aiba structura (4.146) cu H11 ∈ ICp×p,

H22 ∈ IC(n−p−q)×(n−p−q) superior Hessenberg ireductibila si H33 ∈ IRq×q cvasi-superior triunghiulara (i.e. cu blocurile diagonale de dimensiune cel mult 2 × 2).Astfel, blocurile diagonale ale submatricei H33 au valori proprii pe care le con-sideram ”deja evidentiate” (alte valori proprii evidentiate se pot gasi printre valorileproprii ale blocurilor diagonale de dimensiune cel mult 2× 2 ale submatricei H11),iar iteratia QR se va aplica, de fapt, numai submatricei H22 (v. (4.146)-(4.148)).Aceasta transformare afecteaza celelalte blocuri ale matricei H din (4.146) ca ınrelatia (4.149).

Faza iterativa a algoritmului QR se termina ın momentul ın care ordinul sub-matricei H22 scade la cel mult 2, i.e. q devine mai mare sau egal cu n− 2.

Supravegherea convergentei procesului iterativ se efectueaza similar cu cazulcomplex, cu urmatoarele aspecte specifice:

– aprecierea convergentei se face la nivelul evidentierii unui bloc diagonal ıncoltul din dreapta jos al submatricei H22 (ın 10 sau 20 de iteratii pentru modificareamodului de calcul al vectorului de deplasare implicita, respectiv 30 de iteratii pentrurenuntarea la continuarea calculului);

– pentru calculul vectorului de deplasare implicita w modificat ın (4.152) se vorutiliza urmatoarele relatii empirice pentru suma si produsul deplasarilor µ1 si µ2

{s = 1.5 (|hn−q,n−q−1|+ |hn−q−1,n−q−2|)p = (|hn−q,n−q−1|+ |hn−q−1,n−q−2|)2, (4.156)

valorile si vectorii proprii ale matricei C se pot exprima ın functie de valorile si vectorii proprii ale

matricei F =

[A −BB A

]

∈ IR2n×2n. Concret, fiecarei valori proprii complexe λk a matricei C,

cu xk = uk+ivk (uk, vk ∈ IRn) vector propriu asociat, ıi corespund valorile proprii λk si conjugata

ei λk, ale matricei reale F , cu vectorii proprii asociati de forma

[ukvk

]

− i

[ −vkuk

]

si, respectiv,[ukvk

]

+ i

[ −vkuk

]

, iar fiecarei valori proprii reale λk, cu vectorul propriu asociat notat identic,

i.e. xk = uk + ivk cu uk, vk ∈ IRn, a matricei C, ıi corespunde o valoare proprie dubla λk si doi

vectori proprii asociati

[ukvk

]

si

[ −vkuk

]

ai matricei reale F . Daca se calculeaza numai valorile

proprii ale matricei F nu se poate deduce prin mijloace simple care din valorile proprii complexconjugate ale matricei F apartin spectrului lui C.

268 CAPITOLUL 4. VALORI SI VECTORI PROPRII

recomandate ın [ X ].La terminarea cu succes a fazei iterative, triangularizarea blocurilor diagonale

2 × 2 cu valori proprii reale se poate face aplicand procedura standard de deflatie.Daca G ∈ IR2×2 are valorile proprii reale, i.e.

∆ = (g11 − g22)2 + 4g12g21 ≥ 0, (4.157)

atunci

x1 =

[λ1 − g22g21

]

(4.158)

este un vector propriu asociat valorii proprii λ1 ∈ λ(G) data de

λ1 =g11 + g22 + sgn(g11 + g22)

√∆

2. (4.159)

Atunci rotatia P ∈ IR2×2, care asigura satisfacerea conditiei (PTx1)(2) = 0, areprima coloana coliniara cu x1 si, conform lemei 4.3, realizeaza triangularizareaurmarita

G = PTGP =

[λ1 g120 λ2

]

. (4.160)

Daca blocul diagonal ce trebuie triangularizat, pe care ıl notam generic cu G, seafla ın pozitia definita de liniile si coloanele k si k + 1, atunci rezultatul dorit seobtine aplicand matricei date o transformare ortogonala de asemanare definita dematricea diag(Ik−1, P, In−k−1).

In vederea unei scrieri mai concise a algoritmuluiQR cu deplasare implicita pen-tru matrice reale, prezentam aici un algoritm preliminar care proceseaza perecheabloc-diagonala 2× 2 aflata ın pozitia (k, k + 1).

Algoritmul 4.9 (TRID2 – Triangularizarea unui bloc diagonal2 × 2) (Data o matrice S ∈ IRn×n ın forma cvasisuperior triunghi-ulara si ıntregul k ∈ 1 : n− 1 algoritmul testeaza daca submatriceaS(k : k+1, k : k+1) are valorile proprii reale si, ın caz afirmativ, cal-culeaza triangularizarea ortogonala a blocului diagonal vizat, rezultatulsuprascriind matricea S. De asemenea, algoritmul returneaza elementeledefinitorii c si s ale rotatiei reale calculate. In caz contrar matriceaS ramane nemodificata si, pentru identificarea acestei situatii, se re-turneaza c = 1, s = 0.)

1. c = 1, s = 0

2. β = sk,k+sk+1,k+1, γ = sk,ksk+1,k+1−sk,k+1sk+1,k, ∆ = β2−4γ.3. Daca ∆ ≥ 0 atunci

1. λ = (β + sgn(β)√∆)/2

2. x =

[λ− sk+1,k+1sk+1,k

]

3. [x, c, s ] = Gr(x)

4. S(1 : k+1, k :k+1) = Grd(S(1 : k+1, k :k+1), c, s)

4.4. ALGORITMUL QR 269

5. S(k :k+1, k :n) = Grs(c, s, S(k : k+1, k :n))

6. S(k+1, k) = 0 % Zeroul calculat devine un zero efectiv.

Comentarii. Sintaxa de apel a acestui algoritm va fi

[S, c, s ] = TRID2(S, k),

iar complexitatea sa este O(n). 3

Cu precizarile de mai sus, algoritmul QR standard cu pasi dubli cu deplasariimplicite pentru calculul formei Schur reale se scrie astfel.

Algoritmul 4.10 (QR2 – Algoritmul QR cu pasi dubli, cu deplasariimplicite) (Date o matrice A ∈ IRn×n, o matrice ortogonala Q ∈ IRn×n

si un nivel de toleranta tol pentru anularea elementelor subdiagonale,algoritmul calculeaza forma Schur reala a matricei A ← S = QTAQ.Toate calculele se efectueaza pe loc, ın locatiile de memorie ale tablouluiA. Optional, se acumuleaza transformarile prin actualizarea matriceiortogonale Q, i.e. Q ← QQ. Optiunea se exprima prin intermediulvariabilei logice opt de tip sir de caractere care poate lua valorile ’da’

sau ’nu’. Daca opt = ′nu′, matricea Q ramane nemodificata.)

1. Daca n = 1 atunci return

2. % Reducerea la forma Hessenberg

1. [A,Q ] =HQr(A,Q, opt)

3. % Faza iterativa

1. p = 0, q = 0, cont it = 0

2. Cat timp q < n

1. % Anularea elementelor subdiagonale neglijabile

1. Pentru i = p+ 1 : n− q − 11. Daca |ai+1,i| ≤ tol(|aii|+ |ai+1,i+1|) atunci

1. ai+1,i = 0

2. % Determinarea lui q1. continua = ′da′

2. Cat timp continua = ′da′

1. Daca q ≥ n− 2 atunci break

2. Daca an−q,n−q−1 = 0atunci

1. q ← q + 12. cont it = 0

altfel

1. Daca an−q−1,n−q−2 = 0atunci

1. q ← q + 22. cont it = 0

altfel continua = ′nu′.

270 CAPITOLUL 4. VALORI SI VECTORI PROPRII

3. % Terminarea normala a fazei iterative

1. Daca q ≥ n− 2 atunci break

4. % Terminarea prin esec a algoritmului1. Daca cont it > 30 atunci

1. Tipareste ’S-au consumat 30 iteratii QR pentruevidentierea unui bloc diagonal fara a se atingeacest obiectiv. Este posibil ca, pentru aceste datede intrare, algoritmul QR sa nu fie convergent.’

2. Return

5. % Determinarea lui p

1. p = n− q − 1

2. Cat timp ap+1,p 6= 01. p = p− 12. Daca p = 0 atunci break

6. % Iteratia curenta

1. k = p+1, l = n−q2. w = VD2(A(k : l, k : l))

3. % Calculul deplasarii implicite modificate1. Daca cont it = 10 sau cont it = 20 atunci

1. s = 1.5 (|al,l−1|+ |al−1,l−2|)2. p = (|al,l−1|+ |al−1,l−2|)2

3. w =

a2kk + ak,k+1ak+1,k − sakk + pak+1,k(akk + ak+1,k+1 − s)

ak+1,kak+2,k+1

4. [A(k : l, k : l), V, b ] = IT QR2(A(k : l, k : l), w)

5. t = 3

6. Pentru i = 1 : l−k1. Daca i = l − k atunci t = 22. r = min(p+i+2, l)3. Daca k > 1 atunci

1. A(1 : p, p+i : r) == Hrd(A(1 : p, p+i : r), V (1 : t, i), bi)

4. Daca l < n atunci

1. A(p+i : r, l+1 : n) == Hrs(V (1 : t, i), bi, A(p+i : r, l+1 : n))

7. cont it = cont it+ 1

7. Daca opt =’da’ atunci

1. t = 3

2. Pentru i = 1 : l−k1. Daca i = l − k atunci t = 22. r = min(p+i+2, l)3. Q(:, p+i : r) = Hrd(Q(:, p+i : r), V (1 : t, i), bi))

4.4. ALGORITMUL QR 271

4. % Triangularizarea blocurilor diagonale 2×2 cu valori proprii reale

1. k = 1

2. Cat timp k < n

1. Daca ak+1,k = 0 atunci k = k + 1,altfel

1. [A, c, s ] =TRID2(A, k)

2. Daca opt =’da’ si c 6= 1 atunci

1. Q( : , k :k+1) = Grd(Q( : , k :k+1), c, s)

3. k = k + 2

Comentarii. In aspectele sale esentiale, algoritmul de mai sus sta la baza tu-turor programelor profesionale de calcul al valorilor proprii ale unei matrice reale.Precizarile referitoare la aspectele de organizare a algoritmului facute la variantacomplexa raman valabile. Sintaxa de utilizare a algoritmului de mai sus va fi

[A,Q] = QR2(A,Q, tol, opt).

Acceptand evaluarea conform careia sunt suficiente, ın medie, doua iteratiipentru a pune ın evidenta o valoare proprie, algoritmul necesita un numar deNA

op = 30n3 flopi fara acumularea transformarilor, NQop = 16n3 flopi suplimen-

tari pentru calculul vectorilor Schur, i.e. al matricei ortogonale Q. Putem, deci,considera ca pentru matrice de ordin superior (e.g. n > 100) algoritmul QR2 are ocomplexitate O(n3).

Si aici, utilizarea exclusiva a transformarilor ortogonale confera algoritmuluiQR2 o foarte buna stabilitate numerica. Pentru aspecte suplimentare, referitoarela conditionarea valorilor proprii si stabilitatea numerica a algoritmului de mai sus,vezi sectiunile § 4.10 si § 4.11. 3

H. Permutare si echilibrare

Implementarile profesionale ale algoritmului QR contin o faza de prelucrari preli-minare efectuate asupra matricei A care urmaresc doua obiective:

– a) cresterea eficientei prin evidentierea eventualelor valori proprii ”izolate”utilizand exclusiv transformari de asemanare definite de matrice de permutare (decifara efectuarea de operatii aritmetice);

– b) ımbunatatirea conditionarii spectrului de valori proprii prin transformaride asemanare diagonale si, ın acest mod, asigurarea unei acurateti superioare arezultatelor.

Permutare

Daca matricea A ∈ ICn×n are toate elementele extradiagonale ale liniei sau coloaneii nule, atunci elementul diagonal (i, i) este o valoare proprie a matricelor AT si Asi, fapt esential, ei este un vector propriu al matricei AT , respectiv A, asociat ei.De aceea, elementul diagonal (i, i) poate fi adus ın pozitia (1,1) sau (n,n) printr-o

272 CAPITOLUL 4. VALORI SI VECTORI PROPRII

”deflatie de permutare”, i.e. printr-o transformare de asemanare definita de o matri-ce de permutare elementara P1i

27, respectiv Pin. Evident, acest proces poate con-tinua examinand matricea ramasa A(2 : n, 2 : n) sau A(1 : n− 1, 1 : n− 1). Pentrua sistematiza procesul de cautare si permutare vom deplasa mai ıntai liniile cuelementele extradiagonale nule ın jos (i.e. pe ultima linie a matricei ramase curente)conform schemei prezentate mai jos. Pentru claritate, utilizam instructiunea ”breaki” pentru iesirea fortata din ciclul ”pentru i = ...”, variabila de indexare i ramanandcu valoarea avuta ın momentul iesirii din ciclu.

1. Pentru l = n : −1 : 1

1. Pentru i = l : −1 : 1

1. Daca elementele extradiagonale ale liniei i ale matricei A(1 : l, 1 : l)sunt nule atunci

1. Se permuta liniile i si l ale matricei A

2. Se permuta coloanele i si l ale matricei A

3. break i

altfel daca i = 1 (i.e. nu exista nici o linie a matricei A(1 : l, 1 : l)cu toate elementele extradiagonale nule) atunci

1. break l

Se obtine o matrice avand structura

A = PT1 AP1 =

[A11 A12

0 A22

]

, (4.161)

cu A11 ∈ ICl×l fara nici o linie cu toate elementele extradiagonale nule si A22 superiortriunghiulara. Matricea de permutare P1 cumuleaza toate permutarile efectuate.

Procedand similar cu matricea A11 prin deplasarea coloanelor cu toate ele-mentele extradiagonale nule spre stanga (i.e., la fiecare pas, ın prima coloana amatricei ”ramase”) se obtine ın final o matrice cu structura

A = PTAP =

A11 A12 A13

0 A22 A23

0 0 A33

, (4.162)

cu A11, A33 superior triunghiulare si A22 fara nici o linie si nici o coloana cu toateelementele extradiagonale nule. Matricea de permutare P cumuleaza permutarileefectuate.

Elementele diagonale ale matricelor A11 si A33 sunt valori proprii ale matricei Acare au fost puse ın evidenta fara a efectua nici o operatie aritmetica. Pentru aflareacelorlalte valori proprii algoritmul QR se aplica numai blocului A22. Daca pe langacalculul valorilor proprii se urmareste si calculul vectorilor proprii, atunci trebuieretinuta matricea de permutare P (de obicei, ın forma factorizata, prin retinerea

27 Amintim ca matricea de permutare elementara Pij se obtine din matricea unitate prin per-mutarea liniilor (sau coloanelor) i si j. Premultiplicarea (postmultiplicarea) unei matrice cu Pij

are ca efect permutarea liniilor (coloanelor) i si j.

4.4. ALGORITMUL QR 273

elementelor definitorii ale permutarilor elementare). Transformarile efectuate dealgoritmul QR aplicat blocului A22 definite A22 ← S22 = QH

22A22Q22 vor actionasi asupra blocurilor A12 si A23, i.e. vom efectua A12 ← A12Q22 si, respectiv,A23 ← QH

22A23.Algoritmul de reducere la forma (4.162), ın care este utilizata instructiunea

break avand semnificatia precizata mai sus, este urmatorul.

Algoritmul 4.11 (Π – Evidentierea, prin permutari, a valorilorproprii izolate) (Data matricea A ∈ ICn×n, algoritmul calculeaza o ma-trice de permutare P astfel ıncat matricea A = PTAP sa aiba struc-tura (4.162) avand blocurile A11 = A(1 : k− 1, 1 : k− 1) si A33 == A(l+1:n, l+1:n) superior triunghiulare iar blocul A22 = A(k : l, k : l)nu are nici o linie si nici o coloana cu toate elementele extradiagonalenule. Matricea A suprascrie matricea A, iar permutarile elementaresunt memorate prin elementele vectorului p ∈ INn, p (i) 6= i avanddrept semnificatie faptul ca linia (si coloana) i a fost permutata culinia (respectiv, coloana) p (i). Ordinea de aplicare a permutarilor estep (n), p (n− 1), . . . , p (l + 1), p (1), p (2), . . . , p (k − 1).)

1. p = [ 0 0 . . . 0 ]

2. Pentru l = n : −1 : 1

1. Pentru i = l : −1 : 1

1. Daca A(i, j) = 0, j = 1 : l, j 6= i, atunci

1. A(i, :)↔ A(l, :)

2. A(1 : l, i)↔ A(1 : l, l)

3. p (l) = i

4. break i

altfel daca i = 1 atunci

1. break l

3. Pentru k = 1 : l

1. Pentru j = k : l

1. Daca A(i, j) = 0, i = k : l, i 6= j, atunci

1. A(j, k : n)↔ A(k, k : n)

2. A(1 : l, j)↔ A(1 : l, k)

3. p (k) = j

4. break j

altfel daca j = l atunci

1. break k

Comentarii. Vom utiliza ın continuare urmatoarea sintaxa pentru apelarea algo-ritmului de permutare de mai sus:

[A, p, k, l ] = Π(A),

unde semnificatia parametrilor este evidenta.

274 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Trebuie precizat ca algoritmul Π nu pune ın evidenta, ın cazul general, toatevalorile proprii ”izolate”, i.e. care s-ar putea obtine fara a efectua calcule aritmetice.Astfel, daca matricea initiala are, e.g. structura

A =

× × × × × ×× × × × × ×0 0 × × × ×0 0 0 × × ×0 0 0 0 × ×0 0 0 0 × ×

,

unde elementele marcate × sunt nenule, aceasta nu va fi modificata de algoritmulde mai sus (ıntrucat nu are nici o linie si nici o coloana cu toate elementele extra-diagonale nule) desi se vede clar ca elementele (3, 3) si (4, 4) sunt valori proprii.Obtinerea prin transformari de asemanare cu permutari a structurii bloc (4.162)nu mai este posibila ın acest caz pentru ca vectorii proprii asociati valorilor propriiremarcate au o structura mai complexa. 3

Echilibrare

Asa cum vom vedea ın § 4.10, conditionarea spectrului de valori proprii ale uneimatrice A este dependenta de ‖A‖F si este de dorit ca aceasta norma sa fie catmai mica. Pe de alta parte, toate transformarile efectuate ın diversele variante alealgoritmului QR sunt unitare (ortogonale) deci, printre altele, asigura conservareaconditionarii spectrului. Se ridica ın mod natural problema daca, ıntr-o faza pre-liminara, aceasta conditionare nu ar putea fi ımbunatatita aplicand transformari deasemanare neunitare (neortogonale).

Din motive de eficienta, ın practica numerica s-a pus numai problema unei pre-procesari a matricei A ın sensul reducerii initiale a normei ‖A‖F prin transformaride asemanare definite de matrice diagonale, i.e. a determinarii matricei diagonaleD = diag(d1, d2, . . . , dn), astfel ıncat ‖D−1AD‖F sa fie minima 28.

Fie D⊂ IRn×n multimea tuturor matricelor diagonale nesingulare de ordinul n.Procesul de minimizare a normei ‖D−1AD‖F are la baza urmatoarele rezultate [ X ].

1◦. Pentru orice matrice ireductibila 29 A ∈ IRn×n 30 exista o matrice Ac ∈∈ IRn×n astfel ıncat ‖Ac‖F = infD∈D‖D−1AD‖F .

2◦. Se poate construi recurent un sir de matrice (Ak), diagonal asemenea cu A,astfel ıncat A∞ = limk→∞ Ak = Ac.

3◦. Matricea Ac este echilibrata ın sensul ca normele euclidiene ale liniilor sicoloanelor cu acelasi indice sunt egale, i.e. ‖Ac(k, :)‖ = ‖Ac(:, k)‖, ∀ k ∈ 1 : n.

4◦. Oricare ar fi matricea diagonala nesingularaD0 sirurile (Ak) si (Bk) asociatematricelor initiale A si, respectiv, B = D−1

0 AD0 au aceeasi limita Ac.Aceste rezultate teoretice nu pot fi utilizate ca atare ıntr-o operatie de pre-

conditionare a unei matrice ıntrucat ınsesi aceste calcule sunt afectate de erorile de

28 Evident, pot fi utilizate si alte norme matriceale consistente.29 O matrice A ∈ IRn×n (sau A ∈ ICn×n), n ≥ 2 se numeste ireductibila daca nu exista nici o

matrice de permutare P astfel ıncat PTAP =

[B C0 D

]

cu B ∈ IRr×r, 1 ≤ r < n.

30 Cazul matricelor complexe se trateaza analog.

4.4. ALGORITMUL QR 275

rotunjire si, ın consecinta, se obtine o matrice cu un spectru mai robust dar, posibil,deja afectat de erori de nivel inadmisibil.

Tinand seama de aceste observatii, algoritmii de preconditionare utilizati ınpractica au drept obiectiv concret o echilibrare cat mai buna a normelor euclidieneale liniilor si coloanelor cu acelasi indice prin utilizarea unor matrice de transfor-mare diagonale care permit efectuarea unor calcule exacte ın formatul virgula mobila(FVM) al masinii tinta. Pentru aceasta fie β baza de numeratie a FVM utilizat 31 siDβ ⊂ D multimea matricelor diagonale de forma D = diag(βσ1 , βσ2 , . . . , βσn ), σi ∈∈ ZZ, i = 1 : n. Intrucat calculul matricei D−1AD implica numai operatii deınmultire si ımpartire, aceste calcule se efectueaza exact 32 si preconditionarea ma-tricei este efectiv utila pentru ımbunatatirea preciziei valorilor si vectorilor propriicalculati.

Pentru prezentarea algoritmului de echilibrare consideram matricea A ∈ IRn×n

si scriemA = AD +A0, unde AD = diag(A), (4.163)

i.e. A0 este matricea elementelor extradiagonale ale lui A. Se constata imediat capentru orice matrice D ∈ D avem

D−1AD = AD +D−1A0D, (4.164)

i.e. elementele diagonale nu sunt afectate de transformarile diagonale de asemanare.Prin urmare, pentru reducerea normei lui D−1AD este suficient sa actionam numaiasupra matricei A0. Vom presupune ın continuare ca matricea A0 nu are nici o liniesi nici o coloana nule 33.

Reducerea ‖D−1A0D‖F se face iterativ construind sirul Ak, k = 0, 1, 2, . . . ,printr-o relatie recurenta de forma

Ak+1 = D−1k AkDk, (4.165)

cu Dk ∈ Dβ astfel calculat ıncat ‖Ak+1‖F sa fie cat mai mica. Vom efectua aceastaminimizare descompunand matricea Dk ıntr-un produs de matrice diagonale ele-mentare

Dk = Dk1Dk2 · · ·Dkn, (4.166)

cu Dki = diag(1, 1, . . . , dki, . . . , 1) cu dki = βσki (pe pozitia diagonala (i, i)) simaximizand scaderea de norma

δkidef= ‖Aki‖F 2 − ‖Ak,i+1‖F 2, (4.167)

unde Aki = D−1k,i−1 · · ·D−1

k2 D−1k1 AkDk1Dk2 · · ·Dk,i−1, i = 0 : n − 1, Ak0 = Ak,

Akn = Ak+1. Pentru aceasta fie, pentru ınceput, dki = ν o variabila reala si

31 Uzual β = 2, dar se ıntalnesc si situatii cu β = 10 sau β = 16.32 Daca α = (m, e) este reprezentarea ın FVM a numarului real α, unde m este mantisa iar e

exponentul, atunci α ∗ βσ = (m, e + σ) si α/βσ = (m, e − σ) deci este afectat numai exponentulcare, fiind ıntreg, se calculeaza exact. Daca se utilizeaza un limbaj de programare de nivel ınalteste posibil sa fie necesar ca portiunile de cod pentru efectuarea acestor operatii sa fie scrise ınlimbaj de asamblare.

33 In caz contrar se foloseste algoritmul de permutare Π si preconditionarea se aplica uneimatrice de ordin redus.

276 CAPITOLUL 4. VALORI SI VECTORI PROPRII

ρki = ‖Aki(i, :)‖, κki = ‖Aki(:, i)‖ normele liniei, respectiv a coloanei i a matriceiAki, singurele afectate de transformarea definita de Dki. (Datorita ipotezei camatricea A0 nu are linii sau coloane nule avem ρkiκki 6= 0). Atunci diferenta din(4.167), ca functie de ν, are expresia

δki(ν) = ‖Aki‖F 2 − ‖Ak,i+1‖F 2= ρ2ki + κ2ki − (

ρ2kiν2

+ κ2kiν2) (4.168)

si este maxima pentru

ν∗ =

√ρkiκki

. (4.169)

Acum, consideram dki = βσki cel mai apropiat de valoarea de mai sus a lui ν∗, i.e.acel σki ıntreg (unic determinat) pentru care

βσki− 12 < ν∗ ≤ βσki+

12 (4.170)

sau, echivalent,

β2σki−1 <ρkiκki≤ β2σki+1. (4.171)

Calculul efectiv al lui σdef= σki, pentru µ

def=

ρkiκki

> 0 dat, se poate face eficient

observand caβ2σ−1 < µ ≤ β2σ+1 ⇐⇒ µ ≤ β2σ+1 < µβ2, (4.172)

observatie care conduce la urmatoarea schema de calcul.

σ 1. σ = 02. ν = 13. α = β4. Cat timp α < µ

1. σ ← σ + 12. ν = νβ3. α = αβ2

5. Cat timp α ≥ µβ2

1. σ ← σ − 1

2. ν =ν

β

3. α =α

β2

De retinut ca toate calculele din schema de mai sus se pot efectua exact (i.e.instructiunile 4.2, 4.3, 5.2, 5.3 contin operatii aritmetice care se efectueaza, esential,ın numere ıntregi), iar dupa executia lor avem α = β2σ+1 si ν = βσ, cea maiapropiata valoare de acest tip de valoarea optima ν∗.

Pentru a se evita cicluri, posibile datorita formei speciale a elementelor ma-tricelor diagonale de transformare, modificarea efectiva a unei perechi linie-coloanai are loc numai atunci cand valoarea relativa a lui δ de la un pas elementar estesuperioara unei tolerante tol impuse, i.e.

δki(dki) = ρ2ki + κ2ki − (ρ2kid2ki

+ κ2kid2ki) > tol(ρ2ki + κ2ki) (4.173)

4.4. ALGORITMUL QR 277

sau

(ρkidki

)2+ (κkidki)

2 < γ(ρ2ki + κ2ki)) (4.174)

unde γ = 1− tol. Valoarea recomandata ın [ X ] pentru tol este 0.05, respectiv 0.95pentru γ.

Procesul de iterare se opreste atunci cand la pasul curent k nu are loc modificareanici unei perechi linie-coloana.

Rezulta urmatorul algoritm.

Algoritmul 4.12 (ECH – Echilibrare) (Date matricea A ∈ ICn×n

si baza β a sistemului de numeratie, algoritmul calculeaza matricea dia-gonala D, avand ca elemente diagonale numai puteri ıntregi ale bazei β,astfel ıncat matricea A = D−1AD sa aiba norma Frobenius minima ınraport cu toate transformarile de acest tip. Matricea A suprascrie A, iarputerile σi ale bazei β, care definesc elementele diagonale D(i, i) = βσi ,sunt memorate ın vectorul s ∈ ZZn.)

1. Pentru i = 1 : n

1. si = 0

2. η = β2

3. final = ′nu′

4. Cat timp final = ′nu′

1. final = ′da′

2. Pentru i = 1 : n

1. ρ =∑n

j=1

j 6=i|aij |2, κ =

∑nj=1

j 6=i|aji|2

2. µ =ρ

κ3. ν = 1

4. α = β

5. σ = s(i)

6. Cat timp α < µ

1. σ ← σ + 1

2. ν = νβ

3. α = αη

7. Cat timp α ≥ µη1. σ ← σ − 1

2. ν =ν

β

3. α =α

η

8. Dacaρ

ν2+ κν2 < 0.95(ρ+ κ) atunci

1. s(i) = σ

2. A(i, :)← A(i, :)

ν, A(:, i)← A(:, i)ν

3. final = ′nu′.

278 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Comentarii. Apelul algoritmului se poate face cu sintaxa

[A, s ] = ECH(A, β).

Variabila logica final este utilizata pentru sesizarea aparitiei unui pas ın care nuare loc modificarea nici unei perechi linie-coloana si a stabili astfel terminarea al-goritmului.

In unele implementari profesionale ale algoritmului, pentru reducerea efortu-lui de calcul, ın locul echilibrarii normelor euclidiene ale liniilor si coloanelor, seefectueaza o echilibrare a normelor ‖ · ‖1 ale acestora. Tinand seama de faptulca ‖z‖ ≤ ‖z‖1 ≤

√n‖z‖, o echilibrare a normelor ‖ · ‖1 are drept consecinta si o

echilibrare, considerata corespunzatoare ın aplicatiile curente, a normelor euclidi-ene. Intr-un astfel de caz, instructiunea 4.2.1 se modifica adecvat.

Avandu-se ın vedere caracterul iterativ, complexitatea algoritmului nu poatefi evaluata exact. Totusi, ıntrucat majoritatea calculelor se fac practic cu numereıntregi, se poate aprecia ca ponderea eventualei utilizari a algoritmului de echilibrareın calculul valorilor proprii este putin semnificativa. 3

Permutare si echilibrare

Algoritmii de permutare si echilibrare se utilizeaza de obicei ın tandem, situatieın care apar detalii tehnice interesante. Dintre acestea, semnalam posibilitateamemorarii permutarilor elementare si a elementelor definitorii ale matricei diagonaleD de echilibrare ın cadrul aceluiasi vector de ıntregi. Intr-adevar, dupa evidentiereavalorilor proprii izolate, echilibrarea se efectueaza numai asupra blocului diagonalmedian A22 = A(k : l, k : l), i.e.

A← D−1PTAPD =

A11 A12D22 A13

0 D−122 A22D22 D−1

22 A23

0 0 A33

. (4.175)

Prin urmare, pentru memorarea elementelor diagonale se poate utiliza portiuneadin vectorul destinat memorarii permutarilor neafectata de acestea. Tandemul per-mutare echilibrare poate fi descris ın felul urmator:

Algoritmul 4.13 (ΠECH – Permutare si echilibrare) (Date ma-tricea A ∈ ICn×n si baza de numeratie β, algoritmul calculeaza ma-tricea de permutare P si matricea diagonala D22 (prin puterile bazei βcare dau valorile elementelor diagonale ale lui D22) astfel ıncat matriceaA obtinuta ın (4.175) sa aibe submatricele A(1 : k − 1, 1 : k − 1) siA(l+1 : n, l+1 : n) superior triunghiulare iar submatricea A(k : l, k : l)echilibrata. Permutarile sunt memorate ın subvectorii d(1 : k − 1) sid(l + 1 : n) iar puterile bazei care definesc elementele diagonale alematricei D22 ın subvectorul d(k : l).)

1. [A, d, k, l ] = Π(A)

2. Daca l > k

1. [A(k : l, k : l), d(k : l) ] = ECH(A(k : l, k : l), β)

4.4. ALGORITMUL QR 279

2. Pentru i = k : l

1. ci = 1

2. Pentru j = 1 : |di|1. Daca di > 0 atunci

1. ci = ciβ

altfel

1. ci =ciβ

3. Daca l < n

1. Pentru i = k : l

1. A(i, l + 1 : n)← A(i, l + 1 : n)/ci

4. Daca k > 1

1. Pentru j = k : l

1. A(1 : k − 1, j)← A(1 : k − 1, j)cj

Comentarii. Apelul algoritmului se va face cu sintaxa

[A, d, k, l ] = ΠECH(A, β).

Evident, calculele de la instructiunile 4 si 5 se pot efectua exact. Daca portiunilede interes se codifica ın limbaj de asamblare, atunci calculul efectiv al numerelor cinu este necesar, operatiile de la instructiunile 4 si 5 realizandu-se prin modificareaexponentilor.

Complexitatea algoritmului este dictata esential de valorile parametrilor k sil, dar aprecierea ca ponderea sa ın economia unui algoritm de calcul al valorilorproprii este putin semnificativa ramane valabila. 3

4.4.3 Programe principale (”driver”-e)

Utilizarea algoritmilor prezentati ın aceasta sectiune ın cadrul unor programe de cal-cul al valorilor si vectorilor proprii (vezi si sectiunea urmatoare) se poate face ın di-verse variante, ın raport cu tipul datelor initiale si al obiectivelor concrete urmarite.Desi o astfel de ıntreprindere nu prezinta dificultati de principiu, prezentam, totusi,o exemplificare pentru urmatoarea situatie concreta:

• date initiale: o matrice reala A ∈ IRn×n, baza β a sistemului de numeratie aFVM utilizat si toleranta tol pentru aprecierea elementelor neglijabile;

• obiective: calculul formei Schur reale, acumularea tuturor transformarilor sicalculul partilor reale si complexe ale tuturor valorilor proprii.

Admitem ın continuare, pentru simplificare, ca o multime de tipulM = n1 : n2, cun2 < n1, este vida si ca orice operatie care implica (cel putin) o multime vida nuse executa. O solutie posibila pentru problema formulata, incluzand permutarea siechilibrarea, este urmatoarea.

280 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. [A, d, l, k ] = ΠECH(A, β)

2. T = In

3. % Acumularea transformarilor din faza de permutare

1. Pentru j = n : −1 : l + 1

1. T (: , j)↔ T (: , dj)

2. Pentru j = 1 : k − 1

1. T (: , j)↔ T (: , dj)

4. % Acumularea transformarilor din faza de echilibrare

1. Pentru j = k : l

1. c = 1

2. Pentru i = 1 : |dj |1. Daca dj > 0 atunci

1. c = cβ

altfel

1. c =c

β3. T (: , j)← T (: , j)c

5. % Aplicarea algoritmului QR pentru matrice reale

1. [A(k : l, k : l), Q ] = QR2(A(k : l, k : l), Il−k+1, tol,′da′)

2. A(1 : k − 1, k : l) = A(1 : k − 1, l : k)Q

3. A(k : l, l+ 1 : n) = QTA(k : l, l+ 1 : n)

4. T ( : , k : l) = T ( : , k : l)Q

6. % Calculul vectorilor cu partile reale si imaginare ale valorilor proprii

1. Pentru i = 1 : k − 1

1. λre(i) = aii, λim(i) = 0

2. i = k

3. Cat timp i < l

1. Daca ai+1,i 6= 0 atunci

1. ∆ = (aii − ai+1,i+1)2 + 4ai,i+1ai+1,i

2. λre(i) = (aii + ai+1,i+1)/2, λim(i) =√−∆/2

3. λre(i+ 1) = λre(i), λim(i+ 1) = −λim(i)4. i← i+ 2

altfel

1. λre(i) = aii, λim(i) = 0

2. i← i+ 1

4.5. CALCULUL VECTORILOR PROPRII 281

4. Pentru i = l + 1 : n

1. λre(i) = aii, λim(i) = 0

Acest program calculeaza matricea de transformare nesingulara (dar nu ın modnecesar ortogonala) T ∈ IRn×n si matricea A ← S ∈ IRn×n ın forma Schur reala,astfel ıncat A← S = T−1AT , precum si toate valorile proprii. El poate fi completatcu calculul vectorilor proprii, al unor baze pentru subspatii invariante etc., problemetratate ın alte sectiuni ale capitolului.

4.5 Calculul vectorilor proprii

Este important de precizat ca ın multe aplicatii (cum este, e.g. calculul subspatiilorinvariante) vectorii proprii pot fi ınlocuiti cu succes de catre vectorii Schur.

Daca se doreste totusi determinarea explicita a vectorilor proprii xi, i ∈ I ⊂ 1:n,ai unei matrice n×n A date, acestia pot fi calculati ın urmatoarele doua modalitatifolosite curent.

a) Daca numarul vectorilor proprii ce trebuie calculati depaseste 25 de procentedin numarul total, atunci se recomanda urmatoarea schema de calcul:

VP 1 1. Se calculeaza forma Schur (reala), utilizand algoritmul QR corespunza-tor, cu acumularea transformarilor, i.e. se calculeaza matricea (cvasi-)superior triunghiulara S si matricea unitara (ortogonala) Q astfel ıncatS = QHAQ.

2. Se calculeaza vectorii proprii vi ai matricei S, asociati valorilor propriide interes, prin rezolvarea sistemelor liniare omogene corespunzatoare.

3. Vectorii proprii xi ai matricei initiale A se calculeaza cu relatiaxi = Qvi.

In cadrul acestei scheme singura problema netratata exhaustiv pana acum estecalculul vectorilor proprii ai formelor Schur (reale).

b) Daca numarul vectorilor proprii ce trebuie calculati este relativ mic, atuncise considera mai economica urmatoarea schema de calcul:

VP 2 1. Se determina, utilizand algoritmul HQ, forma superior HessenbergH = QHAQ, a matricei A, cu acumularea transformarilor Q.

2. Se calculeaza valorile proprii de interes, cel mai adesea prin executiafazei iterative a algoritmului QR corespunzator, fara acumulareatransformarilor.

3. Se calculeaza vectorii proprii wi ai matricei H , asociati valorilor propriide interes, prin cateva iteratii (teoretic, datorita cunoasterii valorilorproprii, ıntr-o singura iteratie) ale metodei puterii inverse.

4. Vectorii proprii xi ai matricei initiale A se calculeaza cu relatiaxi = Qwi.

282 CAPITOLUL 4. VALORI SI VECTORI PROPRII

In cadrul acestei scheme singura problema care necesita o tratare suplimentara esteaplicarea metodei puterii inverse ın contextul unei cunoasteri (aproape exacte) avalorilor proprii asociate.

Prezentam succint unele aspecte importante referitoare la cele doua problemesemnalate mai sus.

4.5.1 Calculul vectorilor proprii ai formelor Schur

Consideram matricea n × n A complexa sau reala. Presupunem obtinute formaSchur (reala) S si, implicit, valorile proprii ale matricei A, precum si vectorii Schurdefiniti de coloanele matricei de transformare unitara (ortogonala) cumulate Q.

In cazul complex, matricea S ∈ ICn×n este superior triunghiulara, iar elementelesale diagonale sunt valorile proprii ale matricei S. Calculul vectorilor proprii pentrumatricele triunghiulare a fost tratat ın capitolul 1 (algoritmul 1.23 – TRV).

In cazul real, forma Schur reala S este o matrice cvasi-superior triunghiulara.Fie structura

S =

S11 S12 S13

0 S22 S23

0 0 S33

(4.176)

a matricei S, unde vom considera, pe rand, ca blocul S22 este un scalar, respectivo matrice 2 × 2 cu valori proprii complex conjugate, iar matricele S11 ∈ IRn1×n1 ,S33 ∈ IRn3×n3 sunt cvasi-superior triunghiulare. In primul caz, daca λ = S22 este ovaloare proprie distincta a matricei S, atunci orice vector de forma

u = α

u110

, (4.177)

unde u1 este solutia sistemului liniar cvasi-superior triunghiular

(S11 − λIn1)u1 = −S12 (4.178)

si α un scalar real nenul, este vector propriu asociat valorii proprii λ = S22. In cel deal doilea caz, vectorii proprii asociati perechii de valori proprii complex conjugateα ± iβ ale blocului S22 se pot considera, la randul lor, ca doi vectori complexconjugati u± iv, u, v ∈ IRn. Pentru a ramane ın limitele utilizarii aritmeticii reale,ın practica numerica se obisnuieste calculul exclusiv al vectorilor reali u si v casolutie nenula a sistemului omogen, singular, 2n-dimensional

[S − αIn βIn−βIn S − αIn

] [uv

]

=

[00

]

. (4.179)

Presupunem ca perechea de valori proprii α ± iβ este distincta si consideram opartitie conforma

u =

u1u2u3

, v =

v1v2v3

, (4.180)

4.5. CALCULUL VECTORILOR PROPRII 283

a partilor reala u si imaginara v ale vectorilor proprii asociati. Intrucat matricea[S33 − αIn3

βIn3

−βIn3S33 − αIn3

]

este nesingulara rezulta u3 = 0, v3 = 0. Acum, daca

vectorii bidimensionali u2 si v2 formeaza o solutie nenula a sistemului liniar omogen,singular, real, de patru ecuatii cu patru necunoscute,

[S22 − αI2 βI2−βI2 S22 − αI2

] [u2v2

]

=

[00

]

, (4.181)

atunci u1, v1 se calculeaza rezolvand, cu mijloacele clasice, sistemul liniar nesingular

[S11 − αIn1

βIn1

−βIn1S11 − αIn1

] [u1v1

]

= −[S12u2S12v2

]

. (4.182)

Pentru calculul unei solutii nenule a sistemului liniar omogen (4.181) se constatausor ca, de exemplu, vectorul nenul u2 ∈ IR2 poate fi ales arbitrar, e.g. u2 = [ 1 0 ]T ,caz ın care vectorul v2 ∈ IR2 se obtine rezolvand sistemul liniar, nesingular, de douaecuatii

(S22 − αI2)v2 = βu2. (4.183)

Cu aceste precizari putem prezenta urmatorul algoritm de calcul al vectorilor propriiale unei matrice ın forma Schur reala.

Algoritmul 4.14 (VPS – Calculul vectorilor proprii ai unei ma-trice ın forma Schur reala) (Data matricea S ∈ IRn×n, ın forma Schurreala, cu valori proprii distincte, algoritmul calculeaza un set de vectoriproprii ai matricei S. Vectorii proprii xj , asociati valorilor proprii realeλj = sjj sunt situati ın coloanele j ale matricei X , i.e. xj = X( : , j).Pentru valorile proprii complex conjugate corespunzatoare blocului di-agonal S(j : j + 1, j : j + 1), vectorii proprii asociati xj,j+1 = uj ± ivjsunt obtinuti prin calculul vectorilor reali uj si vj care se memoreaza ıncoloanele j si j+1 ale matricei X , i.e. uj = X( : , j) si vj = X( : , j+1).)

1. Daca n = 1 atunci

1. X = 1

2. Return

2. j = 1

3. Cat timp j < n

1. Daca sj+1,j = 0 atunci

1. X(j + 1 : n, j) = 0

2. xjj = 1

3. Daca j > 1 atunci

1. Se rezolva sistemul cvasisuperior triunghiular(S(1 :j−1, 1:j−1)−sjjIj−1)X(1 :j−1, j) = −S(1 :j−1, j)

4. j ← j + 1

altfel

284 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. α = (sjj + sj+1,j+1)/2

2. β =√

−(sjj − sj+1,j+1)2 − 4sj+1,jsj,j+1/2

3. X(j + 2 : n, j : j + 1) = 0

4. xj,j = 1, xj+1,j = 0

5. Fie S22 = S(j : j + 1, j : j + 1).Se rezolva sistemul nesingular de doua ecuatii(S22 − αI2)X(j : j + 1, j + 1) = βX(j : j + 1, j)

6. Daca j > 1 atunci

1. Fie S11 = S(1 :j−1, 1:j−1), S12 = S(1 :j−1, j :j+1)

si F =

[S11 − αIj−1 βIj−1

−βIj−1 S11 − αIj−1

]

.

Se rezolva sistemul nesingular

F

[X(1 : j−1, j)

X(1 : j−1, j + 1)

]

=

[−S12X(j :j+1, j)−S12X(j :j−1, j+1)

]

7. j ← j + 2

4. Daca j = n atunci

1. xjj = 1

2. Se rezolva sistemul cvasisuperior triunghiular(S(1 :j−1, 1:j−1)− sjjIj−1)X(1 :j−1, j) = −S(1 :j−1, j)

Comentarii. Sintaxa de apel a algoritmului este

X = VPS(S).

In cadrul algoritmului nu are loc o verificare a faptului ca matricea S este ın formaSchur reala. De asemenea, utilizarea matricei vectorilor proprii X se poate facenumai ın conjunctie cu structura blocurilor diagonale ale matricei S, care trebuiecunoscuta pentru a putea forma vectorii proprii asociati valorilor proprii complexconjugate. 3

Calculul vectorilor proprii asociati valorilor proprii multiple ridica dificultatisimilare celor evidentiate ın cazul matricelor triunghiulare (v. cap. 1). Intr-o astfelde situatie, ın algoritmul VPS, sistemele liniare ce se rezolva devin singulare sitrebuie luate masuri speciale pentru a evita ımpartirile cu 0 sau cu numere foartemici. O cale de urmat este utilizata ın algoritmul de calcul al vectorilor propriipentru matrice triunghiulare prezentat ın capitolul 1. O alta cale, utilizata, deexemplu, ın [ X ], ınlocuieste diferentele λi − λj , apreciate ca fiind nule, cu εM‖S‖,erorile introduse de o astfel de decizie fiind de nivelul erorilor de calcul. In oricecaz, calculul vectorilor proprii asociati valorilor proprii apropiate ridica problemedatorita relei conditionari a sistemelor liniare mentionate.

4.5.2 Calculul vectorilor proprii ai matricelorsuperior Hessenberg

In cazul ın care numarul vectorilor proprii care se calculeaza este inferior procen-tului de 25%, ın practica numerica s-a format convingerea ca este mai avantajoasa

4.5. CALCULUL VECTORILOR PROPRII 285

schema de calcul VP 2 , care presupune acumularea transformarilor numai ın fazadirecta (neiterativa) a algoritmuluiQR si aplicarea metodei puterii inverse matriceisuperior Hessenberg rezultata ın aceasta faza 34. De aceea consideram util sa sem-nalam unele dificultati ce pot aparea la rezolvarea unor sisteme (de tip Hessenberg)aproape singulare.

Fie A ∈ ICn×n si H = QHAQ matricea superior Hessenberg obtinuta, e.g. cu al-goritmulHQ. Reamintim ca metoda puterii inverse (v. § 4.3) de calcul al unui vectorpropriu al matricei H consta ıntr-un proces iterativ bazat pe relatia de recurenta

(H − µIn)zk+1 = ρkzk, k = 0, 1, . . . , z0 arbitrar, (4.184)

unde ρk este un factor scalar de normare. Spre deosebire de cazul curent, aicivom presupune ca deplasarea µ este o valoare proprie calculata a matricei H (si,ın limitele preciziei de calcul, a matricei A). Notam cu λ1 valoarea proprie exactaa matricei H a carei aproximatie este µ. Admitand ca µ a fost calculata cu unalgoritm numeric stabil (cum este, e.g. algoritmul QR) rezulta ca µ este o va-loare proprie exacta a matricei G = H + E unde E este o matrice de perturbatiede norma spectrala ”mica”, i.e. satisfacand ‖E‖ ≤ ǫ‖H‖, unde ǫ are ordinul demarime al erorilor de reprezentare (v. § 4.11). Daca, ın plus, λ1 este o valoare bineconditionata (v. § 4.10) atunci

η = λ1 − µ (4.185)

este si ea de ordinul de marime al lui ǫ‖H‖. Presupunand ca matriceaH este simpla,i.e. exista vectorii proprii wi, i = 1 : n, care formeaza o baza a lui ICn, si scriind

z0 =

n∑

i=1

γiwi, (4.186)

rezulta

zk = ρk(γ1w1 + ηkn∑

i=2

γi(λi − µ)k

wi), (4.187)

unde ρk este un factor cumulat de normare. Daca γ1 nu este neglijabila (ceea ce esteo ipoteza plauzibila) si λ1 este o valoare proprie simpla si ”suficient de bine separatade celelalte”, i.e. |λi − µ| ≫ |η|, i = 2 : n (ceea ce nu este ıntotdeauna adevarat),atunci zk devine coliniar cu w1, cu precizia formatului virgula mobila, practic ıntr-osingura iteratie, cu toate ca sistemul (4.184) este aproape singular si, deci, posibilrau conditionat. Daca ınsa λ1 nu este simpla, sau nu este suficient de departede celelalte sau este rau conditionata, atunci analiza de mai sus nu poate garantaacuratetea rezultatului, chiar daca se executa mai multe iteratii. Pentru a depistaastfel de situatii si pentru a le depasi, ın [ X ] se propune determinarea unui factorde crestere definit dupa cum urmeaza. Fie z vectorul propriu de norma euclidianaunitara (i.e. ‖z‖2 = zHz = 1) calculat cu metoda puterii inverse. Consideramreziduul

r = Hz − µz. (4.188)

34Renuntarea completa la acumularea transformarilor si aplicarea, dupa determinarea valorilorproprii, a metodei puterii inverse matricei initiale se considera a fi o procedura mai putin avanta-joasa.

286 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Relatia anterioara poate fi scrisa si sub forma

(H − rzH)z = µz. (4.189)

Avem ‖rzH‖ = ‖r‖ si, daca norma ‖r‖ a reziduului este mica (e.g. de ordinulde marime al lui εM‖H‖), atunci z este un vector propriu al unei matrice foarteusor perturbate fata de H , ceea ce este tot ce se poate spera ıntr-o aritmeticaaproximativa. Pentru evaluarea normei reziduului r se procedeaza astfel. Fie z0vectorul initial avand ‖z0‖ = 1 si y solutia sistemului

(H − µIn)y = z0, (4.190)

i.e. rezultatul primei iteratii a metodei puterii inverse fara normarea acestuia.Atunci definind vectorul succesor al lui z0 prin normarea lui y, i.e.

z1 =y

‖y‖ , (4.191)

obtinem

(H − µIn)z1 =1

‖y‖z0. (4.192)

Prin urmare, cu cat ‖y‖ este mai mare cu atat norma reziduului definit ın (4.188)este mai mica. De aceea putem defini ‖y‖ drept factor de crestere si cere ca acestasa fie superior unei valori impuse. Mecanismul de realizare a acestui deziderat estemodificarea initializarii z0 si reluarea primei iteratii (ın locul continuarii iteratiilorcare nu ofera sansa ımbunatatirii rezultatului). In [ X ] este propusa o strategie demodificare a initializarii. Pentru detalii recomandam consultarea referintei citate.

Incheiem acesta sectiune semnaland faptul ca, ın majoritatea aplicatiilor, vectoriiproprii pot fi supliniti cu succes de catre vectorii Schur, al caror calcul, apeland ınexclusivitate la transformari unitare (ortogonale), este mult mai fiabil.

4.6 Forma Schur ordonata.Calculul subspatiilor invariante

Asa cum s-a aratat ın sectiunea 4.1, conceptul de subspatiu invariant al unei matrice,introdus prin definitia 4.2, este intim legat de valorile si vectorii proprii ale matriceirespective si joaca un rol fundamental ın tratarea operatoriala a spatiilor liniare ICn

sau IRn. In sens larg, subspatiile invariante sunt subspatii generate de vectori pro-prii. In contextul problemelor de calcul numeric abordate ın prezenta lucrare, acestconcept a fost folosit pentru a demonstra posibilitatea reducerii, prin transformariunitare (ortogonale) de asemanare, a unei matrice la forma Schur (propozitia 4.2 silemele 4.2, 4.3).

Reciproc, cunoasterea formei Schur si a vectorilor Schur asociati permite cal-culul subspatiilor invariante asociate unor grupuri precizate de valori proprii alematricei initiale. Mai precis, prin calculul subspatiilor invariante vom ıntelege aicideterminarea unor baze ortonormale pentru acestea.

4.6. CALCULUL SUBSPATIILOR INVARIANTE 287

Fie o matrice A ∈ ICn×n, S = QHAQ o forma Schur a acesteia si urmatoarelepartitii ale matricelor S si Q

S =

k︷︸︸︷

n−k︷︸︸︷

[S11 S12

0 S22

]} k}n− k , Q =

k︷︸︸︷

n−k︷︸︸︷

[Q1 Q2

]. (4.193)

AvemAQ1 = Q1S11 (4.194)

i.e., conform propozitiei 4.1, V = ImQ1 este un subspatiu A-invariant, subspatiupe care ıl asociem, ın mod natural, cu setul de valori proprii λ(S11) ⊂ λ(A), undeS11 = A|S este restrictia lui A la V . Altfel spus, coloanele matricei Q1 = Q( : , 1 : k)formeaza o baza ortonormala a subspatiului A-invariant asociat valorilor proprii alematricei A date de primele k elemente diagonale ale matricei S.

In cazul real, consideratiile de mai sus raman valabile cu singurul amendamentca subspatiile invariante reale ale unei matrice reale se asociaza ıntotdeauna unorseturi simetrice de valori proprii 35, fapt indus de posibilitatea unor partitii de forma(4.193) unde, de data aceasta, S este ın forma Schur reala.

Tinand seama de cele de mai sus, un subspatiu A-invariant este complet definitde un set de valori proprii, iar calculul sau se reduce, ın definitiv, la obtinerea uneiforme Schur S = QHAQ ın care setul de valori proprii precizat coincide cu spec-trul de valori proprii al submatricei lider principale de dimensiune corespunzatoare.O data obtinuta aceasta forma Schur, baza cautata este data de primele coloaneale matricei de transformare Q. Prin urmare, dupa aplicarea algoritmului QR siobtinerea unei prime forme Schur, ın care elementele (blocurile, ın cazul real) di-agonale nu au o ordine predeterminata, calculul unui subspatiu invariant se reducela ordonarea elementelor diagonale (i.e. aducerea ın primele pozitii diagonale avalorilor proprii vizate), prin transformari unitare (ortogonale) de asemanare, siactualizarea matricei de transformare Q.

Avandu-se ın vedere faptul ca, datorita structurii (cvasi)superior triunghiularea matricei S, permutarea a doua elemente (blocuri) neadiacente nu este posibilaprintr-o transformare elementara (rotatie sau reflector) fara alterarea structurii,mecanismul de ordonare a formei Schur consta dintr-o secventa de permutari deelemente (blocuri) diagonale adiacente.

4.6.1 Ordonarea formei Schur

In cazul complex forma Schur este triunghiulara astfel ca este suficient sa stabilimo procedura de permutare a doua elemente diagonale adiacente (vecine). Pentruaceasta, consideram mai ıntai o matrice superior triunghiulara de ordinul doi S ∈∈ IC2×2 cu valorile proprii distincte, i.e. s11 6= s22. Fie x2 un vector propriu unitaral matricei S asociat valorii proprii λ2 = s22, i.e. (exercitiu pentru cititor),

x2 = eiθy

‖y‖ , unde y =

[s12

s22 − s11

]

, (4.195)

35 Reamintim ca prin set simetric ıntelegem o multime numerica ın care elementele complexeapar ın perechi complex conjugate.

288 CAPITOLUL 4. VALORI SI VECTORI PROPRII

si unde, fara a reduce generalitatea, putem considera θ = 0, i.e. x2 = y/‖y‖.Conform lemei de deflatie unitara 4.2, o transformare de asemanare S′ = PHSP ,ın care matricea unitara P are ca prima coloana vectorul propriu x2, va evidentia,ın pozitia 11 a matricei S′ valoarea proprie asociata vectorului propriu x2, i.e. s22,conservand, ın acelasi timp, zeroul din pozitia 21. Concret, daca P ∈ IC2×2 esterotatia (complexa) care asigura

(PHy)(2) = 0, (4.196)

unde y este vectorul definit ın (4.195), obtinem (ınca un exercitiu pentru cititor)

S′ = PHSP =

[s22 s120 s11

]

. (4.197)

S-a realizat astfel permutarea celor doua valori proprii.Pentru o matrice superior triunghiulara S de ordinul n permutarea valorilor

proprii adiacente skk si sk+1,k+1 se realizeaza folosind transformarea unitara deasemanare S′ = QHSQ cu

Q = diag(Ik−1, P, In−k−1), (4.198)

unde transformarea definita de matricea de ordinul doi P asigura permutarea valo-rilor proprii ale matricei S(k : k+1, k : k+1).

Rezumand cele prezentate mai sus, rezulta urmatoarea schema de calcul

P 11 c 1. Daca skk 6= sk+1,k+1 atunci

1. Se calculeaza vectorul y din (4.195).2. Se calculeaza rotatia P astfel ıncat (PHy)(2) = 0.3. S ← diag(Ik−1, P

H , In−k−1)S4. S ← S diag(Ik−1, P, In−k−1)

iar algoritmul corespunzator, bazat pe procedurile din tabelul 4.3, este prezentat ıncontinuare.

Algoritmul 4.15 (P11c – Permutarea a doua valori proprii adia-cente) (Date o matrice S ∈ ICn×n ın forma Schur, matricea de transfor-mare initiala Q ∈ ICn×n si ıntregul k ∈ 1 : n−1, algoritmul suprascriematricea S cu matricea S′ = QHSQ care realizeaza permutarea valorilorproprii skk, sk+1,k+1 si actualizeaza matricea de transformare Q.)

1. Daca skk 6= sk+1,k+1 atunci

1. y =

[sk,k+1

sk+1,k+1 − skk

]

2. [ y, c, s ] = Gc(y)

3. skk ↔ sk+1,k+1

4. Daca k > 1 atunci

1. S(1 : k−1, k : k+1) = Gcd(S(1 : k−1, k, k+1), c, s)

5. Daca k < n− 1 atunci

4.6. CALCULUL SUBSPATIILOR INVARIANTE 289

1. S(k : k+1, k+2 : n) = Gcs(c, s, S(k : k+1, k+2 : n))

6. Q(:, k : k+1) = Gcd(Q(:, k : k+1), c, s)

Comentarii. Sintaxa de apel a algoritmului de mai sus va fi

[S,Q ] = P11c(S,Q, k).

Complexitatea unei permutari a doua valori proprii vecine distincte este O(n),numarul asimptotic de flopi (reali) fiind Nop = 52n (independent de k). 3

Din momentul ın care dispunem de procedura de permutare a doua valori pro-prii ınvecinate, algoritmul de ordonare a formei Schur se reduce, ın esenta, laun algoritm de sortare a unei multimi bazat pe interschimbarea elementelor adi-acente. Vom prezenta mai ıntai cazul unei ordonari totale care dispune valorileproprii ale unei forme Schur S a matricei A ın ordinea impusa de o permutare dataπ = {i1, i2, . . . , in} a multimii 1 : n, ın sensul ca elementul diagonal aflat initialın pozitia (k, k) va fi plasat ın final ın pozitia (ik, ik). Prin actualizarea matriceiunitare de transformare Q, se calculeaza bazele ortogonale pentru subspatiile A-invariante asociate unor grupuri impuse de valori proprii. Concret, coloanele 1 : kale matricei actualizate, i.e. Q(: , 1 :k), formeaza o baza a subspatiului A-invariantVk asociat setului de valori proprii Λk = {λi = sii | i = 1 : k} (ın numerotareafinala). Prezentam un algoritm de ordonare bazat pe o procedura de sortare prinselectie. Invitam cititorul sa elaboreze alte variante care sa aibe la baza algoritmide sortare alternativi.

Algoritmul 4.16 (FSC ORD – Ordonarea formei Schur) (Dateo matrice S ∈ ICn×n ın forma Schur, matricea unitara Q ∈ ICn×n si per-mutarea π = {i1, i2, . . . , in}, algoritmul suprascrie matricea S cu ma-tricea unitar asemenea S′ = QHSQ care are s′ik,ik = skk si actualizeazaın mod corespunzator matricea de transformare Q.)

1. Pentru k = 1 : n−11. muta =’nu’

2. l = k

3. Pentru j = k+1 : n

1. Daca ij < il atunci

1. l = j

2. muta =’da’

4. Daca muta =’da’ atunci

1. Pentru j = (l − 1) : −1 : k

1. [S,Q ] = P11c(S,Q, j)

2. ij ↔ ij+1

Comentarii. Sintaxa naturala de apel a algoritmului prezentat este

[S,Q ] = FSC ORD(S,Q, π).

290 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Complexitatea unei ordonari este dictata esential de natura permutarii. Cazurilelimita sunt permutarea identica, pentru care nu se face nici o operatie aritmetica, siinversiunea, pentru care se efectueaza C2

n = n(n+1)/2 apelari ale procedurii P11ccare conduc la o complexitate O(n3).

De multe ori este mai comod ca ın locul permutarii π sa utilizam permutareainversa σ = π−1 = {j1, j2, . . . , jn}. In acest caz, algoritmul suprascrie matricea Scu matricea unitar asemenea S′ = QHSQ care are s′kk = sjk,jk . O varianta a unuiastfel de algoritm de ordonare arata astfel.

FSC ORD −1 1. Pentru k = 1 : n−11. Daca k 6= jk atunci

1. Pentru i = (jk − 1) : −1 : k1. [S,Q ] = P11c(S,Q, i)

2. Pentru i = k+1 : n1. Daca ji < jk atunci ji = ji + 1.

Dupa executia acestui algoritm coloanele 1 : k ale matricei de transformare actua-lizate, i.e. Q(: , 1 : k), formeaza o baza ortonormala a subspatiului A-invariant Vkasociat setului de valori proprii Λk = {λi = sii | i ∈ {j1, j2, . . . , jk}} (ın numerotareainitiala). Observatiile de mai sus privitoare la complexitate raman valabile.

Algoritmul de mai sus realizeaza o ordonare totala a perechilor diagonale. Dacase urmareste exclusiv constructia unei baze unitare pentru un subspatiu A-invariantk-dimensional (k < n), este suficienta o ordonare partiala constand ın aducerea, pecaile cele mai ”scurte”, a valorilor proprii vizate ın primele k pozitii diagonale. Ovarianta posibila pentru rezolvarea acestei probleme este urmatoarea. Presupunemca dorim constructia unei baze ortonormale a subspatiului A-invariant asociat valo-rilor proprii si1i1 , si2i2 , . . ., sikik . Fara a reduce generalitatea, putem considera cai1 < i2 < . . . < ik. Aducerea celor k elemente diagonale ale matricei S ın primele kpozitii diagonale se face cu urmatorul algoritm simplu.

FSC ORD p 1. Pentru j = 1 : k−11. Daca ij > j atunci

1. Pentru l = (ij − 1) : −1 : j1. [S,Q ] = P11c(S,Q, l)

Incheiem aici comentariile la algoritmul 4.16 si consideratiile privitoare la ordonareaformei Schur complexe cu mentiunea ca aceste aspecte vor fi ıntalnite si la ordonareaformei Schur reale. 3

4.6.2 Ordonarea formei Schur reale

In cazul real vom considera partitia bloc dictata de dimensiunile lk×lk cu lk ∈ {1, 2},k = 1 : p, ale blocurilor diagonale ale formei Schur reale S = QTAQ a matriceiA ∈ IRn×n

S =

S11 S12 · · · S1p

0 S22 · · · S1p

......

. . ....

0 0 · · · Spp

. (4.199)

4.6. CALCULUL SUBSPATIILOR INVARIANTE 291

Problema calculului subspatiilor A-invariante reale asociate unor seturi simetricede valori proprii revine la ordonarea corespunzatoare a blocurilor diagonale aleformei Schur reale. In acest scop este necesar sa stim sa permutam doua blocuridiagonale adiacente. Permutarea a doua blocuri vecine 1 × 1 se face cu algoritmulP11c, cu singura mentiune ca toate transformarile utilizate sunt reale. Intrucatscrierea variantei reale a algoritmului se rezuma la ınlocuirea siglei c cu sigla r ınidentificatorii procedurilor, ne marginim sa introducem sintaxa de utilizare

[S,Q ] = P11r(S,Q, k),

cu mentiunea ca aici k reprezinta linia (si coloana) pe care se afla primul dintre celedoua blocuri 1× 1 ce se permuta.

Ramane sa aratam cum se pot permuta, prin transformari ortogonale de asema-nare, doua blocuri diagonale vecine din care cel putin unul are ordinul 2.

Consideram acum matricea de ordinul 3 sau 4

S =

[S11 S12

0 S22

]

, (4.200)

unde, prin urmare, cel putin unul din blocurile diagonale S11, S22 este 2 × 2. Inprincipiu, putem aplica ideile utilizate la elaborarea algoritmului P11, i.e. calcululunei baze ortogonale a subspatiului invariant asociat valorilor proprii ale matriceiS22 si aplicarea lemei de deflatie ortogonala, solutie propusa cititorului. Aici vomurma o cale echivalenta care utilizeaza algoritmulQR cu deplasare implicita. Avandın vedere faptul ca matricea S din (4.200) este deja ın forma Schur reala rezulta caputem determina deplasarea (ın forma implicita) exacta care, utilizata ın algoritmulQR2 pune ın evidenta, ın pozitia (2, 2), blocul cu valorile proprii dorite, ın cazulnostru, ın vederea permutarii, cu valorile proprii ale matricei S11. Cunoastereaexacta a deplasarii face ca, teoretic, sa fie suficienta o singura iteratie QR pentruobtinerea rezultatului dorit. In practica, daca nivelul de toleranta practicat este deordinul de marime al erorilor de rotunjire, este posibil sa fie necesare cateva (doua-trei) iteratii pentru a putea considera elementele blocului (2, 1) neglijabile. Deasemenea, ıntrucat algoritmul QR cu deplasare implicita actioneaza corect numaiasupra matricelor ın forma Hessenberg ireductibila este necesar mai ıntai un pas QRartificial, cu un vector de deplasare implicita aleator, care sa altereze structura Schurreala a matricei S ın sensul obtinerii formei Hessenberg ireductibile. In consecinta,toate cele trei tipuri de permutare se vor supune urmatoarei scheme de calcul.

P ij

1. Se determina elementele definitorii exacte pentru vectorul de deplasareimplicita (i.e. valoarea proprie daca primul bloc este 1× 1, respectiv sumasi produsul valorilor proprii ın cazul cand primul bloc este 2× 2).

2. Se executa un pas QR cu un vector de deplasare implicita fixat aleator

(e.g. alegerea w = [ 1 1 1 ]Tda bune rezultate).

3. Se aplica algoritmul QR cu deplasarea implicita exacta (i.e. calculata cuelementele de la punctul 1).

292 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Pentru matricea n×n din (4.199) permutarea blocurilor adiacente Srr si Sr+1,r+1

ale formei Schur reale S ∈ IRn×n se obtine folosind transformarea ortogonala deasemanare S′ = QTSQ definita de

Q = diag(Ik−1, Q, Is), (4.201)

unde transformarea definita de matricea Q, de ordinul 2, 3 sau 4, asigura permutareablocurilor diagonale ale matricei

S =

[Srr Sr,r+1

0 Sr+1,r+1

]

, (4.202)

si unde k este pozitia diagonala a elementului 11 al blocului diagonal Srr, iar s esteordinul cumulat al blocurilor diagonale r+2 : p.

Vom implementa schema de calcul de mai sus ıntr-un algoritm care va trata toatecazurile dimensionale. Pentru aceasta vom utiliza rezultatele stabilite si procedurileelaborate ın acest capitol.

Pentru o ıntelegere mai lesnicioasa a algoritmului facem urmatoarele precizari:– localizarea blocurilor diagonale ale matricei S care vor fi permutate se face

prin pozitia diagonala k a elementului 11 al primului bloc diagonal si ordinele i si jale celor doua blocuri;

– elementele definitorii ale vectorilor de deplasare implicita exacta ın vedereapermutarii blocurilor diagonale ale submatricei (4.202) sunt deplasarea µ = skk ıncazul ın care i = 1 si, respectiv, suma si produsul deplasarilor exacte σ = µ1+µ2 == skk + sk+1,k+1 si π = µ1µ2 = skksk+1,k+1 − sk+1,ksk,k+1 ın cazul ın care i = 2;dupa efectuarea unui pas dublu QR cu deplasare aleatoare, vectorii de deplasareexacta, ın cele doua cazuri, vor fi

wexact =

skk − µsk+1,k

0

si, respectiv,

wexact =

s2kk + sk,k+1sk+1,k − σskk + πsk+1,k(skk + sk+1,k+1 − σ)

sk+1,ksk+2,k+1

,

vezi (4.140), (4.152);– vom renunta la apelarea algoritmului QR2 si vom adapta ideile acestuia la

situatia concreta existenta; pentru aprecierea ca neglijabile a elementelor subdiago-nale vom utiliza toleranta tol, uzual de ordinul de marime al erorilor de reprezentare;

– actualizarea blocurilor nediagonale de pe bloc-liniile si bloc-coloanele afectate,conform relatiei (4.201), se va face utilizand elementele definitorii ale reflectorilorimplicati memorate ın tablourile de lucru V si b.

Cu convingerea ca pentru cititorul interesat nu va fi greu sa identifice ideilementionate mai sus, prezentam acest algoritm.

Algoritmul 4.17 (Pr – Permutarea a doua blocuri diagonale adi-acente) (Date o matrice S ∈ IRn×n ın forma Schur reala, matricea de

4.6. CALCULUL SUBSPATIILOR INVARIANTE 293

transformare initiala Q ∈ IRn×n, ıntregul k care marcheaza pozitia ele-mentului 11 al primului bloc diagonal, precum si ordinele i, j ∈ {1, 2}ale celor doua blocuri diagonale, algoritmul suprascrie matricea S cumatricea S′ = QTSQ care realizeaza permutarea blocurilor diagonalementionate si actualizeaza matricea de transformare Q.)

1. Daca i = 1 si j = 1 atunci

1. [S,Q ] = P11r(S,Q, k)

2. Return

2. Daca i = 1 si j = 2 atunci

1. l = k + 2

2. µ = skk

3. w = [ 1 1 1 ]T

4. [S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w)

5. Daca k > 1 atunci

1. S(1 : k − 1, k : l) = Hrd(S(1 : k − 1, k : l), V (:, 1), b(1))

2. S(1 : k − 1, k + 1 : l) == Hrd(S(1 : k − 1, k + 1 : l), V (1 : 2, 2), b(2))

6. Daca l < n atunci

1. S(k : l, l+ 1 : n) = Hrs(V (:, 1), b(1), S(k : l, l+ 1 : n))

2. S(k + 1 : l, l+ 1 : n) == Hrs(V (1 : 2, 2), b(2), S(k + 1 : l, l+ 1 : n))

7. Q(:, k : l) = Hrd(Q(:, k : l), V (:, 1), b(1))

8. Q(:, k + 1 : l) = Hrd(Q(:, k + 1 : l), V (1 : 2, 2), b(2))

9. Cat timp |sk+2,k+1| ≥ tol(|sk+1,k+1|+ |sk+2,k+2|)1. wexact = [ skk − µ sk+1,k 0 ]

T

2. [S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), wexact)

3. Daca k > 1 atunci

1. S(1 : k − 1, k : l) = Hrd(S(1 : k − 1, k : l), V (:, 1), b(1))

2. S(1 : k − 1, k + 1 : l) == Hrd(S(1 : k − 1, k + 1 : l), V (1 : 2, 2), b(2))

4. Daca l < n atunci

1. S(k : l, l+ 1 : n) = Hrs(V (:, 1), b(1), S(k : l, l+ 1 : n))

2. S(k + 1 : l, l+ 1 : n) == Hrs(V (1 : 2, 2), b(2), S(k + 1 : l, l+ 1 : n))

5. Q(:, k : l) = Hrd(Q(:, k : l), V (:, 1), b(1))

6. Q(:, k + 1 : l) = Hrd(Q(:, k + 1 : l), V (1 : 2, 2), b(2))

10. sk+2,k+1 = 0 % anularea efectiva a elementului neglijabil

11. Return

3. Daca i = 2 atunci

1. l = k + 1 + j

294 CAPITOLUL 4. VALORI SI VECTORI PROPRII

2. σ = skk + sk+1,k+1

3. π = skksk+1,k+1 − sk+1,ksk,k+1

4. w = [ 1 1 1 ]T

5. [S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), w)

6. Daca k > 1 atunci

1. Pentru q = 1 : i+ j − 2

1. S(1 : k − 1, k + q − 1 : k + q + 1) == Hrd(S(1 : k+ q− 1, k+ q− 1 : k+ q+1), V (:, q), b(q))

2. S(1 : k − 1, l− 1 : l) == Hrd(S(1 : k− 1, l− 1 : l), V (1 : 2, i+ j− 1), b(i+ j− 1))

7. Daca l < n atunci

1. Pentru q = 1 : i+ j − 2

1. S(k + q − 1 : k + q + 1, l+ 1 : n) == Hrs(V (:, q), b(q), S(k + q − 1 : k + q + 1, l+ 1 : n))

2. S(l − 1 : l, l+ 1 : n) == Hrs(V (1 : 2, i+ j − 1), b(i+ j − 1), S(l− 1 : l, l+1 : n))

8. Pentru q = 1 : i+ j − 2

1. Q(:, k + q − 1 : k + q + 1) == Hrd(Q(:, k + q − 1 : k + q + 1), V (:, q), b(q))

9. Q(:, l− 1 : l) == Hrd(Q(:, l − 1 : l), V (1 : 2, i+ j − 1), b(i+ j − 1))

10. r = k + j − 1

11. Cat timp |sr+1,r| ≥ tol(|sr,r|+ |sr+1,r+1|)

1. wexact =

s2kk + sk,k+1sk+1,k − σskk + πsk+1,k(skk + sk+1,k+1 − σ)

sk+1,ksk+2,k+1

2. [S(k : l, k : l), V, b ] = IT QR2(S(k : l, k : l), wexact)

3. Daca k > 1 atunci

1. Pentru q = 1 : i+ j − 21. S(1 : k − 1, k + q − 1 : k + q + 1) == Hrd(S(1 : k − 1, k + q − 1 : k + q + 1), V (:, q), b(q))

2. S(1 : k − 1, l− 1 : l) == Hrd(S(1 : k−1, l−1 : l), V (1 : 2, i+j−1), b(i+j−1))

4. Daca l < n atunci

1. Pentru q = 1 : i+ j − 21. S(k + q − 1 : k + q + 1, l+ 1 : n) == Hrs(V (:, q), b(q), S(k + q − 1 : k + q + 1, l+ 1 : n))

2. S(l − 1 : l, l+ 1 : n) == Hrs(V (1 : 2, i+j−1), b(i+j−1), S(l−1 : l, l+1 : n))

5. Pentru q = 1 : i+ j − 2

1. Q(:, k + q − 1 : k + q + 1) == Hrd(Q(:, k + q − 1 : k + q + 1), V (:, q), b(q))

4.6. CALCULUL SUBSPATIILOR INVARIANTE 295

6. Q(:, l−1: l) = Hrd(Q(:, l−1: l), V (1 :2, i+j−1), b(i+j−1))

12. sr+1,r = 0 % anularea efectiva a elementului neglijabil

13. Return

Comentarii. Sintaxa de apel naturala a algoritmului de mai sus este

[S,Q ] = Pr(S,Q, k, i, j, tol).

Numarul de operatii necesar depinde, evident, de tipul blocurilor permutate dar nudepinde de pozitia acestora. Asimptotic, ın toate cazurile complexitatea algoritmu-lui se ıncadreaza totusi ın categoria O(n). 3

Dispunand de procedura de mai sus, de permutare a doua blocuri diagonaleadiacente, algoritmul de ordonare a formei Schur reale este, ın esenta, identic cu celde ordonare a formei Schur complexe. Pentru un plus de claritate, facem, si aici,cateva precizari:

– structura blocurilor diagonale ale matricei S ın FSR va fi memorata ın vectorulstrbl, i.e. strbl(k), k = 1 : p, este ordinul blocului diagonal k al matricei S la mo-mentul curent al procesarii; structura initiala este unul din parametrii de intrare;

– pentru localizarea blocurilor diagonale ale matricei S vom utiliza vectorul lcblcare va contine pozitiile elementelor 11 ale acestora, i.e. lcbl(k), k = 1 : p, estelinia (si coloana) elementului 11 al blocului diagonal k al matricei S de la momentulcurent al procesarii.

Rezulta urmatorul algoritm.

Algoritmul 4.18 (FSR ORD – Ordonarea formei Schur reale)(Date o matrice S ∈ IRn×n ın forma Schur reala (4.199), matricea detransformare initiala Q ∈ IRn×n, numarul p al blocurilor diagonale,vectorul strbl ∈ INp al ordinelor blocurilor diagonale si permutareaπ = {i1, i2, . . . , ip}, algoritmul suprascrie matricea S cu matricea or-

togonal asemenea S′ = QTSQ avand s′ikik = skk si actualizeaza, ın modcorespunzator, matricea de transformare Q.)

1. Pentru k = 1 : (p− 1)

1. muta =’nu’

2. l = k

3. Pentru j = (k + 1) : n

1. Daca ij < il atunci

1. l = j

2. muta =’da’

4. Daca muta =’da’ atunci

1. Pentru j = (l − 1) : −1 : k

1. lcbl(1) = 1

2. Pentru i = 2 : j

1. lcbl(i) = lcbl(i− 1) + strbl(i− 1)

296 CAPITOLUL 4. VALORI SI VECTORI PROPRII

3. [S,Q ] = Pr(S,Q, lcbl(j), strbl(j), strbl(j + 1), tol)

4. ij ↔ ij+1

5. strbl(j)↔ strbl(j + 1)

Comentarii. Sintaxa de apel a algoritmului de mai sus este

[S,Q ] = FSR ORD(S,Q, p, strbl, π, tol).

La fel ca ın cazul complex, volumul de calcul necesar pentru ordonare este dictatesential de natura permutarii. In cazul cel mai defavorabil, cand permutarea este oinversiune si toate blocurile sunt 2× 2, se efectueaza 1

2p(p+1) permutari de blocuri2× 2 adiacente care conduc la o complexitate de O(n3).

In cazul ın care se prefera utilizarea permutarii inverse σ = π−1 = {j1, j2, . . . , jp}se poate utiliza o schema de calcul FSR ORD−1 , similara cu FSC ORD−1 ,prezentata ın comentariile la algoritmul 4.16.

Si aici, daca se urmareste exclusiv constructia unei baze unitare pentru unsubspatiu A-invariant asociat unui set simetric de valori proprii definite de k blocuridiagonale (k < p), este suficienta o ordonare partiala. Adaptarea algoritmului la

aceasta situatie este similara cu cea din cazul complex (vezi schema FSC ORD p ),

si este propusa ca exercitiu cititorului. 3

4.7 Forma bloc-diagonala

Forma Schur S a unei matrice reale sau complexe A, ımpreuna cu matricea orto-gonala sau unitara Q utilizata pentru obtinerea acesteia, joaca un rol fundamentalın rezolvarea multor probleme concrete care au o legatura mai mult sau mai putindirecta cu conceptele de valori si vectori proprii. Exista ınsa si probleme 36 ın careeste necesara o descompunere suplimentara a formei Schur, descompunere care saofere informatii structurale cu semnificatie mai profunda.

Precizam, de la ınceput, ca transformarile de asemanare unitare (ortogonale, ıncazul real) si-au epuizat potentele ın evidentierea formei Schur (ordonate) si oricealte transformari structurale suplimentare, cu conservarea spectrului, fac apel, ınmod necesar, la transformari de asemanare neunitare (neortogonale).

Posibilitatile de constructie a asa numitei forme bloc-diagonale a unei matricepatrate sunt intim conexate cu existenta si calculul solutiilor unor ecuatii matricealeSylvester asociate. De aceea, consacram paragraful urmator acestei probleme.

4.7.1 Ecuatia matriceala Sylvester

Consideram date matricele A ∈ ICm×m, B ∈ ICn×n si C ∈ ICm×n. Ecuatia matricealaliniara

AX −XB = C, (4.203)

36 Amintim, ın acest sens, problemele de descompunere spectrala a sistemelor dinamice liniareın care se urmareste obtinerea unor submatrice ”decuplate” cu spectre avand proprietati specifice.De asemenea, forma bloc diagonala este utila ın calculul functiilor de matrice.

4.7. FORMA BLOC-DIAGONALA 297

cu matricea necunoscutelor X ∈ ICm×n, se numeste ecuatie matriceala Sylvester37 si este echivalenta cu un sistem liniar determinat de mn ecuatii scalare cu mnnecunoscute 38.

Avand ın vedere structurarea matricei coeficientilor acestui sistem ın cele douamatrice de date A si B este interesant si util sa exprimam conditiile de existentasi unicitate ale solutiei ın raport cu aceste matrice si sa gasim metode specifice derezolvare.

Teorema de existenta si unicitate a solutiei are urmatorul enunt.

Teorema 4.16 Ecuatia Sylvester (4.203) admite o solutie X ∈ ICm×n si aceastasolutie este unic determinata daca si numai daca

λ(A) ∩ λ(B) = ∅ 39. (4.204)

Demonstratie. Fie formele Schur 40 S = UHAU si T = V HBV ale matricelor Asi B. Avem A = USUH si B = V TV H , expresii care, introduse ın (4.203), conducla ecuatia

USUHX −XV TV H = C, (4.205)

echivalenta, datorita nesingularitatii matricelor unitare U si V , cu ecuatia (4.203).Notand

Y = UHXV, C = UHCV, (4.206)

ecuatia (4.205) devineSY − Y T = C. (4.207)

Cu aceleasi argumente ca mai sus, ecuatia (4.203) admite o solutie X si aceastasolutie este unic determinata daca si numai daca ecuatia (4.207) admite o solutieY unic determinata. Dar ecuatia matriceala (4.207) poate fi scrisa sub forma unuisistem bloc-inferior triunghiular de mn ecuatii cu mn necunoscute. Intr-adevar,

37 Intr-un context sistemic, ecuatia (4.203) este cunoscuta sub denumirea de ecuatie Sylvester”continua”, context ın care ecuatia Sylvester ”discreta” are forma AXB −X = C.

38 Daca x ∈ ICmn si c ∈ ICmn sunt vectorii definiti, de exemplu, prin concatenarea, ın ordinea na-turala, a coloanelor matricelor X si, respectiv C, atunci sistemul de mn ecuatii si mn necunoscute(4.203) poate fi scris ”explicit” sub forma

(In ⊗ A+ BT ⊗ Im)x = c.

In relatia de mai sus ⊗ este operatorul pentru produsul Kronecker a doua matrice definit ın felul

urmator: daca M ∈ ICp×q si N ∈ ICr×s, atunci Pdef= M ⊗ N ∈ ICpr×qs este matricea avand

structura bloc P = [Pij ]i=1:p, j=1:q cu Pij = mijN .39 Daca (4.204) nu este satisfacuta, atunci ecuatia Sylvester (neomogena) (4.203) poate sa

admita sau sa nu admita solutii (alternativa lui Fredholm) ın raport cu matricea termenilor liberiC. Daca admite solutii, atunci solutia generala este de forma X = Xp + Xo, unde Xp este osolutie particulara a ecuatiei Sylvester neomogene (4.203), iar Xo este solutia generala a ecuatiei

omogene AX −XB = 0. In aceasta situatie, ecuatia omogena are solutia generala Xo dependentade N parametri arbitrari (sau, altfel spus, admite un sistem de N solutii liniar independente). AiciN =

∑p

i=1

∑q

l=1νil cu νil = min(mi, nl) unde mi si, respectiv, nl sunt ordinele celulelor Jordan

ale matricelor A si, respectiv, B care au aceeasi valoare proprie. Pentru detalii se poate consultareferinta [ I ].

40 Daca matricele A si B sunt reale atunci S si, respectiv, T sunt forme Schur complexe aleacestora.

298 CAPITOLUL 4. VALORI SI VECTORI PROPRII

avand ın vedere structura superior triunghiulara a matricelor S si T ecuatia (4.207)se poate scrie ”pe coloane” sub forma

Syj − Y tj = cj , j = 1 : n, (4.208)

unde yj = Y ej , tj = Tej = [ t1j t2j . . . tjj 0 . . . 0 ]T si cj = Cej . Prin urmare,

ecuatiile (4.208) devin

Syj −j∑

k=1

tkjyk = cj , j = 1 : n, (4.209)

care se scriu sub forma matriceala 41

S− t11Im 0 · · · 0−t12Im S− t22Im 0 0

......

. . ....

−t1nIm −t2nIm · · · S− tnnIm

y1y2...yn

=

c1c2...cn

. (4.210)

Acest sistem admite o solutie unica daca si numai daca matricea sistemului estenesingulara, i.e. daca si numai daca matricele S−tjjIm, j = 1 : n, sunt nesingulare,respectiv

sii − tjj 6= 0, i = 1 : m, j = 1 : n. (4.211)

Avand ın vedere faptul ca λ(A) = {s11, s22, . . . , smm} si λ(B) = {t11, t22, . . . , tnn}conditia (4.211) este echivalenta cu (4.204). Aceasta observatie ıncheie demonstratiateoremei. 3

Structura bloc-inferior triunghiulara a sistemului (4.210) ımpreuna cu structurasuperior triunghiulara a blocurilor diagonale fac ca rezolvarea sistemului (4.210) safie posibila prin rezolvarea sistemelor

(S − tjjIm)yj = cj +

j−1∑

k=1

tkjyk, j = 1 : n, (4.212)

ın ordinea j = 1, 2, . . . , n, necunoscutele scalare yij calculandu-se, ın ordinea i == n, n− 1, . . . , 2, 1, cu formula

yij =cij +

∑j−1k=1 yiktkj −

∑mk=i+1 sikykj

sii − tjj. (4.213)

Dupa calculul matricei Y , matricea necunoscuta initiala se determina din primarelatie (4.206) cu formula

X = UY V H . (4.214)

Valorificarea algoritmica a partii constructive a demonstratiei teoremei 4.16 ovom face ın doua etape. Mai ıntai vom prezenta un algoritm pentru rezolvareaunei ecuatii Sylvester ”triunghiulare” de tipul (4.207) care va fi apoi folosit ıntr-unalgoritm pentru rezolvarea ecuatiei Sylvester avand forma generala (4.203).

41 Vezi si una din notele de subsol precedente, referitoare la utilizarea produselor Kronecker.

4.7. FORMA BLOC-DIAGONALA 299

Algoritmul 4.19 (SYLVtri - Rezolvarea ecuatiei Sylvester triun-ghiulare) (Date matricele superior triunghiulare S ∈ ICm×m, T ∈ ICn×n

cu λ(A)∩λ(B) = ∅, precum si matricea C ∈ ICm×n, algoritmul calculeazasolutia Y ∈ ICm×n a ecuatiei Sylvester SY − Y T = C.

1. Pentru j = 1 : n

1. Daca j > 1 atunci

1. Pentru i = 1 : m

1. cij = cij +∑j−1

k=1 yiktkj .

2. Pentru i = m : −1 : 1

1. Daca i < m atunci

1. cij = cij −∑m

k=i+1 sikykj .

2. yij =cij

sii − tjj.

Comentarii. Sintaxa de apel a algoritmului 4.19 este

Y = SYLVtri(S, T, C).

Complexitatea algoritmului este O(n3) (sau O(m3)), numarul de flopi complecsi

fiind N(c)∗ = 1

4 (m2n +mn2) ınmultiri si N

(c)± = 1

4 (m2n +mn2) adunari si scaderi,

echivalat cu evaluarile uzuale la N = 2(m2n +mn2) flopi reali. In cazul real, evi-dent, Nop = 1

2 (m2n +mn2). Algoritmul fiind, ın esenta, o colectie de rezolvari de

sisteme triunghiulare are, cel putin ın parte, proprietatile algoritmilor de rezolvareale acestora. Se poate afirma ca daca spectrele matricelor S si T sunt bine ”sep-arate”, i.e. ın acest caz |sii − tjj | sunt suficient de mari, atunci algoritmul estenumeric stabil. Asupra conceptului de separare a spectrelor se va reveni, ıntr-uncontext mai general, ın sectiunea 4.10. 3

Algoritmul de rezolvare a ecuatiei Sylvester triunghiulare serveste ca baza, con-form celor aratate mai sus, pentru rezolvarea ecuatiei Sylvester generale. Avemurmatorul algoritm.

Algoritmul 4.20 (SYLVc - Rezolvarea ecuatiei matriceale Sylvestercomplexe) (Date matricele A ∈ ICm×m, B ∈ ICn×n, C ∈ ICm×n cu λ(A)∩∩λ(B) = ∅ si toleranta tol, algoritmul calculeaza solutia X ∈ ICm×n aecuatiei Sylvester continue AX − XB = C utilizand algoritmul QR1pentru reducerea matricelor A si B la forma Schur. Se presupune caalgoritmul QR1 se termina normal ın ambele cazuri.)

1. [S, U ] = QR1(A, Im, tol,′da′)

2. [T, V ] = QR1(B, In, tol,′da′)

3. C ← C = UHCV

4. Y = SYLVtri(S, T, C)

5. X = UY V H .

300 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Comentarii. Sintaxa de apel a algoritmului 4.20 este

X = SYLVc(A,B,C).

Complexitatea algoritmului este O(n3). Evident, efortul de calcul cel mai importantse consuma ın executia instructiunilor 1 si 2 de aducere la forma Schur a matricelorA, B si de acumulare a transformarilor (dar nici efortul pentru rezolvarea ecuatieiSylvester triunghiulare si efectuarea produselor matriceale nu poate fi neglijat).Daca numim, ad-hoc, metoda prezentata mai sus varianta Schur-Schur, din motivede asigurare a unei eficiente maxime, se impune analiza alternativelor ın care serenunta la aducerea la forma Schur a ambelor matrice A si B. Astfel, ın asa numitavarianta Hessenberg-Schur numai matricea B este adusa la forma Schur aparandurmatoarele diferente ın raport cu algoritmul 4.20 de mai sus:

– ın instructiunea 1 matricea A este adusa, printr-un algoritm de calcul direct(neiterativ) – algoritmul HQc – la forma superior Hessenberg; ın acest fel se evitafaza iterativa a algoritmului QR1;

– ın compensatie, la instructiunea 3, ın loc de rezolvarea unei ecuatii Sylvestertriunghiulare se rezolva o ecuatie Sylvester Hessenberg-triunghiulara, ceea ce pre-supune rezolvarea a n sisteme de tip Hessenberg, incluzand eliminare gaussiana cueventuala pivotare.

Evaluarile existente apreciaza ca varianta Hessenberg-Schur este cu 30 pana la80 procente mai eficienta. Scrierea explicita a algoritmului Hessenberg-Schur estepropusa cititorului ca exercitiu.

Evident, matricele S si T pot suprascrie matricele A si, respectiv, B dupa cummatricea Y a rezultatelor intermediare si solutia X pot suprascrie matricea C dars-a preferat scrierea de mai sus pentru claritatea prezentarii algoritmului. 3

In cazul uzual, ın care datele de intrare, i.e. matricele A, B si C, sunt realesolutia X este reala si toate calculele se pot efectua ıntr-o aritmetica reala. Pentruaceasta, ın locul formei Schur complexe se utilizeaza reducerea la forma Schur reala.Ne propunem mai ıntai sa rezolvam ecuatia Sylvester

SY − Y T = C, (4.215)

ın care matricele S ∈ IRm×m si T ∈ IRn×n au structuri cvasi-superior triunghiulare(i.e. cu blocurile diagonale de ordin cel mult 2)

S =

S11 S12 · · · S1p

0 S22 · · · S2p

......

. . ....

0 0 · · · Spp

, T =

T11 T12 · · · T1q0 T22 · · · T2q...

.... . .

...0 0 · · · Tqq

, (4.216)

iar C ∈ IRm×n. Algoritmul corespunzator acestei situatii structurale este cunoscutsub denumirea de algoritmul Bartels-Stewart [ 4 ].

Procedura urmareste cu fidelitate ideile din algoritmul 4.19, cu singura de-osebire ca ın locul unor scalari apar blocuri i × j cu i, j ∈ {1, 2}. Partitionammatricea necunoscutelor Y = [Yij ]i=1:p, j=1:q si matricea termenilor liberi C == [Cij ]i=1:p, j=1:q conform cu partitiile (4.216) ale matricelor S si T .

4.7. FORMA BLOC-DIAGONALA 301

In acest fel, corespondentele relatiilor (4.212) sunt ecuatiile bloc

SiiYij − YijTjj = Cij +

j−1∑

k=1

TkjYik −q∑

k=i+1

SikYkj i = 1 : p, j = 1 : q, (4.217)

i.e. ecuatii Sylvester avand matricele Sii si Tjj de dimensiuni 1× 1 sau 2× 2 care,scrise explicit, reprezinta sisteme liniare determinate de ordin 1, 2 sau 4. Termeniiliberi ai acestor sisteme, i.e. matricele din membrul drept al relatiilor (4.218), suntcalculabili daca rezolvarea acestor sisteme se face ın ordinea j = 1, 2, . . . , q, i == p, p− 1, . . . , 1.

Rezulta urmatorul algoritm.

Algoritmul 4.21 (BS – Algoritmul Bartels-Stewart) (Date ma-tricele cvasi-superior triunghiulare S ∈ IRm×m, B ∈ IRn×n cu blocurileindexate ca ın (4.216), astfel ıncat λ(S) ∩ λ(T ) = ∅ si matricea terme-nilor liberi C ∈ IRm×n, partitionata conform cu partitilile matricelorS si T , algoritmul calculeaza solutia Y ∈ IRm×n a ecuatiei SylvesterSY − Y T = C.)

1. Pentru j = 1 : q

1. Daca j > 1 atunci

1. Pentru i = 1 : p

1. Cij = Cij +∑j−1

k=1 YikTkj .

2. Pentru i = p : −1 : 1

1. Daca i < p atunci

1. Cij = Cij −∑p

k=i+1 SikYkj .

2. Se rezolva ecuatia Sylvester SiiYij − YijTjj = Cij (prinscrierea explicita si utilizarea, e.g. a eliminarii gaussiene)

Comentarii. Sintaxa de apel, cu care a algoritmul 4.21 va fi utilizat ın continuare,este

Y = BS(S, T, C).

Complexitatea algoritmului este O(n3), comparabila cu rezolvarea ecuatiei Sylvestertriunghiulare cu algoritmul 4.19. Concret numarul asimptotic de operatii aritmeticece se efectueaza este Nop = 1

2 (m2n +mn2). De asemenea, proprietatile numerice

sunt similare cu cele ale algoritmului 4.19, fiind dependente esential de nivelul deseparare al spectrelor celor doua matrice S si T . 3

Revenim la rezolvarea ecuatiei Sylvester (4.203) avand matricele de date A, Bsi C reale. Fie UTAU = S si V TBV = T formele Schur reale ale matricelor A,respectiv B, unde matricele U ∈ IRm×m si V ∈ IRn×n sunt ortogonale. IntroducandA = USUT si B = V TV T ın (4.203) obtinem ecuatia

SUTXV − UTXV T = UTCV, (4.218)

care poate fi scrisa ın forma (4.215)

SY − Y T = C, (4.219)

302 CAPITOLUL 4. VALORI SI VECTORI PROPRII

unde

Y = UTXV, C = UTCV. (4.220)

Dupa calculul matricei Y cu algoritmul Bartels-Stewart, matricea necunoscuta ini-tiala se determina cu relatia

X = UY V T . (4.221)

Obtinem urmatorul algoritm.

Algoritmul 4.22 (SYLVr – Rezolvarea ecuatiei Sylvester reale)(Date matricele A∈IRm×m, B∈IRn×n, C ∈ IRm×n, cu λ(A)∩λ(B) = ∅,si toleranta tol, algoritmul calculeaza solutia X ∈ IRm×n a ecuatieiSylvester continue AX −XB = C prin reducerea matricelor A si B laforma Schur reala cu algoritmul QR2 si utilizarea algoritmului Bartels-Stewart. Se presupune ca algoritmul QR2 se termina normal ın ambelecazuri.)

1. [S, U ] = QR2(A, Im, tol,′da′)

2. [T, V ] = QR2(A, In, tol,′da′)

3. C ← C = UTCV

4. Y = BS(S, T, C)

5. X = UY V T

Comentarii. Sintaxa de apel, cu care algoritmul 4.22 va fi utilizat ın continuare,este

X = SYLVr(A,B,C).

Pentru alte aspecte, cum sunt aprecierea complexitatii si memorarea economica,vezi comentariile de la algoritmul 4.20. 3

Observatia 4.7 Conditia (4.204), de existenta si unicitate a solutiei ecuatieiSylvester (4.203), sugereaza ideea ca solutia este cu atat mai ”robusta” cu catspectrele matricelor A si B sunt mai bine ”separate”. Masura separarii spectrelormatricelor A si B este data de scalarul

sep(A,B) = minV 6=0

‖AV − V B‖F‖V ‖F

(4.222)

(pentru mai multe detalii vezi § 4.10). Concret, se poate arata [ 54 ] ca solutia X aecuatiei Sylvester (4.203) satisface conditia

‖X‖F ≤‖C‖F

sep(A,B). (4.223)

Deci, daca separarea matricelor A si B este redusa, atunci este posibil ca normaFrobenius a solutiei sa fie mare. 3

4.7. FORMA BLOC-DIAGONALA 303

4.7.2 Descompunerea bloc-diagonala

Posibilitatea reducerii, prin transformari de asemanare, a unei matrice bloc-tri-unghiulare la o matrice bloc-diagonala are la baza urmatoarea lema.

Lema 4.5 Fie o matrice T ∈ ICn×n 2× 2 superior bloc-triunghiulara

T =

[T11 T120 T22

]

, T11 ∈ ICn1×n1 , T22 ∈ ICn2×n2 , n1 + n2 = n. (4.224)

Daca λ(T11) ∩ λ(T22) = ∅, atunci exista o matrice nesingulara X ∈ ICn×n avandstructura

X =

[In1

X12

0 In2

]

, (4.225)

astfel ıncat

D = X−1TX =

[T11 00 T22

]

. (4.226)

Demonstratie. Este simplu de constatat ca

X−1 =

[In1

−X12

0 In2

]

(4.227)

si, ın consecinta,

D = X−1TX =

[T11 T11X12 −X12T22 + T120 T22

]

. (4.228)

Conform teoremei 4.16, ın conditiile lemei, ecuatia matriceala Sylvester continua

T11X12 −X12T22 + T12 = 0 (4.229)

admite o solutie X12 unic determinata. Utilizand aceasta solutie ın definirea matri-cei X asertiunea lemei este probata evident. 3

Lema 4.5 se generalizeaza imediat ın urmatorul rezultat.

Teorema 4.17 Daca matricea T ∈ ICn×n are o structura q × q superior bloc-tri-unghiulara

T =

T11 T12 · · · T1q0 T22 · · · T2q...

.... . .

...0 0 · · · Tqq

, Tii ∈ ICni×ni ,

q∑

i=1

ni = n, (4.230)

si satisface conditiileλ(Tii) ∩ λ(Tjj) = ∅, ∀ i 6= j, (4.231)

atunci exista o matrice nesingulara X ∈ ICn×n avand structura

X =

In1X12 · · · X1q

0 In2· · · X2q

......

. . ....

0 0 · · · Inq

, (4.232)

304 CAPITOLUL 4. VALORI SI VECTORI PROPRII

astfel ıncat

D = X−1TX =

T11 0 · · · 00 T22 · · · 0...

.... . .

...0 0 · · · Tqq

. (4.233)

Demonstratie. Dovada se obtine imediat prin aplicarea repetata a lemei 4.5 pentrua proba existenta si pentru a calcula submatricele Xij care definesc matricea detransformare X . Procedura are q − 1 pasi.

Pasul 1◦. Fie partitia

T =

[T11 T120 T22

]

, unde T12 =[T12 · · · T1q

], T22 =

T22 · · · T2q...

. . ....

0 · · · Tqq

.

Din (4.231) rezulta λ(T11) ∩ λ(T22) = ∅. Prin urmare, conform lemei 4.5, transfor-marea definita de T ← T (1) = X−1

1 TX1 cu

X1 =

[

In1X12

0 In−n1

]

,

unde X12 este solutia ecuatiei Sylvester

T11X12 − X12T22 + T12 = 0

asigura anularea blocurilor extradiagonale de pe prima bloc-linie a matricei T .Pasul k◦. Presupunem ca la primii k − 1 pasi am realizat bloc-diagonalizarea

din primele bloc linii, i.e.

T ← T (k−1) = X−1k−1 · · ·X−1

2 X−11 TX1X2 · · ·Xk−1 =

T11 0 0

0 Tkk Tk,k+1

0 0 Tk+1,k+1

,

unde

T11 =

T11 · · · 0...

. . ....

0 · · · Tk−1,k−1

, Tk,k+1 =

[Tk,k+1 · · · Tkq

],

Tk+1,k+1 =

Tk+1,k+1 · · · Tk+1,q

.... . .

...0 · · · Tqq

.

Din aceleasi motive ca la pasul 1◦, daca Xk,k+1 este solutia ecuatiei Sylvester

TkkXk,k+1 − Xk,k+1Tk+1,k+1 + Tk,k+1 = 0, (4.234)

4.7. FORMA BLOC-DIAGONALA 305

atunci matriceaT ← T (k) = X−1

k T (k−1)Xk, (4.235)

unde

Xk =

In10 0

0 InkXk,k+1

0 0 In−n1−nk

, n1 =

k−1∑

i=1

ni, (4.236)

asigura anularea blocurilor extradiagonale de pe bloc-linia k. Prin urmare, proce-dura initiata la pasul 1◦ poate fi continuata astfel ıncat, dupa q − 1 pasi, matricea

T ← T (q−1) = X−1q−1 · · ·X−1

2 X−11 TX1X2 · · ·Xq−1 = X−1TX (4.237)

este bloc-diagonala, undeX = X1X2 · · ·Xq−1 (4.238)

este o matrice unitar bloc superior triunghiulara (ca produs de matrice unitar blocsuperior triunghiulare). Demonstratia este completa. 3

Conform demonstratiei de mai sus, schema de calcul pentru bloc-diagonalizareaunei matrice bloc superior triunghiulare 42, care satisface conditiile (4.231), esteurmatoarea:

1. X = In2. Pentru k = 1 : q − 1

1. Se calculeaza solutia Xk,k+1 a ecuatiei Sylvester (4.234).2. Se anuleaza blocurile extradiagonale de pe bloc-linia k pe baza

relatiei (4.235).3. X = XXk unde Xk este definita de (4.236).

Aceasta schema de calcul se poate detalia prin rezolvarea ecuatiei Sylvester (4.234)pe blocuri. Intr-adevar, fie partitia

Xk,k+1 =[Xk,k+1 · · · Xkq

],

conforma cu partitia lui Tk,k+1. Atunci ecuatia (4.234) se reduce la setul de ecuatiiSylvester

TkkXkj −XkjTjj =

j−1∑

l=k+1

XklTlj − Tkj , j = k + 1 : q, (4.239)

(unde, pentru j = k + 1 suma se considera nula) care pot fi rezolvate ın ordineaimpusa j = k + 1, k + 2, . . . , q. Acumularea transformarilor, se poate face si ea pemasura ce se calculeaza blocurile. Intrucat bloc-diagonalizarea urmeaza, de obicei,reducerii la forma bloc-triunghiulara si unei eventuale ordonari a blocurilor diago-nale (e.g. calculul formei Schur ordonate), pentru a nu reduce generalitatea vomconsidera ca matricea initiala de transformare este Q, posibil diferita de matriceaunitate. Astfel, acumularea transformarilor consta ın calculul Q← QX .

Rezulta urmatoarea schema de calcul.42 Pentru diagonalizarea matricelor bloc inferior triunghiulare se aplica aceasta procedura ma-

tricei transpuse, dupa care se transpune rezultatul.

306 CAPITOLUL 4. VALORI SI VECTORI PROPRII

BD 1. Pentru k = 1 : q − 11. Pentru j = k + 1 : q

1. Se rezolva ecuatia Sylvester TkkXkj −XkjTjj = −Tkj2. Tkj = 03. Daca k < q − 1 atunci

1. Pentru l = j + 1 : q1. Tkl = Tkl −XkjTjl

2. Pentru i = 1 : q1. Qij = Qij +QikXkj

Algoritmul de implementare al schemei de calcul BD arata astfel.

Algoritmul 4.23 (BDc – Diagonalizarea bloc a unei matrice blocsuperior triunghiulare) (Date matricea bloc superior triunghiulara T ∈∈ ICn×n, avand blocurile diagonale Tii ∈ ICni×ni , i = 1 : q, astfel ıncatλ(Tii)∩ λ(Tjj) = ∅, ∀ i 6= j, matricea de transformare initiala Q ∈ ICn×n

si vectorul nd = [n1 n2 . . . nq] al ordinelor blocurilor diagonale, algo-ritmul calculeaza matricea unitar bloc triunghiulara X ∈ ICm×n astfelıncat T ← X−1TX este bloc-diagonala T = diag(T11, T22, . . . , Tqq) siacumuleaza transformarile actualizand matricea Q: Q← QX . MatriceaX nu se formeaza explicit.)

1. r1 = 1

2. s1 = n1

3. Pentru k = 1 : q − 1

1. rk+1 = rk + nk

2. sk+1 = sk + nk+1

4. Pentru k = 1 : q − 1

1. Pentru j = k + 1 : q

1. Y = SYLV(T (rk :sk, rk :sk), T (rj :sj , rj :sj),−T (rk :sk, rj :sj))

2. T (rk :sk, rj :sj) = 0

3. Daca k < q − 1 atunci

1. Pentru l = j + 1 : q

1. T (rk :sk, rl :sl) = T (rk :sk, rl :sl)− Y T (rj :sj , rl :sl)4. Q( : , rj :sj) = Q( : , rj :sj) +Q( : , rk :sk)Y

Comentarii. Sintaxa de apel pentru algoritmul 4.23 este

[T,Q ] = BD(T,Q, nd).

Pentru simplificarea scrierii algoritmului s-au introdus vectorii de indici initiali (r)si finali (s) ai blocurilor, i.e. astfel ıncat Tij = T (ri : si, rj : sj). Intrucat matriceaX nu se formeaza explicit (ın afara cazului cand Q initial este In) pentru solutiileXkj ale ecuatiilor Sylvester s-a utilizat aceeasi variabila matriceala Y .

4.7. FORMA BLOC-DIAGONALA 307

Versiunea pentru date initiale reale – s-o numim BDr – este absolut simi-lara, singura diferenta constand ın utilizarea algoritmului SYLVr pentru rezolvareaecuatiilor Sylvester implicate.

Complexitatea algoritmului este O(n3) numarul concret de operatii fiind depen-dent de structura blocurilor diagonale. Daca blocurile diagonale sunt toate 1 × 1,atunci ın cazul real Nop = 2

3n3 flopi, iar ın cazul complex numarul echivalent de

flopi reali este de patru ori mai mare. 3

Observatia 4.8 In majoritatea aplicatiilor calitatea formei boc-diagonale calculatede algoritmul BD este apreciata prin conditionarea κ(X) = ‖X‖ ·‖X−1‖ a matriceide transformare X . Data o matrice T ın forma Schur (reala), se poate formulaproblema unei ordonari prealabile a acesteia si apoi a fixarii blocurilor diagonaleastfel ıncat sa se obtina o conditionare cat mai buna a matricei de transformareX . Consideram, spre exemplificare, cazul a numai doua blocuri diagonale. Dinstructura (4.225) si (4.227) a matricelor X si X−1 avem

κF (X) = ‖X‖F · ‖X−1‖F = n+ ‖X12‖2F .

Prin urmare, conditionarea matricei X este cu atat mai buna cu cat norma solutieiX12 a ecuatiei Sylvester (4.229) este mai mica, i.e. conform observatiei 4.7, sepa-rarea spectrelor blocurilor T11 si T22 este mai mare. Revenind la problema formulatamai sus, ordonarea formei Schur si fixarea blocurilor diagonale trebuie facuta astfelıncat spectrele blocurilor diagonale sa fie cat mai bine separate. 3

4.7.3 Aspecte numerice privitoare la calcululformei canonice Jordan

In cazul general, cea mai simpla structura care poate fi obtinuta, prin transformaride asemanare corespunzatoare, este asa numita forma canonica Jordan definita ınteorema urmatoare.

Teorema 4.18 Oricare ar fi matricea A ∈ ICn×n exista o matrice nesingulara T ∈∈ ICn×n astfel ıncat

J = T−1AT = diag(J1, J2, ... , Jq ), (4.240)

unde blocurile diagonale Jk se numesc celule Jordan si sunt fie scalari Jk = λk, fieau structura

Jk =

λk 1 · · · 0 0

0 λk. . . 0 0

......

. . .. . .

...0 0 · · · λk 10 0 · · · 0 λk

∈ ICnk×nk . (4.241)

Unei valori proprii multiple ıi pot corespunde una sau mai multe celule Jordan.Numarul si dimensiunile celulelor Jordan asociate fiecarei valori proprii sunt unicdeterminate, dar ordonarea blocurilor ın (4.240) poate fi arbitrara.

308 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Demonstratie. Demonstratii complete pot fi gasite ın lucrarile clasice de algebraliniara sau analiza matriceala, cum sunt, de exemplu, [ I ], [ II ]. 3

Desi forma canonica Jordan joaca un rol esential ın analiza matriceala, continandmaximum de informatie structurala privitor la o matrice data, totusi rolul ei ın cal-culul numeric este mult diminuat de sensibilitatea structurii Jordan la perturbatiinumerice ın elementele matricei initiale, perturbatii inerente datorita erorilor dereprezentare a informatiei numerice ıntr-un format virgula mobila. De asemenea,ıncercarile de a calcula forma canonica Jordan a unei matrice presupuse ca avando reprezentare exacta, ıntr-un mediu de calcul aproximativ, prezinta dificultati ma-jore datorita influentelor structurale, posibil decisive, ale erorilor de rotunjire. Dinpacate (sau din fericire) nu s-a putut degaja un concept de forma canonica Jordan”aproximativa” sau, mai bine zis, acest rol poate fi jucat de o structura diagonala,ıntrucat oricat de aproape (ın sensul unei norme matriceale consistente) de o ma-trice cu o structura Jordan oricat de complexa se gasesc matrice cu structura Jordancea mai simpla, i.e. diagonala.

Trebuie subliniat ınsa ca, practic ın toate aplicatiile, forma canonica Jordanpoate fi suplinita cu succes de catre forma Schur, al carei calcul se poate efectua cuo ınalta acuratete.

Privind acum determinarea formei canonice Jordan ca o provocare la adresacalculului numeric, ne propunem sa scoatem ın evidenta, la un nivel mai putinformal, natura dificultatilor ce apar ıntr-o astfel de ıntreprindere.

In primul rand este evident faptul ca o abordare procedurala naturala a construc-tiei formei canonice Jordan a unei matrice A ∈ ICn×n presupune ca o prima etapa,decisiva, calculul formei formei Schur ordonate si, pe aceasta baza, a formei bloc-diagonale (prezentate ın sectiunile precedente) ın care fiecare bloc diagonal core-spunde unei valori proprii distincte a matricei initiale si, prin urmare, are ordinuldat de multiplicitatea algebrica a valorii proprii respective. De asemenea, amintimca, ın cazul complex, blocurile diagonale sunt matrice superior triunghiulare.

In consecinta, problema se reduce, de fapt, la calculul formei canonice Jordan aunui bloc diagonal al formei bloc diagonale, i.e. a unei matrice (utilizam din nounotatiile generice) A ∈ ICn×n de forma

A = λIn +N, (4.242)

unde N ∈ ICn×n este o matrice strict superior triunghiulara. Mai mult, ıntrucatT−1AT = λIn + T−1NT , este suficient sa construim forma canonica Jordan amatricei strict superior triunghiulare N .

FieJ = T−1NT = diag(J1, J2, ... , Jq ), (4.243)

forma canonica Jordan a matricei N , unde celulele Jordan Jk sunt definite, ın acestcaz, de

Jk =

0 1 · · · 0 0

0 0. . . 0 0

......

. . .. . .

...0 0 · · · 0 10 0 · · · 0 0

∈ ICnk×nk . (4.244)

4.7. FORMA BLOC-DIAGONALA 309

O prima dificultate majora este determinarea ordinelor nk, k = 1 : q, ale celulelor.O modalitate de a face acest lucru pleaca de la urmatoarele observatii: a) J l

k = 0pentru toti l ≥ nk si b) dimKerJ l

k = l, pentru l < nk. Cum

J l = T−1N lT = diag(J l1, J

l2, ... , J

lq ), (4.245)

si

dimKerJ l = dimKerN l =

q∑

i=1

dimKerJ li , (4.246)

rezulta ca, daca putem calcula mldef= dimKerN l pentru l ∈ 1 : n 43, atunci dimen-

siunile ni ale celulelor Jordan pot fi determinate din (4.246) pe baza urmatoarelorconstatari:

a) numarul celulelor Jordan de ordin l sau mai mare este δl = ml − ml−1 (seconsidera m0 = 0), ıntrucat o data ce l a atins valoarea ni, J

li a devenit nula,

i.e. dimKerJ li a atins valoarea maxima ni si nu mai contribuie la variatia sumei la

trecerea la valoarea urmatoare a lui l;b) numarul celulelor Jordan de ordin l este dat de νl = δl − δl+1 (se considera

δlmax+1 = 0).

Exemplul 4.5 Fie n = 8 ordinul matricei strict superior triunghiulare N . Osituatie structurala posibila ce poate fi dedusa din determinarea dimKerN l, pentrutoate valorile de interes ale lui l, este rezumata ın tabelul 4.6. Deci structura Jordana matricei N are o celula scalara, doua celule de ordinul 2 si o celula de ordinul 3.3

l 1 2 3

ml = dimKerN l 4 7 8δl = ml −ml−1 4 3 1νl = δl − δl+1 1 2 1

Tabelul 4.6: Determinarea dimensiunii celulelor Jordan pentru o matrice strictsuperior triunghiulara de ordinul 8

Pentru aplicarea celor aratate mai sus este necesar un mijloc fiabil de deter-minare a dimensiunilor subspatiilor implicate sau, echivalent, de calcul al ranguluiunor matrice. Aici este de fapt punctul critic al procedurii, ıntrucat deciziile derang exact ıntr-un mediu de calcul aproximativ sunt dificile, daca nu imposibile,iar conceptul de rang numeric (i.e. ıntr-un sens, de rang aproximativ, v. cap. 5),singurul instrument de care putem dispune ın conditiile precizate, trebuie utilizatcu multa grija ıntr-o abordare structurala ın care structura este foarte sensibila lavariatiile elementelor.

43 Evident, este suficient sa ne rezumam la l ≤ s, unde s este cel mai mic ıntreg pentru careNs = 0.

310 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Pentru a ıncheia constructiv acest paragraf, vom considera ca fiind exact ran-gul oferit de instrumentele numerice existente si, pentru a apela la proceduri dejafamiliare cititorului, vom folosi ın acest scop triangularizarea unitara (ortogonala)completa 44 (v. cap. 3). Reamintim ca, data o matrice A ∈ ICm×n, procedura detriangularizare unitara completa presupune o triangularizare unitara cu pivotareacoloanelor care calculeaza matricea unitara Q ∈ ICm×m si matricea (ortogonala) depermutare P ∈ IRn×n astfel ıncat

QHAP = R =

[R11 R12

0 0

]

, R11 ∈ ICr×r, (4.247)

unde R11 este superior triunghiulara nesingulara (i.e. r este rangul matricei A),urmata de anularea blocului R12 printr-o transformare unitara (ortogonala) aplicatape dreapta, obtinandu-se

QHAPV = QHAZ = RV =

[R11 00 0

]

, Z = PV. (4.248)

In cele ce urmeaza, vom utiliza variante ale descompunerii (4.248) obtinute prinpermutari suplimentare ale blocurilor. In acest scop vom introduce sintaxa de apel

[R,Q,Z, r ] = QRCij(A),

unde ij marcheaza pozitia blocului triunghiular nesingular R11, indexat ın conti-nuare ın functie de necesitatile contextului. Subliniem ınca o data ca, desi rangulcalculat r este esential dependent de nivelul erorilor de calcul si al tolerantelorpracticate ın procesul de triangularizare, ın cele ce urmeaza acesta va fi consideratexact.

Trecem la constructia formei canonice Jordan a matricei strict superior tri-unghiulare (deci nilpotente) N ∈ ICn×n, si vom presupune N 6= 0 45. Esentaprocedurii de constructie a formei Jordan consta ın urmatoarele etape.

Etapa 1◦ rezida ın reducerea matricei N la o structura bloc supradiagonala.Pentru a obtine aceasta structura aplicam matricei N procedura de triangularizareunitara (ortogonala) completa [N1, Q1, Z1, r1 ] = QRC12(N). Rezulta

QH1 NZ1 = R =

m1=δ1︷︸︸︷

r1︷︸︸︷

[0 R1

0 0

]}r1}δ1 , (4.249)

cu R1 ∈ ICr1×r1 nesingulara si

m1 = dimKerN = n− r1 = δ1. (4.250)

44 Un mijloc mai bun de evaluare a rangului este descompunerea valorilor singulare, tratata ıncapitolul 5.

45 Daca N = 0, atunci ea se afla deja ın forma canonica Jordan cu n celule de ordinul 1.

4.7. FORMA BLOC-DIAGONALA 311

In continuare fie matricea N1, unitar asemenea cu N , definita de

N1 = ZH1 NZ1 = ZH

1 Q1R =

δ1︷︸︸︷

r1︷︸︸︷

[0 K1

0 L1

]}δ1}r1 , (4.251)

unde, evident, λ(L1) ⊂ λ(N), i.e. blocul L1 are toate valorile proprii nule, respectiveste nilpotent. Putem determina acumm2 = dimKerN2 = dimKerN2

1 . Intr-adevar,

m2 = dimKerN21 = dimKer

[0 K1L1

0 L21

]

=

= m1 + dimKer

[K1L1

L21

]

= m1 + dimKerL1, (4.252)

ıntrucat

[K1L1

L21

]

=

[K1

L1

]

L1, iar matricea

[K1

L1

]

este monica. Daca L1 = 0

se trece la etapa a doua. Daca L1 6= 0 continuam procesul initiat mai sus, prinaplicarea unor transformari similare matricei nilpotente L1, obtinand

N2 = ZH2 L1Z2 =

δ2︷︸︸︷

r2︷︸︸︷

[0 K2

0 L2

]}δ2}r2 , (4.253)

cu matricea L2 nilpotenta, matricea

[K2

L2

]

monica, m2 = m1 + δ2 si δ2 = r1 − r2.Considerand matricea de transformare unitara

Z2 =

[Im1

0

0 Z2

]

, (4.254)

obtinem

N2 = ZH2 N1Z2 = ZH

2 ZH1 NZ1Z2 =

0 K1Z2

00 K2

0 L2

=

δ1︷︸︸︷

δ2︷︸︸︷

r2︷︸︸︷

0 K12 K13

0 0 K23

0 0 L2

}δ1}δ2}r2

,

(4.255)

ın care matricele K12 si

[K23

L2

]

sunt monice. In aceasta faza putem anula blocul

K13 printr-o transformare de asemanare (neunitara) definita de o matrice de trans-formare de tipul

T2 =

[Iδ1 S0 Ir1

]

, (4.256)

312 CAPITOLUL 4. VALORI SI VECTORI PROPRII

unde S ∈ ICδ1×r1 este o solutie a ecuatiei matriceale 46

S

[K23

L2

]

= K13. (4.257)

Cu aceasta transformare rezulta

N2 = T−12 N2T2 = T−1

2 ZH2 Z

H1 NZ1Z2T2 =

δ1︷︸︸︷

δ2︷︸︸︷

r2︷︸︸︷

0 K12 00 0 K23

0 0 L2

}δ1}δ2}r2

, (4.258)

Acest proces se desfasoara ıntr-un numar s de pasi, unde s este primul ıntregpentru care Ls=0, obtinandu-se, ın finalul acestei etape, o matrice avand o structurabloc supradiagonala

K = Ns = T−1s ZH

s . . . T−12 ZH

2 ZH1 NZ1Z2T2 . . . ZsTs =

=

δ1︷︸︸︷

δ2︷︸︸︷

δ3︷︸︸︷ · · ·

δs︷︸︸︷

0 K12 0 · · · 00 0 K23 · · · 0...

.... . .

. . ....

0 0 0. . . Ks−1,s

0 0 0 · · · 0

}δ1}δ2...}δs−1

}δs

, (4.259)

cu toate blocurile Ki−1,i, i = 2 : s, monice. Din dimensiunile δl × δl ale blocurilordiagonale se pot deduce, dupa cum s-a aratat mai sus, numarul νl = δl − δl+1,l = 1 : s, al celulelor Jordan de ordinul l.

Etapa 2◦ are ca obiect introducerea zerourilor ın blocurile supradiagonaleKi−1,i.Pentru claritate, descriem modalitatea ın care acest obiectiv poate fi atins ın cazulparticular s = 3. Consideram descompunerea unitara completa a blocului K23

[ K23, Q23, Z23, δ3 ] = QRC21(K23), cu care obtinem

K23 = QH23K23Z23 =

[0R23

]}δ2 − δ3 = ν2}δ3 = ν3

, (4.260)

cu R23 ∈ ICν3×ν3 nesingulara. Acum, cu transformarea de asemanare definita dematricea

T23 =

Iδ1 0 00 Q23 00 0 Z23R

−123

, (4.261)

46 Ecuatia (4.257) are ıntotdeauna (cel putin) o solutie S ıntrucat matricea sistemului

[K23

L2

]

este monica. O solutie poate fi calculata cu mijloacele descrise ın capitolele 2 si 3. De exem-

plu, daca QH

[K23

L2

]

=

[R0

]

este triangularizarea unitara a matricei

[K23

L2

]

, atunci S =

=[R−1K13 Y

]QH , cu Y ∈ ICδ1×δ2 arbitrara, este o astfel de solutie. Pentru Y = 0 se obtine

solutia normala, i.e. de norma Frobenius minima.

4.7. FORMA BLOC-DIAGONALA 313

rezulta

M = T−123 KT23 =

0 K12Q23 0

0 0

[0ν2Iδ3

]

0 0 0

. (4.262)

Continuand ın acelasi mod, consideram descompunerea unitara completa a bloculuiK12 actualizat [ K12, Q12, Z12, δ2 ] = QRC21(K12Q23) si transformarea de asema-nare definita de matricea

T12 =

Q12 0 00 Z12R

−112 0

0 0 Iδ3

. (4.263)

Rezulta

M = T−112 MT12 =

0

[0ν1Iδ2

]

0

0 0

[0ν2Iδ3

]

0 0 0

. (4.264)

In cazul general, procesul descris mai sus, poate fi sintetizat ın urmatoareaschema de calcul.

Pentru i = s : −1 : 2

1. [ Ki−1,i, Qi−1,i, Zi−1,i, δi ] = QRC21(Ki−1,i)

2. Ki−1,i ←[

0νi−1

Iδi

]

3. Daca i > 2 atunci

1. Ki−2,i−1 ← Ki−2,i−1Qi−1,i.

Observatia 4.9 Punerea ın evidenta a matricelor unitate din structura creata cuschema de calcul are ın vedere obtinerea formei canonice Jordan uzuale. Tinandseama ınsa de faptul ca esenta structurala a formei Jordan rezida ın dimensiunilecelulelor Jordan, se poate oferi un plus de informatie daca ın locul matricelor unitatese lasa matricele diagonale construite cu elementele diagonale ale matricelor Ri−1,i

(sau cu valorile singulare (v. cap. 5) ale matricelor Ki−1,i curente). In acest felse poate pune ın evidenta o eventuala fragilitate numerica a unor celule datoratavalorilor ”prea mici” ale unora dintre elementele diagonale amintite. 3

Etapa 3◦ consta ın transformari de asemanare tip permutare pentru a puneın lumina celulele Jordan de dimensiuni corespunzatoare si pentru eventuala lorordonare. Lasam ın seama cititorului aceasta sarcina.

In concluzie, parcurgand cele trei etape, se obtine forma canonica Jordan J0 amatricei strict superior triunghiulare N . Forma canonica Jordan a matricei initialeA din (4.242) este J = λIn + J0.

Matricea nesingulara care defineste transformarea de asemanare ce evidentiazaforma canonica Jordan se obtine cumuland toate transformarile efectuate pe par-cursul procedurii.

Rezumand cele prezentate mai sus, avem urmatoarea schita a unei posibile pro-ceduri de calcul a formei canonice Jordan.

314 CAPITOLUL 4. VALORI SI VECTORI PROPRII

J 1. Se calculeaza forma Schur (complexa) utilizand algoritmul QR.2. Se ordoneaza forma Schur astfel ıncat valorile proprii apreciate

ca fiind egale sa fie grupate.3. Se calculeaza forma bloc-diagonala astfel ıncat fiecarui bloc sa-i

corespunda o valoare proprie distincta.4. Se calculeaza forma canonica Jordan a fiecarui bloc diagonal

conform indicatiilor din prezenta sectiune.

Subliniem ın final complexitatea sarcinii de a calcula forma canonica Jordan,dependenta critica a structurii obtinute de delicate decizii de rang ce trebuie luate lapasul 4, precum si posibile conditionari nesatisfacatoare sau instabilitati numericeın rezolvarea ecuatiilor matriceale Sylvester din pasul 3, mai ales ın situatia ıncare separarea valorilor proprii considerate distincte este insuficienta. De aceea,ın aplicatiile de calcul numeric, se evita utilizarea formei canonice Jordan. Asacum s-a precizat, din fericire, forma Schur, mult mai robusta, este suficienta pentrurezolvarea practic a tuturor problemelor de interes aplicativ.

4.8 Algoritmul QR simetric

Matricele reale simetrice A = AT ∈ IRn×n apar ın numeroase aplicatii specifice. Inparticular, problema generala a celor mai mici patrate presupune rezolvarea (maimult sau mai putin explicita a) sistemului normal de ecuatii a carui matrice estesimetrica. Mai mult, cazul simetric este important pentru calculul valorilor singulareale unei matrice, problema ce apare ın toate aplicatiile ce fac apel la conceptul derang matriceal.

Din punct de vedere procedural, exploatarea simetriei ın determinarea valorilorsi vectorilor proprii conduce la dezvoltari elegante si la importante simplificari alecalculelor. Algoritmul QR simetric ramane un instrument fundamental pentrucalculul ıntregului spectru al unei matrice simetrice. Totusi, spre deosebire de cazulgeneral, ın care algoritmul QR nu are rival, ın cazul simetric, ın situatii specifice,exista solutii alternative viabile, cele mai importante fiind prezentate ın § 4.9.

Sursa importantelor facilitati de calcul care apar ın cazul simetric se afla ınrezultatul fundamental dat de teorema 4.2 47, conform careia orice matrice simetricaA ∈ IRn×n este ortogonal diagonalizabila, i.e. exista o matrice ortogonala Q ∈IRn×n astfel ıncat

QTAQ = Λ = diag(λ1, λ2, . . . , λn), (4.265)

adica toate matricele simetrice reale sunt simple, au un spectru real λ(A) ∈ IR, iardirectiile proprii, definite de coloanele matricei Q din (4.265), sunt ortogonale douacate doua.

In continuare vom trece ın revista principalele aspecte ale algoritmului QR si-metric. Atat pentru acest algoritm, cat si pentru metodele alternative mentionate,

47 Rezultatele stabilite ın continuare pentru matricele reale simetrice raman valabile, cu miciadaptari, pentru matricele complexe A ∈ ICn×n hermitice. Formularea exacta a unor rezultatesi prezentarea aspectelor algoritmice specifice fac obiectul paragrafului § 4.8.5 precum si al unorexercitii.

4.8. ALGORITMUL QR SIMETRIC 315

se obtine un spor esential de eficienta prin parcurgerea prealabila a fazei directe a al-goritmului QR, i.e. reducerea matricei date la forma superior Hessenberg. Datoritaconservarii simetriei la transformarile ortogonale de asemanare, structura superiorHessenberg obtinuta este, simultan, inferior Hessenberg, i.e. devine o structuratridiagonala.

4.8.1 Reducerea la forma tridiagonala

Baza teoretica a posibilitatii de reducere la forma tridiagonala a unei matrice si-metrice este data de teorema 4.14, care, ın noul context, are urmatorul enunt.

Teorema 4.19 Oricare ar fi matricea simetrica A ∈ IRn×n, exista o matrice orto-gonala Q ∈ IRn×n astfel ıncat matricea

T = QTAQ (4.266)

este tridiagonala, i.e. tij = 0, pentru toti i, j, cu |i− j| > 1.

Demonstratie. Demonstratia se reduce la observatia de mai sus ca, ın conformitate

cu teorema 4.14, exista o matrice ortogonala Q astfel ıncat matricea Tnot= H =

= QTAQ este superior Hessenberg si la faptul ca aceasta matrice este simetricaT T = QTATQ = QTAQ = T . Prin urmare T este, simultan, inferior Hessenberg,i.e. este o matrice tridiagonala. 3

Pentru a elabora un algoritm performant, care sa exploateze eventualele facilitaticalculatorii induse de conservarea simetriei, reamintim schema de calcul care sta labaza reducerii la forma Hessenberg, aceeasi cu schema de calcul pentru reducereala forma tridiagonala.

TQ 1. Pentru k = 1 : n− 2

1. Se calculeaza un reflector elementar Uk+1 astfel ıncat(Uk+1A)(k + 2 : n, k) = 0.

2. A← (Uk+1A)Uk+1 % Se anuleaza A(k + 2 : n, k) si, simultan,datorita conservarii simetriei, se anuleazaA(k, k + 2 : n).

In urma efectuarii calculelor de mai sus matricea A este suprascrisa cu matricea

A← T = QTAQ = Un−1 · · ·U3U2AU2U3 · · ·Un−1, (4.267)

unde, evident,Q = U2U3 . . . Un−1. (4.268)

Consideram acum pasul curent k al procesului de tridiagonalizare descris mai sussi fie

A← T (k) = Uk · · ·U3U2AU2U3 · · ·Uk =

k−1︷︸︸︷

1︷︸︸︷

n−k︷︸︸︷

T(k)11 T

(k)12 0

T(k)21 T

(k)22 T

(k)23

0 T(k)32 T

(k)33

}k − 1

}1}n− k

(4.269)

316 CAPITOLUL 4. VALORI SI VECTORI PROPRII

matricea obtinuta dupa primii k− 1 pasi, partitionata convenabil, ın care T(k)11 este

tridiagonala, simetrica, iar

T(k)21 = (T

(k)12 )

T= [ 0 0 · · · 0 t

(k)k,k−1 ].

Avand ın vedere faptul ca reflectorul elementar Uk+1 are structura

Uk+1 =

[Ik 00 Uk+1

]

, (4.270)

unde

Uk+1 = In−k −uk+1u

Tk+1

βk+1, uk+1 ∈ IRn−k, (4.271)

este un reflector elementar de ordin n − k si indice 1, transformarile efectuate lapasul k au ca efect

A← T (k+1) = Uk+1T(k)Uk+1 =

T(k)11 T

(k)12 0

T(k)21 T

(k)22 T

(k)23 Uk+1

0 Uk+1T(k)32 Uk+1T

(k)33 Uk+1

. (4.272)

Cum

T(k)23 Uk+1 = (Uk+1T

(k)32 )

T= [−σ 0 0 · · · 0 ],

cu σ = sgn(T(k)32 (1, 1))‖T (k)

32 ‖ 48, ramane sa efectuam ın mod eficient calculul ma-tricei simetrice

A(k + 1 : n, k + 1 : n)← T(k+1)33 = Uk+1T

(k)33 Uk+1. (4.273)

Consideram necesar sa precizam aici faptul ca performantele deosebite privindmemoria utilizata si eficienta calculatorie din cazul simetric se datoresc unei ju-dicioase exploatari a proprietatii de simetrie. Astfel, o memorare economica a uneimatrice simetrice se face retinand numai elementele din triunghiul sau inferior sausuperior. De asemenea, cand se cunoaste faptul ca rezultatul unei procesari esteo matrice simetrica, se calculeaza, evident, numai elementele sale din triunghiulinferior sau superior.

In consecinta, ın (4.273) vom calcula, de exemplu, numai elementele din tri-

unghiul inferior al matricei T(k+1)33 . De asemenea, tinand seama de (4.271) si notand,

pentru simplificarea scrierii,

uk+1not= u, β

not= βk+1,

relatia (4.273) devine

T(k+1)33 = (In−k −

uuT

β)T

(k)33 (In−k −

uuT

β) =

48 Pentru calculul reflectorilor si semnificatia notatiilor utilizate, vezi capitolul 3.

4.8. ALGORITMUL QR SIMETRIC 317

= T(k)33 −

uuT

βT

(k)33 − T

(k)33

uuT

β+uuTT

(k)33 uu

T

β2. (4.274)

Notand

v =T

(k)33 u

β∈ IRn−k (4.275)

obtinem

T(k+1)33 = T

(k)33 −uvT−vuT+

uuT vuT

β= T

(k)33 −u(vT−

uTv

2βuT )−(v− u

Tv

2βu)uT. (4.276)

Introducand acum notatia

w = v − uT v

2βu, (4.277)

(4.276) devine

T(k+1)33 = T

(k)33 − uwT − wuT , (4.278)

relatie care, ımpreuna cu (4.275) si (4.277), va fi folosita pentru calculul triunghiului

inferior al matricei A(k + 1 : n, k + 1 : n)←− T (k+1)33 = Uk+1T

(k)33 Uk+1.

Forma tridiagonala simetrica obtinuta constituie punctul de plecare pentru di-verse tehnici iterative de calcul a valorilor proprii. De aceea, ın cele ce urmeaza,vom considera ca matricea tridiagonala A ← T = T T ∈ IRn×n este memorata nu-mai prin elementele sale semnificative, date de componentele vectorilor f ∈ IRn sig ∈ IRn−1 conform scrierii

A← T =

f1 g1 0 · · · 0 0g1 f2 g2 · · · 0 0

0 g2 f3. . . 0 0

......

. . .. . .

. . ....

0 0 0. . . fn−1 gn−1

0 0 0 0 gn−1 fn

. (4.279)

Aplicarea ideilor mentionate mai sus conduce la urmatorul algoritm.

Algoritmul 4.24 (TQ– Reducerea la forma tridiagonala)(Date matricea simetrica A ∈ IRn×n si matricea de transformare initialaQ ∈ IRn×n, algoritmul calculeaza secventa de reflectori U2, U3, · · · , Un−1

astfel ıncat matriceaA← T = Un−1 · · ·U3U2AU2U3 · · ·Un−1 are o struc-tura tridiagonala. Se considera ca A este data numai prin triunghiul sauinferior ın care sunt efectuate calculele curente. Algoritmul extrage vec-torii f ∈ IRn si g ∈ IRn−1, conform (4.279), care definesc matriceatridiagonala rezultata. Optional se actualizeaza matricea de transfor-mare Q← QU2U3 · · ·Un−1. Optiunea se exprima prin intermediul uneivariabile logice opt, de tipul sir de caractere, care poate lua valorile’da’ sau ’nu’. Daca nu se doreste actualizarea, matricea Q ramanenemodificata.)

318 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. Pentru k = 1 : n− 2

1. % Calculul reflectorului elementar Uk+1

1. [A(k + 1 : n, k), u, β ] = Hr(A(k + 1 : n, k))

2. % Calculul A← (Uk+1A)Uk+1 numai ın triunghiul inferior

1. Pentru i = 1 : n− k − 1

1. l = k + i

2. vi=A(l, k+1: l)u(1 : i) +A(l+1: n, l)u(i+1: n−k)

β

2. vn−k =A(n, k + 1 : n) u

β

3. ρ =uT v

2β4. w = v − ρu5. Pentru j = 1 : n− k

1. Pentru i = j : n− k1. A(k + i, k + j)← A(k + i, k + j)− uiwj − wiuj

3. % Acumularea transformarilor

1. Daca opt = ′da′ atunci

1. Q(:, k + 1 : n) = Hrd(Q(:, k + 1 : n), u, β)

2. % Extragerea vectorilor f si g

1. f1 = A(1, 1)

2. Pentru i = 1 : n− 1

1. gi = A(i+ 1, i)

2. fi+1 = A(i+ 1, i+ 1).

Comentarii. Sintaxa de apel a algoritmului TQ va fi

[ f, g,Q ] = TQ(A,Q, opt).

Utilizarea relatiei de calcul (4.276) reduce efortul de calcul la mai putin de jumatateın raport cu cazul nesimetric. Intr-adevar, calculul vectorilor v si w la pasul curentk necesita N1(k) ≈ (n− k)2 flopi si, respectiv N2(k) ≈ (n− k) flopi. Cum de-terminarea elementelor definitorii ale reflectorilor necesita, de asemenea, N3(k) ≈≈ (n− k) flopi, rezulta ca numarul asimptotic de flopi necesari pentru calculultridiagonalizarii este

Nop ≈n−2∑

k=1

N1(k) ≈2

3n3,

fata de 53n

3 flopi necesari pentru reducerea la forma superior Hessenberg ın cazulnesimetric. Acumularea transformarilor, i.e. calculul explicit al matricei de trans-formare Q din (4.274), implica efectuarea a N ′

op ≈ 23n

3 flopi suplimentari 49. Volu-

49 Daca matricea Q initiala este In, se poate obtine o reducere a numarului de operatii ın calcululacumularii transformarilor daca se memoreaza (economic) elementele definitorii ale reflectorilor siacumularea se face ın afara ciclului principal, ın ordine inversa, cu exploatarea structurii de zerouria matricei Q curente.

4.8. ALGORITMUL QR SIMETRIC 319

mul de memorie este M ≈ 3n2/2 locatii, necesar pentru memorarea elementelortriunghiului inferior al matricei A si a elementelor matricei Q 50.

Algoritmul TQ este numeric stabil, i.e. matricea tridiagonala calculata ıntr-oaritmetica ın virgula mobila este o matrice exact ortogonal asemenea cu o ma-trice usor perturbata A + E, unde matricea de perturbatie E satisface conditia‖E‖ ≤ p(n)εM‖A‖, cu p(n) o functie cu crestere ”modesta” de dimensiunea n aproblemei. 3

Observatia 4.10 Spre deosebire de cazul nesimetric ın care reducerea la formasuperior Hessenberg se putea face, suficient de performant, si prin transformaride asemanare neortogonale, aici astfel de transformari altereaza simetria si, prinurmare, nu sunt recomandate. 3

4.8.2 Faza iterativa a algoritmului QR simetric

Etapa iterativa a algoritmului QR simetric beneficiaza de importante simplificaricalculatorii care se datoreaza, ın principal, conservarii simetriei matricei initiale latransformari ortogonale de asemanare si constau ın:

– conservarea structurii tridiagonale la transformarile implicate de iteratiileQR; ın consecinta toate transformarile aferente sirului QR se pot desfasura ınlocatiile de memorie ale vectorului f al elementelor diagonale si ale vectorului g alelementelor subdiagonale ale matricei tridiagonale curente (v. (4.279));

– valorile proprii ale unei matrice simetrice reale fiind reale nu sunt necesaredeplasari complexe si, prin urmare, nu este necesara strategia pasilor dubli.

Vom folosi aceste observatii ın vederea elaborarii unui algoritm QR simetric catmai performant.

A. Algoritmul QR simetric cu deplasare explicita

Presupunem matricea simetrica tridiagonala T ∈ IRn×n data prin vectorii f si g din(4.279). Pentru claritatea expunerii vom utiliza si indexarea obisnuita a elementelormatricei T urmand ca algoritmul sa fie scris exclusiv ın raport cu elementele vecto-rilor f si g.

Algoritmul QR simetric cu deplasare explicita construieste un sir de matricetridiagonale, ortogonal asemenea

T = T1, T2, · · · , Tk, Tk+1, · · · (4.280)

pe baza relatiei de recurenta{T − µIn = QRT ← T ′ = RQ+ µIn

, (4.281)

unde T semnifica matricea curenta din sirul (4.280), iar indicele superior ′ mar-cheaza matricea succesor. Deplasarea µ se poate alege ca ın cazul nesimetric

µ = tnn = fn (4.282)

50 Asiguram cititorul ca unele licente minore, cum este utilizarea explicita a doi vectori (v siw) cand sunt suficiente locatiile de memorie ale unuia singur, servesc exclusiv claritatii prezentariialgoritmului.

320 CAPITOLUL 4. VALORI SI VECTORI PROPRII

sau, si mai eficient, egala cu valoarea proprie, ıntotdeauna reala, cea mai apropiatade tnn, a blocului 2× 2 din coltul din dreapta jos al matricei curente T

T (n− 1 : n, n− 1 : n) =

[fn−1 gn−1

gn−1 fn

]

. (4.283)

Deplasarea din cea de a doua varianta, numita deplasare Wilkinson, are expresia(verificati!)

µ =1

2(fn−1 + fn − sgn(fn−1 − fn)

(fn−1 − fn)2 + 4g2n−1 ) (4.284)

si se calculeaza economic si fiabil cu relatiile

α =fn−1 − fn

2, β = g2n−1, µ = fn −

β

α+ (sgnα)√

α2 + β. (4.285)

Se poate arata [ VI ] ca, pentru oricare din deplasarile (4.282) sau (4.284), ın partea”finala” a procesului iterativ se obtine o convergenta cubica a sirului QR simetric(4.280) catre o structura diagonala. Exista, totusi, unele argumente de naturaeuristica ın favoarea deplasarii Wilkinson.

Avandu-se ın vedere structura tridiagonala a tuturor matricelor sirului QR si-metric (4.280), pentru factorizarea QR din (4.281) se recomanda utilizarea rotatiilor.Este usor de constatat ca matricea superior triunghiulara R a acestei factorizari vaavea numai doua supradiagonale nenule. Mai mult, pentru necesitatile de calcul alematricei succesor, conform (4.281), cea de a doua supradiagonala nici nu trebuiecalculata. In consecinta, pentru memorarea elementelor utile sunt suficienti doivectori de dimensiuni n si n− 1 care pot fi vectorul f al elementelor diagonale alematricei T si un vector suplimentar pe care ıl notam cu h. Cu aceste precizari, unpas simplu QR simetric cu deplasare explicita (fara acumularea transformarilor)consta ın efectuarea urmatoarelor calcule.

Algoritmul 4.25 (IT QRsim – Un pas QR simetric cu deplasareWilkinson explicita) (Data o matrice simetrica tridiagonala ireductibilaT ∈ IRn×n prin vectorul f ∈ IRn al elementelor diagonale si vectorulg ∈ IRn−1 al elementelor subdiagonale, algoritmul calculeaza vectoriidefinitorii f si g ai matricei succesor din sirul QR simetric. Toatecalculele se efectueaza pe loc, ın locatiile de memorie ale elementelorvectorilor f si g. Algoritmul furnizeaza, de asemenea, vectorii c si s aleelementelor ce definesc rotatiile utilizate.)

1. % Calculul deplasarii Wilkinson

1. α =fn−1 − fn

2, β = g2n−1, µ = fn −

β

α+ (sgnα)√

α2 + β

2. % T ← T − µIn1. Pentru i = 1 : n

1. fi ← fi − µ

4.8. ALGORITMUL QR SIMETRIC 321

3. % Calculul factorizarii QR a matricei T fara calculul explicit almatricei Q.

1. h1 = g1

2. Pentru i = 1 : n− 1

1. [

[figi

]

, ci, si ] = Gr(

[figi

]

)

2. τ = hi

3. hi = cihi − sifi+1

4. fi+1 = siτ + cifi+1

5. Daca i < n− 1

1. hi+1 = cigi+1

4. % Calculul produsului RQ

1. Pentru i = 1 : n− 1

1. fi = cifi − sihi2. gi = −sifi+1

3. fi+1 = cifi+1

5. % T ← T + µIn

1. Pentru i = 1 : n

1. fi ← fi + µ

Comentarii. Pentru apelul algoritmului de implementare a unui pas QR simetriccu deplasare explicita vom utiliza sintaxa

[ f, g, c, s ] = IT QRsim(f, g).

Matricea de transformare curenta este data de

Q = P12P23 · · ·Pn−1,n, (4.286)

algoritmul furnizand elementele definitorii pentru cele n− 1 rotatii utilizate pentruo eventuala acumulare a transformarilor (care se face numai ın caz de necesitate).In forma de mai sus, executia unui pas QR simetric cu deplasare explicita necesitaun numar Nop ≈ 20n flopi la care se adauga n− 1 extrageri de radical. 3

Exemplul 4.6 Consideram matricea tridiagonala simetrica

T =

1 1 01 2 10 1 1

definita de vectorii f = [ 1 2 1 ]T si g = [ 1 1 ]T si avand valorile proprii exacteλ(T ) = { 0, 1, 3 }. Iterarea bruta (i.e. fara supravegherea si anularea elementelorneglijabile) a algoritmului IT QRsim conduce la evolutia elementelor vectorilorg si f prezentata ın tabelele 4.7 si 4.8. Se confirma anularea rapida a ultimului

322 CAPITOLUL 4. VALORI SI VECTORI PROPRII

k g(k)1 g

(k)2

0 1.00000000000000 1.000000000000001 0.85065080835204 −0.525731112119132 0.25379174838439 0.067110705175303 0.08564664424607 −0.000006295417174 0.02859558021545 0.000000000000005 0.00953359280112 −0.000000000000006 0.00317792845516 0.000000000000007 0.00105931186244 0...

......

10 0.00003923378367 0...

......

15 0.00000016145590 0...

......

25 0.00000000000273 0

Tabelul 4.7: Date numerice privind evolutia elementelor vectorului g din exemplul4.5.

k f(k)1 f

(k)2 f

(k)3

0 1.00000000000000 2.00000000000000 1.000000000000001 2.61803398874990 1.00000000000000 0.381966011250112 2.96739091997935 1.02821618974253 0.004474718259543 2.99632557546692 1.00367442449350 0.000000000039584 2.99959106278125 1.00040893721875 0.000000000000005 2.99995455427149 1.00004544572851 0.00000000000000...

......

...10 2.99999999923036 1.00000000076964 0.00000000000000...

......

...15 2.99999999999999 1.00000000000001 0.0000000000000016 3.00000000000000 1.00000000000000 0.00000000000000...

......

...25 3.00000000000000 1.00000000000000 0.00000000000000

Tabelul 4.8: Date numerice privind evolutia elementelor vectorului f din exemplul4.5.

4.8. ALGORITMUL QR SIMETRIC 323

element al vectorului g (convergenta cubica!) si evolutia ıntregii matrice T catre ostructura diagonala. 3

La fel ca si ın cazul nesimetric, diminuarea modulului elementelor vectorului gare loc are loc mai rapid la cele doua ”capete” (cel mai rapid ın zona terminala,vezi tabelul 4.7). In cadrul unui algoritm global, iterarea schemei de calcul de maisus se completeaza cu anularea efectiva a elementelor extradiagonale ale matriceicurente T , i.e. ale vectorului g, atunci cand acestea devin inferioare, ın modul, uneitolerante precizate. Prin urmare, pasul QR simetric de mai sus se ajusteaza ladimensiunea curenta a problemei, pe masura ce se pun ın evidenta valorile propriicalculate. O modalitate concreta de gestionare a valorilor proprii calculate va fiprezentata ın cadrul algoritmului QR simetric cu deplasare implicita. Un algoritmde calcul, bazat pe iterarea pasului QR simetric de mai sus, se termina, evident, ınmomentul ın care toate elementele vectorului g au fost declarate nule.

B. Un pas QR simetric cu deplasare implicita

Consideram important sa subliniem de la ınceput faptul ca, spre deosebire de cazulreal nesimetric, aici utilizarea variantei cu deplasare implicita nu aduce un spor deeficienta fata de varianta cu deplasare explicita, astfel ıncat preferinta pentru de-plasarea implicita poate fi justificata numai prin dorinta asigurarii unei omogenitatia tratarii tuturor problemelor de calcul al valorilor proprii ale matricelor reale.

Varianta cu deplasare implicita a algoritmului QR simetric are la baza teorema4.15 conform careia transformarea ortogonala de asemanare definita de un pas QRsimetric cu deplasare explicita pentru o matrice tridiagonala ireductibila (i.e. cutoate elementele subdiagonale nenule)

T ← T ′ = QTTQ (4.287)

este esential determinata, ın sensul observatiei 4.6, de prima coloana a matriceide transformare Q. Similar cazului deplasarii explicite, vom considera matriceaortogonala de transformare Q sub forma secventei de rotatii plane (4.286). IntrucatPj,j+1e1 = e1, j = 2 : n − 1, prima coloana a matricei Q este prima coloana amatricei P12, i.e.

q1 = Qe1 = P12e1 =

c1−s10...0

. (4.288)

La fel ca ın cazul nesimetric, un pas QR simetric cu deplasare implicita va constadin urmatoarele transformari.

1. Se calculeaza prima coloana q1 a matricei de transformare Q dinpasul QR simetric cu deplasare explicita.

2. Se determina rotatia P12 ce satisface (4.288).

3. Se calculeaza matricea T ← PT12TP12 ın care este alterata structura

tridiagonala ın pozitiile (3, 1) si (1, 3) dar se conserva simetria.

324 CAPITOLUL 4. VALORI SI VECTORI PROPRII

4. Se reface structura tridiagonala prin transformari ortogonale deasemanare utilizand o secventa de rotatii plane (o adaptare a algo-ritmului de tridiagonalizare TQ).

In acest fel, se obtine o matrice succesor ortogonal asemenea cu matricea initiala,tridiagonala, simetrica si cu prima coloana a matricei de transformare identica cuprima coloana a matricei de transformare din cadrul pasului QR simetric cu de-plasare explicita. Asa cum am mentionat mai sus, conform teoremei 4.15, dacamatricea T este ireductibila, i.e. vectorul g are toate elementele nenule, atunci ma-tricea succesor T ← T ′ este aceeasi (v. obs. 4.6) cu matricea succesor din cadrulpasului QR cu deplasare explicita.

Pentru a scrie efectiv algoritmul, vom aduce unele precizari privitoare la puncteledin schema de calcul de mai sus.

1. Daca vectorul g are toate elementele nenule, atunci deplasarea µ data derelatia (4.284) nu este valoare proprie a lui T (demonstrati!) si, prin urmare, ma-tricea T −µIn si matricea superior triunghiulara R din (4.281) sunt nesingulare. Inconsecinta, din egalarea primelor coloane ale primei relatii din (4.281), obtinem

q1 =1

r11

t11 − µt210...0

=1

r11

f1 − µg10...0

. (4.289)

Numim, si aici, vectorul

w =

[f1 − µg1

]

∈ IR2 (4.290)

vector de deplasare implicita aferent unui pas simplu QR simetric.

2. Din (4.288) si (4.290) rezulta ca elementele definitorii c1 si s1 ale rotatiei P12

pot fi furnizate de functia Gr (vezi tabelul 4.3) aplicata vectorului w.

3. Se vede imediat ca (PT12TP12)(3, 1) = (PT

12TP12)(1, 3) = −s1g2 6= 0, i.e.aplicarea transformarii ortogonale definite de P12 altereaza structura tridiagonalaa matricei T ın pozitiile mentionate.

4. Pentru refacerea structurii tridiagonale - un invariant al sirului QR simetric- se aplica algoritmul TQ adaptat corespunzator pentru asigurarea unei eficientemaxime. Concret, se utilizeaza o secventa de rotatii care elimina elementele nenuledin afara structurii tridiagonale prin deplasarea lor de-a lungul unor trasee paralelecu diagonala principala conform urmatoarei scheme de calcul.

1. Pentru k = 2 : n− 11. Se calculeaza rotatia Pk,k+1 astfel ıncat (PT

k,k+1T )(k + 1, k − 1) = 0.

2. T ← PTk,k+1T % Se anuleaza elementul (k+1, k−1) si se altereaza

(pentru k < n−1) zeroul din pozitia (k, k+2).3. T ← TPk,k+1 % Se anuleaza automat (datorita simetriei) elemen-

tul (k − 1, k + 1) si se altereaza (pentru k < n−1)zeroul din pozitia (k+2, k).

4.8. ALGORITMUL QR SIMETRIC 325

Pentru exemplificare prezentam evolutia structurala a matricei T ın cazuln=5. La fel ca ın diagramele structurale precedente, si aici semnul ”+” marcheazaelementul nul alterat iar ”∅” elementul anulat la pasul curent. Incadrarile indicaliniile sau coloanele afectate la pasul curent.

T←PT12T =

× × + 0 0× × × 0 0

0 × × × 00 0 × × ×0 0 0 × ×

,

, T←TP12 =

× ×× ×+ ×0 00 0

× 0 0× 0 0× × 0× × ×0 × ×

T←PT23T =

× × × 0 0

× × × + 0∅ × × × 0

0 0 × × ×0 0 0 × ×

, T←TP23 =

××000

× ∅× ×× ×+ ×0 0

0 0× 0× 0× ×× ×

T←PT34T =

× × 0 0 0× × × × 0

0 × × × +0 ∅ × × ×0 0 0 × ×

, T←TP34 =

× ×× ×0 ×0 00 0

0 0× ∅× ×× ×+ ×

00×××

T←PT45T =

× × 0 0 0× × × 0 00 × × × ×0 0 × × ×0 0 ∅ × ×

, T←TP45 =

× × 0× × ×0 × ×0 0 ×0 0 0

0 00 0× ∅× ×× ×

.

Calculul elementelor definitorii ck si sk ale rotatiei Pk,k+1 se face cu proceduraGr (v. tabelul 4.3), iar pentru calculul economic al produselor PT

k,k+1T si TPk,k+1

se renunta la utilizarea procedurilorGrs si Grd pentru a exploata eficient structuratridiagonala si simetria matricei T .

Cu aceste precizari putem prezenta algoritmul de implementare al unui pas QRsimetric cu deplasare Wilkinson implicita.

Algoritmul 4.26 (IT QRsim – Un pas QR simetric cu deplasareWilkinson implicita) (Data o matrice simetrica tridiagonala ireductibilaT ∈ IRn×n prin vectorul f ∈ IRn al elementelor diagonale si vectorulg ∈ IRn−1 al elementelor subdiagonale, algoritmul calculeaza vectoriidefinitorii f si g ai matricei succesor din sirul QR simetric. Toatecalculele se efectueaza pe loc, ın locatiile de memorie ale elementelorvectorilor f si g. Pentru elementul ”ratacitor”, care afecteaza temporarstructura tridiagonala se utilizeaza o variabila scalara locala τ . Algorit-mul furnizeaza, de asemenea, vectorii c si s ale caror elemente definescrotatiile utilizate.)

326 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. % Calculul deplasarii Wilkinson

1. α =fn−1 − fn

2, β = g2n−1, µ = fn −

β

α+ (sgnα)√

α2 + β

2. % Calculul si aplicarea rotatiilor P12 si Pk,k+1, k = 2 : n− 1.

1. Pentru k = 1 : n− 1

1. Daca k = 1 atunci

1. w = [ f1 − µ g1 ]T

2. [w, c1, s1 ] = Gr(w)

altfel

1. [

[gk−1

τ

]

, ck, sk ] = Gr(

[gk−1

τ

]

)

2. µ1 = c2k, µ2 = cksk, µ3 = s2k3. α = 2µ2gk

4. τ1 = µ1fk + µ3f2 − α, τ2 = µ2(fk − fk+1) + (µ1 − µ3)gk

5. fk+1 = µ1fk+1 + µ3fk + α

6. fk = τ1, gk = τ2

7. Daca k < n− 1 atunci

1. τ = −skgk+1 % elementul ”ratacitor”

2. gk+1 = ckgk+1

Comentarii. Avand ın vedere echivalenta performantelor algoritmilor, cu de-plasare explicita si implicita, de implementare a unui pas QR simetric, utilizamaceeasi sintaxa de apel, i.e.

[ f, g, c, s ] = IT QRsim(f, g).

Complexitatea unei iteratii QR simetrice cu deplasare implicita este O(n), pentruexecutia algoritmului 4.26 fiind necesari Nop ≈ 20n flopi, la care se adauga celen − 1 extrageri de radical. Si aici, algoritmul ofera, prin vectorii c si s, informatianecesara pentru o eventuala actualizare a matricei de transformare. 3

Exemplul 4.7 Invitam cititorul sa reia datele de intrare din exemplul precedent sisa itereze pasul QR simetric cu deplasare implicita de mai sus. Va avea satisfactiasa constate ca elementele calculate ale vectorului g coincid ın primele 15 cifre sem-nificative, iar cele ale vectorului f ın primele 14 cifre semnificative cu cele produsede iterarea pasului QR cu deplasare explicita. 3

C. Algoritmul QR simetric pentru matrice reale simetrice

Algoritmul QR simetric se obtine prin iterarea algoritmului 4.26, anularea efectivaa elementelor nediagonale devenite neglijabile si exploatarea structurala a acestoranulari ın vederea obtinerii unei eficiente maxime. Pentru deciziile de anulare efec-tiva a elementelor extradiagonale si monitorizarea evolutiei structurale a matricelor

4.8. ALGORITMUL QR SIMETRIC 327

tridiagonale din sirul QR simetric vom urma ideile folosite la algoritmul QR nesi-metric. Astfel, conditia de anulare a elementelor extradiagonale, i.e. a elementelorvectorului g, este

|gk| ≤ tol(|fk|+ |fk+1|), (4.291)

unde scalarul real tol defineste nivelul de toleranta si are, uzual, un ordin de marimecomparabil cu eroarea de reprezentare din formatul virgula mobila al masinii tinta.De asemenea, pentru gestionarea evolutiei structurale, la fiecare iteratie, dupa anu-larea elementelor vectorului g care satisfac conditia (4.291), se va determina cel maimic ıntreg p si cel mai mare ıntreg q astfel ıncat matricea tridiagonala curenta dinsirul QR simetric sa aiba structura

T =

T11 0 00 T22 00 0 T33

, (4.292)

cu T11 ∈ IRp×p, T22 ∈ IR(n−p−q)×(n−p−q) tridiagonala ireductibila si T33 ∈ IRq×q

diagonala, i.e. g(p+1 : n−q) are toate elementele nenule, iar g(n−q+1 : n−1) = 0.In acest fel, iteratia QR se va aplica de fapt blocului T22

T22 ← T ′22 = QT

22T22Q22, (4.293)

echivalenta cu aplicarea transformarii (4.287) cu

Q = diag(Ip, Q22, Iq). (4.294)

AlgoritmulQR simetric se termina ın momentul ın care se anuleaza toate elementelevectorului g, i.e. q devine n−1. Cu precizarile de mai sus, putem prezenta algoritmulQR simetric.

Algoritmul 4.27 (QRsim– Algoritmul QR simetric cu deplasariWilkinson implicite) (Date o matrice simetrica A ∈ IRn×n, o matriceortogonala Q ∈ IRn×n si un nivel de toleranta tol pentru anularea ele-mentelor extradiagonale, algoritmul calculeaza vectorul f ∈ IRn al valo-rilor proprii ale matricei A si, optional, actualizeaza matricea de trans-formare ortogonala Q. Optiunea se exprima prin intermediul variabileilogice opt care poate lua valorile ’da’ sau ’nu’. Daca nu se doresteacumularea transformarilor, matricea Q se returneaza nemodificata.)

1. % Reducerea la forma tridiagonala1. [ f, g,Q ] =TQ(A,Q)

2. % Faza iterativa

1. p = 0, q = 0

2. Cat timp q < n

1. % Anularea elementelor neglijabilePentru i = p+ 1 : n− q − 1

1. Daca |gi| ≤ tol(|fi|+ |fi+1| atunci gi = 0

328 CAPITOLUL 4. VALORI SI VECTORI PROPRII

2. % Determinarea lui qCat timp gn−q−1 = 0

1. q ← q + 1

3. % Terminarea algoritmuluiDaca q = n− 1 atunci return

4. % Determinarea lui p

1. p = n− q − 1

2. Cat timp gp 6= 01. p← p− 1

5. [f(p+ 1 : n− q), g(p+ 1 : n− q − 1), c, s] ==IT QRsim(f(p+ 1 : n− q), g(p+ 1 : n− q − 1))

6. Daca opt=’da’ atunci

1. Pentru i = 1 : n− p− q1. Q(:, p+ i :p+ i+1) = Grd(Q(:, p+ i :p+ i+1), ci, si)

Comentarii. Sintaxa de apel a algoritmului QR simetric este

[ f,Q ] = QRsim(A,Q, tol, opt).

Algoritmul QR simetric reprezinta cel mai bun instrument numeric de calcul alıntregului spectru al unei matrice simetrice reale. Daca nu se acumuleaza trans-formarile, algoritmul este foarte rapid, numarul de flopi necesar pentru calculultuturor valorilor proprii fiind estimat, ın medie, la Nop = 4n3/3 fara acumula-rea transformarilor si la Nop = 9n3 daca transformarile se acumuleaza. Pen-tru o toleranta de ordinul εM valorile proprii calculate sunt valori proprii ex-acte pentru o matrice simetrica foarte apropiata, algoritmul avand o buna sta-bilitate numerica. Mai mult, spre deosebire de cazul nesimetric, aici se poateafirma ca eroarea absoluta pentru fiecare valoare proprie calculata este mica, i.e.|λi − fi| ≈ tol‖A‖2. Daca se doreste calculul vectorilor proprii, atunci se utilizeazaapelul [ f,Q ] = QRsim(A, In, tol,

′da′). In aceasta situatie xj = Q( : , j) este unvector propriu calculat asociat valorii proprii λj ≈ fj. Acuratetea vectorului propriucalculat este dependenta de separarea valorii proprii asociate de restul spectrului.Algoritmul asigura o foarte buna ortogonalitate a vectorilor proprii calculati. Pen-tru detalii suplimentare asupra stabilitatii numerice a se vedea § 4.11. 3

4.8.3 Algoritmul QR pentru matrice hermitice

Fie C = A + iB cu A,B ∈ IRn×n o matrice hermitica, i.e. CH = C, ceea ceimplica simetria matricei A si antisimetria matricei B. Deci AT = A si BT = −B.Asa cum s-a aratat ın sectiunea 4.1 matricele hermitice au spectrul real si suntunitar diagonalizabile. Pentru calculul valorilor proprii ale unei matrice hermiticecu algoritmul QR, ın practica numerica se ıntalnesc doua abordari.

I. Fie λ ∈ λ(C) si x = u+ iv, cu u, v ∈ IRn, un vector propriu asociat. Atunci

Cx = λx ⇔{Au−Bv = λu,Bu+Av = λv,

(4.295)

4.9. METODE ALTERNATIVE 329

egalitatile din dreapta scriindu-se compact ın forma

[A −BB A

] [uv

]

= λ

[uv

]

sau

[A −BB A

] [−vu

]

= λ

[−vu

]

. (4.296)

Vectorii

[uv

]

si

[−vu

]

, fiind ortogonali, sunt liniar independenti. In consecinta,

daca λ(C) = {λ1, λ2, . . . , λn}, atunci matricea simetrica reala Fdef=

[A −BB A

]

are spectrul λ(F ) = {λ1, λ1, λ2, λ2, . . . , λn, λn}, iar daca w ∈ IR2n este un vectorpropriu al matricei F asociat valorii proprii λk, atunci x = w(1 : n)+ iw(n+1 : 2n)sau y = −w(n + 1 : 2n) + iw(1 : n) este un vector propriu 51 al matricei C asociataceleiasi valori proprii.

Din cele de mai sus rezulta esenta calculatorie a primei abordari care consta ınaplicarea algoritmului QR simetric matricei F . Utilizarea exclusiva a aritmeticiireale face aceasta solutie deosebit de atractiva. Scrierea algoritmului este imediatasi este lasata ın sarcina cititorului.

II. Cea de a doua modalitate de calcul al valorilor proprii ale unei matrice her-mitice utilizata ın practica numerica (de exemplu, ın LAPACK [XV ]) utilizeazao aritmetica ın numere complexe numai ın faza directa a algoritmului QR, i.e.ın faza de reducere la forma tridiagonala. Este posibil ca matricea tridiagonalarezultata sa fie reala astfel ıncat faza iterativa apeleaza exclusiv la o aritmeticareala, procedurile utilizate ın faza iterativa fiind cele descrise ın aceasta sectiune.Posibilitatea obtinerii, prin transformari unitare de asemanare a unei matrice tridi-agonale reale este conditionata de utilizarea unor reflectori complecsi nehermitici(v. cap. 3). Intr-adevar, dat un vector complex x ∈ ICn se poate calcula un astfelde reflector U1 ∈ ICn×n care sa asigure UH

1 x = ρe1 cu ρ un numar real. Notand

cu Ukdef=

[Ik−1 0

0 U1

]

, unde U1 ∈ IC(n−k+1)×(n−k+1) este un reflector de tipul

mentionat, daca U2 este astfel calculat ıncat (UH2 C)(3 : n, 1) = 0, atunci ma-

tricea C ← C1 = UH2 CU2 este hermitica si tridiagonala ın prima linie si prima

coloana. Cum o matrice hermitica are elementele diagonale reale, rezulta ca bloculC1(1 : 2, 1 : 2) este real. Continuand acest proces, ın final matricea

C ← Cn−2 = UHn−1 . . . U

H3 U

H2 CU2U3 . . . Un−1 (4.297)

va fi tridiagonala, simetrica si reala. Scrierea efectiva a algoritmului face obiectulexercitiului 4.58.

4.9 Alte metode de calcul al valorilor propriipentru matrice simetrice

Algoritmul QR simetric ramane un instrument fundamental pentru calculul ıntre-gului spectru al unei matrice simetrice. Totusi, spre deosebire de cazul general,

51 De observat ca y = ix, i.e. vectorii x si y sunt coliniari ın ICn.

330 CAPITOLUL 4. VALORI SI VECTORI PROPRII

nesimetric, ın care algoritmul QR s-a impus definitiv ca fiind fara rival, ın cazulsimetric exista solutii alternative, cu performante comparabile cu cele ale algorit-mului QR. Utilizarea tehnicilor alternative este recomandata mai ales ın situatiiparticulare. Mentionam, ın acest sens, problemele de calcul al unui grup restransde valori proprii sau implementari pe masini cu arhitecturi specifice, e.g. calcula-toarele paralele cu memorie distribuita.

Vom prezenta mai ıntai unele tehnici de calcul al unei valori proprii sau alunui grup redus de valori proprii, cum sunt iterarea catului Rayleigh sau metodabisectiei, iar apoi metodele de tip Jacobi, consacrate calculului ıntregului spectru.Pentru metodele ale caror iteratii conserva structura tridiagonala simetrica, vompresupune parcursa etapa directa, de reducere la forma tridiagonala cu ajutorulalgoritmului TQ. In consecinta, ın aceste situatii, matricea tridiagonala simetricaT ∈ IRn×n se va considera data prin vectorul f ∈ IRn al elementelor diagonale sivectorul g ∈ IRn−1 al elementelor sub- si supradiagonale.

4.9.1 Metoda catului Rayleigh

Asa cum s-a vazut la metoda puterii inverse, de calcul iterativ al unui vector propriu(vezi sectiunea 4.3), fiind cunoscuta aproximatia x 6= 0 a vectorului propriu x asociatvalorii proprii λ a unei matrice T ∈ IRn×n, catul Rayleigh al vectorului x ın raportcu matricea T , definit prin

µ = r(x) =xTT x

xT x, (4.298)

constituie cea mai buna aproximatie, ın sens CMMP, a valorii proprii λ. Aplicandacum un pas al metodei puterii inverse cu deplasarea µ, obtinem o aproximatie si maibuna pentru vectorul propriu asociat lui λ si, pe baza catului Rayleigh din (4.298),o aproximatie superioara pentru ınsusi λ. Altfel spus, adaptand algoritmul 4.2, deimplementare a metodei puterii inverse cu deplasare Rayleigh, la cazul matricelorsimetrice se obtine un mijloc performant de calcul al unei valori proprii (ın general,fara posibilitati de selectie a acesteia) si al unui vector propriu asociat. Invitamcititorul sa faca aceasta adaptare prin exploatarea simetriei ın rezolvarea sistemuluiliniar ce defineste o iteratie a metodei puterii inverse. Precizam ca o prealabilareducere la forma tridiagonala nu se justifica decat daca se urmareste calculul,pe aceasta cale, al mai multor valori si vectori proprii. In [ VI ] se afirma (si sedemonstreaza ıntr-un caz particular) convergenta globala si asimptotic cubica (i.e.extrem de rapida) a algoritmului si se evidentiaza conexiunea cu algoritmul QRsimetric care, ıntr-o forma implicita, uzeaza de aceasta tehnica.

4.9.2 Metoda bisectiei

Metoda bisectiei (sau metoda Givens [ IV ]) este utilizata pentru determinarea uneivalori proprii sau a unui grup relativ redus de valori proprii 52.

Fie matricea tridiagonala simetrica T ∈ IRn×n definita prin vectorul f ∈ IRn

al elementelor diagonale si vectorul g ∈ IRn−1 al elementelor extradiagonale. Pre-

52 Se apreciaza ca metoda poate fi considerata eficienta pentru determinarea a cel mult 40% dinvalorile proprii ale unei matrice.

4.9. METODE ALTERNATIVE 331

supunem, de asemenea, ca toate elementele vectorului g sunt nenule 53. In esenta,pentru calculul unei valori proprii, metoda bisectiei consta ın localizarea acesteiaıntr-un interval [α, β ] si reducerea acestui interval, prin ınjumatatire succesiva, cupastrarea valorii proprii ın interval. In acest fel, dupa t ınjumatatiri lungimea inter-

valului devine δ =β − α2t

si, ın consecinta, ıntr-o aritmetica exacta, se poate obtine

orice precizie dorita.Pentru determinarea intervalului initial [α, β ] putem utiliza teorema discurilor

lui Gershgorin, de localizare a ıntregului spectru, conform careia λ(T ) este situatın reuniunea intervalelor

I =n⋃

i=1

{λ ∈ IR |λ− fi| ≤ |gi−1|+ |gi|

}, (4.299)

unde, pentru simplificarea scrierii, am introdus numerele g0 = 0 si gn = 0. Evident,avem

I ⊆ [α, β ], unde

α = mini ∈ 1 : n

(fi − |gi−1| − |gi|),

β = maxi ∈ 1 : n

(fi + |gi−1|+ |gi|). (4.300)

In continuare, intervalul [α, β ], cu α si β din (4.300), va servi drept initializarepentru orice demers de calcul al valorilor proprii prin metoda bisectiei. Lasand citi-torului sarcina codificarii relatiei (4.300), de calcul a scalarilor α si β, ne marginimsa precizam sintaxa de apel a procedurii respective

[α, β ] = Int(f, g).

Prezentam, ın continuare, cateva rezultate care ne vor permite sa decidem dacao valoare proprie sau un grup de valori proprii se afla sau nu se afla situate ıntr-un

interval dat. Fie T [k] def= T (1 : k, 1 : k) submatricea lider principala de ordinul k a

matricei T definita, evident, de vectorii f [k] def= f(1 : k) si g[k−1] def

= g(1 : k − 1).Definim polinoamele

p0(λ) = 1,

p1(λ) = det(T [1] − λI1) = f1 − λ,pk(λ) = det(T [k] − λIk), k = 2 : n

(4.301)

((−1)kpk(λ) sunt polinoamele caracteristice ale submatricelor T [k]).Pentru k > 2 avem

pk(λ) = det

T [k−1] − λIk−1

0...

gk−1

0 · · · gk−1 fk − λ

=

53 Altfel, problema se sparge ın doua sau mai multe probleme de dimensiune mai mica.

332 CAPITOLUL 4. VALORI SI VECTORI PROPRII

= det

T [k−2] − λIk−2

0 0...

...gk−2 0

0 · · · gk−2

0 · · · 0fk−1− λ gk−1

gk−1 fk − λ

, (4.302)

relatie din care, prin dezvoltare dupa elementele ultimei linii sau ultimei coloane,obtinem

pk(λ) = (fk − λ)pk−1(λ) − g2k−1pk−2(λ). (4.303)

Relatia (4.303), ımpreuna cu initializarile p0(λ) = 1, p1(λ) = f1 − λ din (4.301),permit calculul recurent al polinoamelor pk(λ), k=2:n, si, pentru o valoare fixata µa lui λ, valorile acestor polinoame ın punctul µ. Polinoamele pk(λ), k=0:n, definitemai sus, formeaza asa numitul sir Sturm asociat matricei tridiagonale simetriceireductibile T .

Notam cu λ[k]i , i = 1 : k, valorile proprii ale matricei T [k] (care sunt, simultan,

zerourile polinoamelor pk(λ)) pe care le vom presupune ordonate crescator, i.e. 54

λ[k]1 < λ

[k]2 < . . . < λ

[k]k . (4.304)

Metoda bisectiei are la baza urmatoarele rezultate clasice.

Teorema 4.20 Daca vectorul g are toate elementele nenule, i.e. matricea tridi-agonala, simetrica T , definita de vectorii f si g, este ireductibila, atunci valorileproprii ale matricei T [k−1] separa strict valorile proprii ale matricei T [k], i.e.

λ[k]1 < λ

[k−1]1 < λ

[k]2 < λ

[k−1]2 < . . . < λ

[k]k−1 < λ

[k−1]k−1 < λ

[k]k (4.305)

pentru toti k ∈ 2 : n.

Demonstratie. Conform teoremei 4.5 inegalitatile (4.305) au loc ıntr-o formanestricta. Vom arata ca, ın conditiile teoremei, egalitatile nu pot avea loc. Pre-

supunem, prin absurd, ca exista i astfel ıncat λ[k]i = λ

[k−1]i

def= γ sau λ

[k−1]i =

= λ[k]i+1

def= γ. In ambele cazuri polinoamele pk si pk−1 au pe γ radacina comuna.

Cum toti gj sunt nenuli, din relatiile de recurenta (4.303) rezulta pk(γ) = pk−1(γ) == . . . = p1(γ) = p0(γ) = 0 ceea ce este ın contradictie cu faptul ca p0(γ) = 1. 3

Teorema 4.21 Numarul valorilor proprii ale matricei tridiagonale, simetrice, ire-ductibile T ∈ IRn×n, mai mici decat un numar fixat µ ∈ IR este egal cu numarulν(µ) al schimbarilor de semn din multimea numerica ordonata 55

p(µ) = { p0(µ), p1(µ), . . . , pn(µ) }, (4.306)

unde pk(λ), k = 0 : n, este sirul Sturm asociat matricei T .

54 O matrice tridiagonala simetrica ireductibila nu are valori proprii multiple (exercitiul 4.63).Evident, daca T este ireductibila, atunci toate submatricele T [k] sunt ireductibile.

55 In cazurile ın care unele din elementele multimii sunt nule (fapt putin probabil ın calculeleefectuate ıntr-o aritmetica aproximativa), convenim ca o pereche ordonata (γ, δ) se consideraschimbare de semn daca γ 6= 0, δ = 0 si nu se considera schimbare de semn daca γ = 0, δ 6= 0.Intr-un astfel de caz ν(µ) este numarul de valori proprii mai mici sau egale cu µ. Doua zerouriconsecutive ın secventa numerica p(µ) nu sunt posibile.

4.9. METODE ALTERNATIVE 333

Demonstratie. Vom considera numai cazul generic ın care toti pk(µ) sunt nenuli,lasand ın sarcina cititorului sa analizeze cazurile ın care unele valori pk(µ) suntnule. Pentru demonstratie vom utiliza inductia dupa n. Fie νn(µ) numarul valorilorproprii mai mici decat µ si σn(µ) numarul schimbarilor de semn din sirul (4.306).

Se verifica imediat ca ν1(µ) = σ1(µ). Presupunem ca νk−1(µ) = σk−1(µ)def= l. In

ipoteza ordonarii crescatoare a valorilor proprii ale submatricelor T [k] rezulta ca µ

este situat ın intervalul deschis (λ[k−1]l , λ

[k−1]l+1 ). Acum, datorita separarii stricte a

valorilor proprii ale submatricei T [k] de catre valorile proprii ale lui T [k−1] (teorema4.20), sunt posibile urmatoarele doua situatii

a) µ ∈ (λ[k]l , λ

[k]l+1) sau b) µ ∈ (λ

[k]l+1, λ

[k]l+2). (4.307)

In cazul a) avem νk(µ) = l, iar ın cazul b), evident, νk(µ) = l + 1. Ramane saaratam ca ın cazul a) perechea (pk−1(µ), pk(µ)) nu este schimbare de semn, iar ıncazul b) este schimbare de semn. Conform (4.301) putem scrie

pk−1(µ) =

k−1∏

i=1

(λ[k−1]i − µ), pk(µ) =

k∏

i=1

(λ[k]i − µ). (4.308)

Avand ın vedere situarea lui µ ın raport cu valorile proprii ale celor doua submatrice,

este evident faptul ca sgn(λ[k−1]i − µ) = sgn(λ

[k]i − µ) pentru i = 1 : l precum si

faptul ca sgn(λ[k−1]i − µ) = sgn(λ

[k]i+1 − µ) pentru i = l+ 1 : k − 1. Rezulta

sgn(pk(µ)) = sgn(pk−1(µ)) sgn(λl+1 − µ), (4.309)

de unde obtinem, evident, situatia necesara a semnelor ın cazurile a) si b). Inductiaeste completa. 3

Exemplul 4.8 Consideram matricea tridiagonala T , de ordinul 3, din exemplelenumerice 4.6 si 4.7, definita de vectorii f = [ 1 2 1 ]T si f = [ 1 1 ]T . Spectrulmatricei T este λ(T ) = { 0, 1, 3 }, iar sirul Sturm asociat

p0(λ) = 1, p1(λ) = −λ+ 1, p2(λ) = λ2 − 3λ+ 1, p3(λ) = −λ3 + 4λ2 − 3λ.

Valorile proprii ale submatricelor lider principale sunt λ(T [1]) = { 1 } si λ(T [2]) =

=

{

3−√5

2,

3 +√5

2

}

, verificandu-se imediat sirurile de inegalitati din (4.305).

Avem, de asemenea,

p(1) = { 1, 0, −1, 0 }, p(2) = { 1, −1, 2, 1 },

i.e. fiecare din multimile p(1) si p(2) are cate doua schimbari de semn care corespundcu numerele de valori proprii ale matricei T mai mici sau egale cu 1, respectiv maimici decat 2. 3

Utilizarea teoremei 4.21 ridica probleme dificile ın practica [X ] datorita frecven-telor depasiri inferioare si superioare ın format virgula mobila de catre valorile pk(µ)pentru k apropiati de n, chiar pentru un ordin n modest. Acest fenomen apare mai

334 CAPITOLUL 4. VALORI SI VECTORI PROPRII

ales cand matricea are valori proprii apropiate si nu poate fi evitat printr-o scalareprealabila a matricei T initiale.

Pentru depasirea acestor dificultati, ın [ X ] se recomanda utilizarea multimiinumerice

q(µ) = { q1(µ), q1(µ), . . . , qn(µ) }, unde qi(µ) =pi(µ)

pi−1(µ), i = 1 : n, (4.310)

ale carei elemente pot fi calculate cu relatia recurenta

qi(µ) = fk − µ−g2i−1

qi−1(µ), i = 2 : n, q1(µ) = f1 − µ. (4.311)

Pentru situatiile ın care qk−1 = 0 (sau, ın general, cand apar depasiri inferioare) serecomanda calculul lui qk(µ) cu formula

qi(µ) = fi − µ−|gi−1|εM

, (4.312)

unde εM este epsilon masina al calculatorului utilizat.Evident, numarul de schimbari de semn al multimii p(µ) din (4.306) si, simultan,

numarul ν(µ) al valorilor proprii ale matricei T mai mici decat µ, este egal cunumarul de elemente negative al multimii q(µ). Mai mult, numarul ν[α,β] al valorilorproprii ale matricei T situate ın intervalul [α, β ], este dat de relatia

ν[α,β] = ν(β) − ν(α). (4.313)

Calculul lui ν(µ) pentru un numar µ dat se face cu urmatoarea procedura.

ν(µ) 1. ν = 0

2. q = f1 − µ3. Daca q < 0 atunci ν = 14. Pentru i = 2 : n

1. Daca |q| > εM atunci q ← fi − µ−g2i−1

q

altfel q ← fi − µ−|gi−1|εM

2. Daca q < 0 atunci ν ← ν + 1

In continuare, vom utiliza procedura de mai sus cu sintaxa de apel

ν = ν(f, g, µ).

Vom considera acum problema determinarii unei singure valori proprii, maiprecis a valorii proprii λk, k ∈ 1 : n, din spectrul matricei T , presupus ordonatcrescator, respectiv

λ1 < λ2 < . . . < λk < . . . < λn, (4.314)

unde egalitatile nu sunt posibile ıntrucat T este ireductibila (vezi exercitiul 4.63).Metoda bisectiei pentru calculul valorii proprii λk poate fi rezumata prin urmatoareaschema de calcul.

4.9. METODE ALTERNATIVE 335

BISECT k 1. [α, β ] = Int(f, g)2. Cat timp β − α > tol

1. γ =α+ β

22. ν = ν(f, g, γ)3. Daca ν < k atunci α← γ

altfel β ← γ3. λk = γ

Este usor de verificat faptul ca aceasta procedura evalueaza corect, ın limitele fixatede toleranta tol, valoarea proprie λk din (4.314).

Pentru localizarea si calculul unui grup contiguu de valori proprii ale matriceiT din secventa (4.314), fie acesta λk1

, λk1+1, . . . , λk2, k2 ≥ k1, se aplica, ın esenta,

de k2 − k1 + 1 ori procedura de mai sus, cu unele amendamente care conduc laobtinerea unui spor de eficienta. Aceste amendamente urmaresc exploatarea inten-siva a informatiei obtinute ın procesul iterativ de localizare a valorii proprii curentepentru reducerea intervalelor de separare a valorilor proprii care se calculeaza ulte-rior. Concret, vom realiza o actualizare, la fiecare iteratie, a extremitatilor inferioareale intervalelor de localizare a valorilor proprii λi, i = k1 : k2. Pentru aceasta ob-servam ca valoarea ν calculata la instructiunea 2.2 a procedurii de mai sus, permiteaprecierea ca, la iteratia curenta de evaluare a valorii proprii λk, un numar de k− νvalori proprii se gasesc ın intervalul [ γ, λk ]. Prin urmare, daca ν < k1 atunci ınintervalul [ γ, λk ] se gasesc valorile proprii λi, i = k1 : k− 1, iar daca ν ≥ k1 atunciın acest interval se afla valorile proprii λi, i = ν +1 : k− 1. Utilizarea informatiilorde mai sus presupune:

– calculul valorilor proprii ın ordine inversa, i.e. ın ordinea k = k2 : −1 : k1;– introducerea unui vector σ ∈ IRk2−k1+1, al extremitatilor stangi ale inter-

valelor de localizare, ale carui elemente vor fi actualizate, la fiecare iteratie, pe bazaobservatiilor de mai sus.

Utilizand, pentru elementele vectorului σ, o indexare conforma cu cea a valorilorproprii (i.e. σk, k = k1 : k2, este extremitatea stanga a intervalului de localizare avalorii proprii λk), la o iteratie curenta de calcul al lui λk, actualizarea consta ınatribuirile

σi = γ pentru i =

{k1 : k − 1, daca ν < k1ν + 1 : k − 1, daca ν ≥ k1. (4.315)

Prezentam direct algoritmul care implementeaza ideile de mai sus.

Algoritmul 4.28 (BISECT – Calculul unui grup de valori propriiprin metoda bisectiei) (Dati vectorii f ∈ IRn si g ∈ IRn−1 care de-finesc matricea tridiagonala, simetrica, ireductibila T ∈ IRn×n precumsi ıntregii k1 < k2 ≤ n si toleranta tol, algoritmul calculeaza valorileproprii λk, k ∈ k1 : k2.)

1. [α, β ] = Int(f, g)

2. % Initializarea vectorului extremitatilor stangi ale intervalelor deseparare si a extremitatii din dreapta pentru λk2

.

336 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. Pentru i = k1 : k21. σi ← α

2. λk2← β

3. % Calculul iterativ al grupului impus de valori proprii

1. Pentru k = k2 : −1 : k1% Calculul valorii proprii curente λk si actualizarea intervalelorde localizare pentru valorile proprii λj , j = k − 1 : −1 : k11. α← σk2. Cat timp β − α > tol

1. γ =α+ β

22. ν = ν(f, g, γ)

3. Daca ν < k atunci

1. α← γ2. Daca ν < k1 si k > k1 atunci

1. Pentru i = k1 : k − 11. σi = γ

altfel

1. Pentru i = ν + 1 : k − 11. σi = γ

altfel β ← γ

3. λk = γ

4. β ← γ

Comentarii. O sintaxa de utilizare naturala a algoritmului este

λ = BISECT(f, g, k1, k2, tol),

unde λ este vectorul valorilor proprii calculate. Desi este dificil de stabilit o com-plexitate corecta a algoritmului datorita, ın primul rand, caracterului sau iterativ,practica a aratat ca algoritmul BISECT, ın varianta prezentata, este sensibil mairapid decat aplicarea repetata a aceleiasi metode pentru fiecare valoare proprie in-dividuala, mai ales atunci cand exista valori proprii multiple sau apropiate. In [ X ]se afirma ca algoritmul poate fi utilizat si pentru calculul valorilor proprii ale uneimatrice tridiagonale nesimetrice T daca elementele nediagonale satisfac conditiati,i+1ti+1,i > 0. In acest scop se utilizeaza datele de intrare fi = tii, i = 1 : n, sigi =

√ti,i+1ti+1,i, i = 1 : n− 1.

Acuratetea rezultatelor este considerata a fi foarte buna, calculul ıntr-un formatvirgula mobila cu baza de numeratie β si un numar t de cifre al mantisei, conducandla un nivel al erorilor absolute de ordinul β−t max(|λmin|, |λmax|), nivel care nu poatefi redus prin cresterea numarului de iteratii [ X ]. 3

4.9.3 Metode Jacobi

Metodele tip Jacobi, de calcul al valorilor proprii ale unei matrice simetrice, suntinferioare din punctul de vedere al eficientei, apreciate prin numarul necesar de

4.9. METODE ALTERNATIVE 337

operatii ın format virgula mobila, algoritmului QR simetric. Reınvierea interesuluipentru metodele Jacobi se datoreaza modificarii contextului arhitectural al echipa-mentelor de calcul de ınalta performanta actuale, mai precis dezvoltarii calcula-toarelor paralele. Eficienta unui algoritm paralel se evalueaza pe principii diferite,avandu-se ın vedere efectuarea calculelor simultan de mai multe procesoare. Inacest context, metodele Jacobi devin competitive datorita faptului ca au o structuragranulara, bogata ın actiuni de calcul practic independente, care pot fi executate,ın acelasi timp, de procesoare diferite. Desi prezentarea unor algoritmi paraleli nuface obiectul acestei lucrari, am considerat oportun sa introducem metodele Jacobi,ın variantele lor secventiale, ca punct de plecare, de altfel uzual, pentru dezvoltareavariantelor paralele.

Fie A ∈ IRn×n o matrice simetrica, DA = diag( a11, a22, . . . , ann ) si B = A−DA

matricea elementelor sale extradiagonale. Precizam ca transformarile din cadrulmetodelor Jacobi nu conserva structura tridiagonala astfel ca etapa de reducere laaceasta structura nu este necesara.

In esenta, metodele Jacobi construiesc, iterativ, un sir de matrice, ortogonalasemenea cu matricea initiala, pe baza relatiei de recurenta

Ak+1 = JTk AkJk, , k = 1, 2, . . . , A1 = A, (4.316)

unde Jk sunt rotatii plane, numite, ın acest context, transformari Jacobi, astfelcalculate ıncat sa minimizeze norma Frobenius a matricei curente Bk a elementelorextradiagonale. Acest sir este convergent, ın general mai lent decat sirul QR, catreforma diagonala, care pune ın evidenta valorile proprii ale matricei initiale. Calcululvectorilor proprii este posibil prin acumularea transformarilor.

Pentru simplificarea notatiilor si pentru a evidentia faptul ca toate calculele seefectueaza pe loc, ın locatiile de memorie ale tabloului A, introducem notatiile

Adef= Ak, A′ def

= Ak+1, Bdef= Bk+1 = Ak+1 − diag(Ak+1), J

def= Jk

si

A← B′ def= Bk+1.

In vederea determinarii rotatiei plane J optimale, reamintim parametrii definitoriiai acesteia

J(p, q, θ) =

1. . .

c s. . .

−s c. . .

1

p q

p

q, p < q, c = cos θ, s = sin θ,

(4.317)toate elementele extradiagonale nemarcate ale matricei J fiind nule. Pentru para-metrii p si q fixati, unghiul de rotatie θ optimal este cel care minimizeaza norma

338 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Frobenius a matricei B. Se poate arata (v. exercitiul 4.64) ca valoarea optimalaa lui θ este situata ın intervalul [−π

4 ,π4 ) si asigura anularea elementului aqp si,

simultan, datorita simetriei, a elementului apq. In consecinta, parametrii c si s potfi determinati din aceasta conditie, respectiv, din conditia ca matricea

D =

[d11 d12d21 d22

]

def=

[c s−s c

]T [app apqaqp aqq

] [c s−s c

]

(4.318)

sa fie diagonala. Prin calcul direct obtinem

d11 = appc2 − 2aqpcs+ aqqs

2

d12 = (app − aqq)cs+ apq(c2 − s2) = d21

d22 = apps2 + 2aqpcs+ aqqc

2.(4.319)

Daca apq 6= 0 (altfel J = In), atunci impunand d12 = d21 = 0, din (4.319) rezulta

c2 − s2cs

=aqq − appaqp

. (4.320)

Introducand, acum, notatiile

t =s

c= tgθ, τ =

aqq − app2aqp

, (4.321)

relatia (4.320) se scrie sub forma unei ecuatii de gradul 2 ın t

t2 + 2τt− 1 = 0. (4.322)

Radacina t a acestei ecuatii care corespunde valorilor optimale ale parametrilor c sis trebuie sa asigure satisfacerea conditiei |θ| < π

4 , i.e. |t| < 1. Prin urmare, valorileoptimale ale lui t, c si s se calculeaza cu relatiile

t =sgnτ

|τ |+√1 + τ2

, c =1√

1 + t2, s = ct. (4.323)

Dupa determinarea valorilor optimale ale parametrilor c si s, calculul produsuluiA← JTAJ se poate face economic tinand seama de simetria rezultatului. Evident,ın acest produs vor fi afectate numai liniile si coloanele p si q. La fel ca la algoritmulQR simetric, vom presupune ca matricea A este memorata numai prin triunghiulei inferior. In acest fel elementele afectate sunt cele evidentiate ın figura 4.9.3, iarrelatiile de calcul sunt deja familiare cititorului care a parcurs capitolul 3. Pentruo redactare mai concisa si mai clara a algoritmilor de implementare a metodelorJacobi vom scrie un algoritm pentru implementarea unui pas descris mai sus.

Algoritmul 4.29 (IT J– Iteratie Jacobi) (Date matricea simetricaA ∈ IRn×n, prin triunghiul sau inferior, precum si ıntregii 1 ≤ p << q ≤ n, algoritmul calculeaza parametrii optimali c, s ai rotatiei Jacobisi suprascrie triunghiul inferior al matricei A cu triunghiul inferior almatricei succesor A′ = JTAJ .)

4.9. METODE ALTERNATIVE 339

@@@@@@@@

ssp

q

p q

0

O

Fig. 4.3: Elementele afectate de un pas al metodelor de tip Jacobi.

1. Daca aqp = 0 atunci

1. c = 1, s = 0

2. Return

2. % Determinarea parametrilor rotatiei Jacobi

1. τ =aqq − app

2aqp

2. t =sgnτ

|τ |+√1 + τ2

3. c =1√

1 + t2, s = ct

3. % Calculul A← JTAJ numai ın triunghiul inferior

1. ρ = appc2 − 2aqpcs+ aqqs

2

2. aqq ← apps2 + 2aqpcs+ aqqc

2

3. app ← ρ, aqp ← 0

4. Daca p > 1 atunci

1. Pentru j = 1 : p− 1

1. ρ = capj − saqj2. aqj ← sapj + caqj

3. apj ← ρ

5. Daca p < q − 1 atunci

1. Pentru j = p+ 1 : q − 1

1. ρ = sajp + caqj

2. ajp ← cajp − saqj3. aqj ← ρ.

6. Daca q < n atunci

1. Pentru i = q + 1 : n

1. ρ = caip − saiq2. aiq ← saip + caiq

3. aip ← ρ

340 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Comentarii. Sintaxa de apel a algoritmului IT J va fi

[A, c, s ] = IT J(A, p, q),

iar complexitatea sa este O(n), fiind necesari numai Nop ≈ 6n flopi. 3

Parametrii p, q ai transformarii Jacobi ce defineste iteratia curenta se pot deter-mina aplicand strategii diverse. Oricare ar fi strategia aplicata, un element anulatla o iteratie poate deveni nenul la iteratiile ulterioare (acesta este cazul obisnuit),astfel ca, asa cum era de asteptat, procesul de diagonalizare este, teoretic, infinit.Criteriile practice de terminare se refera la situatiile ın care toate elementele extra-diagonale devin, ın valoare absoluta, neglijabile. Dintre criteriile uzuale de aprecierea acestui fapt amintim

n maxi,j∈1:ni6=j

|aij | < tol, (4.324)

sau

‖A− diag(A)‖F < tol‖A‖F , (4.325)

unde scalarul pozitiv tol exprima nivelul de toleranta acceptat, si are, ın modobisnuit, valori de ordinul de marime al erorilor de reprezentare ın formatul vir-gula mobila folosit.

Prezentam ın continuare doua strategii de alegere a parametrilor p si q, cares-au impus ın practica numerica, si algoritmii de calcul corespunzatori.

Metoda Jacobi clasica

In asa numita metoda Jacobi clasica, parametrii p, q se determina astfel ıncat apq safie elementul extradiagonal de modul maxim al matricei curente. Intuitiv, o astfelde alegere ar trebui sa asigure o viteza de convergenta superioara, ceea ce nu esteıntotdeauna adevarat. Algoritmul corespunzator, cu criteriul de terminare de tipul(4.324), arata astfel.

Algoritmul 4.30 (J clasic – Diagonalizare iterativa a unei ma-trice simetrice prin metoda Jacobi clasica) (Date matricea simetricaA ∈ IRn×n, prin triunghiul sau inferior, matricea ortogonala Q ∈ IRn×n

si toleranta tol < 1, algoritmul calculeaza valorile proprii ale matri-cei A prin diagonalizarea iterativa cu rotatii Jacobi care anuleaza, lapasul curent, elementul extradiagonal de modul maxim. Acumulareatransformarilor Jacobi se efectueaza optional. Optiunea se exprima prinintermediul unei variabile logice opt care poate lua valorile ’da’ sau’nu’. Daca opt = ′nu′, matricea Q ramane nemodificata.)

1. µ = 1

2. Cat timp nµ > tol

1. µ = 0

2. Pentru i = 2 : n

1. Pentru j = 1 : i− 1

4.9. METODE ALTERNATIVE 341

1. Daca |aij | > µ atunci

1. µ = |aij |2. p← j3. q ← i

3. [A, c, s ] = IT J(A, q, p)

4. Daca opt = ′da′ atunci

1. Pentru i = 1 : n

1. ρ = cqip − sqiq2. qiq ← sqip + cqiq

3. qip ← ρ.

Comentarii. Sintaxa de apel a algoritmului J clasic va fi

[A,Q ] = J clasic(A,Q, tol, opt),

iar complexitatea sa, pentru n relativ mari poate fi apreciata statistic la O(n3) sila O(n4) pentru n relativ reduse. 3

Metoda Jacobi ciclica

Dezavantajul principal al metodei Jacobi clasice consta ın necesitatea cautarii, lafiecare iteratie, a elementului extradiagonal de modul maxim, o operatie de com-plexitate O(n2) comparatii, ın timp ce complexitatea de calcul a unei iteratii estede numai O(n). De aceea, pentru a se asigura o eficienta sporita, metoda Jacobi ci-clica evita efectuarea comparatiilor prin anularea elementelor extradiagonale ıntr-oordine predeterminata. Avand ın vedere ca elementele anulate pot deveni nenuleıntr-o faza ulterioara a aceleiasi iteratii sau ıntr-o iteratie ulterioara, anularile sereiau, ciclic, pana la satisfacerea criteriului de oprire a iteratiilor.

Presupunand ca operam exclusiv ın triunghiul inferior al matricei A si efectuamanularile pe linii, ın ordinea naturala, i.e. ın cadrul unui ciclu, ın ordinea (2,1),(3,1), (3,2), . . . (n, 1), . . . (n, n− 1), obtinem urmatorul algoritm.

Algoritmul 4.31 (J ciclic – Diagonalizare iterativa a unei matricesimetrice prin metoda Jacobi ciclica) (Date matricea simetrica A ∈∈ IRn×n, prin triunghiul sau inferior, matricea ortogonala Q ∈ IRn×n sitoleranta tol < 1, algoritmul calculeaza valorile proprii ale matricei Aprin diagonalizarea iterativa cu rotatii Jacobi care anuleaza elementeleextradiagonale ciclic, pe linii. Acumularea transformarilor se realizeazaoptional, pe baza optiunii exprimate prin intermediul unei variabile logi-ce opt, care poate lua valorile ’da’ sau ’nu’. Daca opt = ′nu′, matriceaQ ramane nemodificata.)

1. σ =∑n

i=2

∑i−1j=1 a

2ij

2. νA =√

2σ +∑n

i=1 a2ii, νE =

√2σ

3. Cat timp νE > tol ∗ νA1. Pentru q = 2 : n

342 CAPITOLUL 4. VALORI SI VECTORI PROPRII

1. Pentru p = 1 : q − 1

1. [A, c, s ] = IT J(A, p, q)

2. Daca opt = ′da′ atunci

1. Pentru i = 1 : n1. ρ = cqip − sqiq2. qiq ← sqip + cqiq3. qip ← ρ

3. νE =√

2∑n

i=2

∑i−1j=1 a

2ij

Comentarii. Sintaxa de apel a algoritmului J ciclic va fi

[A,Q ] = J ciclic(A,Q, tol, opt),

iar complexitatea sa poate fi apreciata, statistic, la O(n3) daca n este relativ mare.Pentru a mari eficienta, exista versiuni ”cu prag” ale algoritmului J ciclic (v. [ IV ])la care anularea elementelor extradiagonale are efectiv loc numai daca modulul loreste superior unui anumit prag. O reducere progresiva a pragului pe parcursulprocesului iterativ asigura conservarea si chiar o ımbunatatire a proprietatilor deconvergenta. 3

Calculul vectorilor proprii prin intermediul metodelor tip Jacobi se realizeaza,ın esenta, prin acumularea transformarilor. Concret, coloanele matricei de transfor-mare Q obtinute ın urma apelului [A,Q ] = J clasic(A, In,

′da′) sau, respectiv, alapelului [A,Q ] = J ciclic(A, In,

′da′), sunt vectorii proprii ai matricei A initiale,mai precis coloana Q(:, j) este vector propriu asociat valorii proprii ajj din formafinala a matricei A.

Analiza proprietatilor de convergenta [ IV ] a metodei clasice Jacobi a condusla concluzia ca ın faza initiala convergenta poate fi considerata ca liniara, dar pemasura ce numarul iteratiilor creste si elementele extradiagonale scad ın modul,convergenta devine patratica. Metoda Jacobi ciclica are o convergenta patratica.

Desi viteza de convergenta a metodelor tip Jacobi este inferioara celorlaltemetode de calcul al valorilor proprii ale matricelor simetrice (a se vedea convergentaasimptotic cubica a algoritmului QR simetric sau a metodei bisectiei) totusi, pen-tru matrice de dimensiuni mai modeste aceste metode se pot dovedi, datorita sim-plitatii lor, atractive. Metodele Jacobi reprezinta ınsa o alternativa viabila la imple-mentarea pe echipamentele de calcul paralel, unde un grad superior de paralelismpoate compensa viteza mai redusa de convergenta.

4.10 Conditionarea valorilor si vectorilor proprii

Precizia rezultatelor unui calcul cu datele initiale afectate de erori, cum sunt erorilede reprezentare ın format virgula mobila, este esential influentata de sensibilitateaacestor rezultate la variatii ın datele initiale sau, altfel spus, de conditionarea pro-blemei respective (vezi cap. 0). Aprecierea conditionarii se face ın ipoteza unorcalcule exacte, deci este independenta de modul efectiv de calcul. In continuare

4.10. CONDITIONARE 343

ne propunem sa abordam cateva aspecte ale problemei sensibilitatii valorilor sivectorilor proprii la perturbatii ale elementelor matricei.

Aprecierea conditionarii se face, de obicei, prin stabilirea unor margini superioarepentru variatiile valorilor si vectorilor proprii ın raport cu variatiile elementelormatricei date. Chiar daca aceste margini sunt, de cele mai multe ori, supraevaluate,ele ofera o imagine foarte utila asupra unor situatii critice, ın care erorile rezultatelories de sub control. Stabilirea evaluarilor privind sensibilitatea valorilor si vectorilorproprii se bazeaza pe proprietatile de continuitate ale acestora ın raport cu variatiileelementelor matricei. Intrucat aceste proprietati capata un aspect complicat ıncazul valorilor proprii multiple, ne vom margini demersul teoretic ın principal asupramatricelor cu valori proprii distincte, atragand de la ınceput atentia asupra faptuluica valorile proprii multiple sunt semnificativ mai rau conditionate decat cele simple.De asemenea, vom trata distinct cazul matricelor hermitice (ın cazul real, simetrice)care prezinta calitati cu totul remarcabile din acest punct de vedere.

Proprietatile de netezime ale dependentelor valorilor proprii simple si ale vecto-rilor proprii asociati se pot exprima ın felul urmator [ IV ]. Fie matricea A ∈ ICn×n

si o matrice de perturbatie E = ǫG, cu ǫ ∈ IR si G ∈ ICn×n avand ‖G‖ = 1, ar-bitrara dar fixata 56. Daca λ ∈ λ(A) este o valoare proprie simpla si x ∈ ICn unvector propriu asociat, de norma euclidiana unitara (i.e. ‖x‖ = 1), atunci exista ovaloare proprie λ(ǫ) ∈ λ(A+ E) a matricei perturbate F = A+E = A+ ǫG cu unvector propriu asociat x(ǫ) (de asemenea de norma euclidiana unitara) care admiturmatoarele dezvoltari ın serii de puteri ın raport cu ǫ:

λ(ǫ) = λ+ α1ǫ+ α2ǫ2 + . . . ,

x(ǫ) = x+ z1ǫ + z2ǫ2 + . . . ,

(4.326)

convergente ıntr-o vecinatate a punctului ǫ = 0. Evident, avem λ(0) = λ, x(0) = x,iar λ(ǫ) si x(ǫ) sunt functii continue si derivabile ın domeniul de convegenta, ınparticular limǫ→0 λ(ǫ) = λ si limǫ→0 x(ǫ) = x. Intrucat, ın general, ın dezvoltarilede mai sus, α1 6= 0 si z1 6= 0, o prima evaluare a dependentei valorilor proprii simplesi a vectorilor proprii asociati de perturbatiile din elementele matricei este data de

|λ(ǫ)− λ| = O(ǫ),‖x(ǫ)− x‖ = O(ǫ),

(4.327)

utila ın aprecierea conditionarii ın cazul practic al perturbatiilor ”mici”, i.e. alcelor pentru care ǫ2 este ”neglijabil” ın raport cu ǫ. Evaluarile calitative (4.327) sepot aprecia cantitativ prin |α1| si, respectiv, prin ‖z1‖ (sau margini superioare aleacestora), care pot servi drept numere de conditionare pentru valoarea proprie λ sivectorul propriu asociat x.

4.10.1 Conditionarea valorilor si vectorilor propriipentru matrice generale (nehermitice)

A. Conditionarea valorilor proprii

Fie A ∈ ICn×n, λ ∈ λ(A) o valoare proprie simpla a matricei A si x, y ∈ ICn vectoriproprii la dreapta, respectiv la stanga, de norma euclidiana unitara, asociati valorii

56 Daca nu se mentioneaza altfel, norma matriceala ‖ · ‖ este norma spectrala, i.e. ‖ · ‖2.

344 CAPITOLUL 4. VALORI SI VECTORI PROPRII

proprii λ, i.e. avem Ax = λx si, respectiv, yHA = λyH . Consideram, ca maisus, matricea perturbata F = A + E, cu E = ǫG, si λ(ǫ), x(ǫ) definite ın (4.326).Derivand, ın raport cu ǫ, relatia de definitie

(A+ ǫG)x(ǫ) = λ(ǫ)x(ǫ) (4.328)

si facand ǫ = 0 obtinem

Gx+Az1 = α1x+ λz1, unde α1 =dλ(ǫ)

∣∣∣∣ǫ=0

, z1 =dx(ǫ)

∣∣∣∣ǫ=0

. (4.329)

Dar, ıntrucat λ este o valoare proprie simpla, avem yHx 6= 0 (v. exercitiul 4.9).Prin urmare, ınmultind relatia (4.329) la stanga cu yH , obtinem

yHGx+ yHAz1 = α1yHx+ λyHz1,

de unde rezulta

|α1| =|yHGx||yHx| ≤

‖y‖ · ‖G‖ · ‖x‖|yHx| =

1

|yHx| . (4.330)

Numarul

κλdef=

1

|yHx| = maxG ∈ ICn×n

‖G‖ = 1

|α1| (4.331)

(maximul fiind atins pentru G = xyH) defineste sensibilitatea sau numarul deconditionare al valorii proprii simple λ. In literatura de specialitate (v. [ IV ],[ VI ], [ XV ] ) se utilizeaza ınsa curent inversul numarului de conditionare, i.e. asanumitul ”parametru s” definit de

sλdef= |yHx|. (4.332)

Evident, cu cat κλ este mai mare (sλ este mai mic) conditionarea valorii propriisimple este mai rea, erorile din datele initiale putand fi amplificate de pana la κλori. Din punct de vedere geometric, ın cazul real numarul sλ reprezinta cosinusulunghiului ascutit dintre directiile vectorilor proprii la stanga si la dreapta asociativalorii proprii simple λ. Cazul cel mai favorabil apare atunci cand vectorii propriila stanga si la dreapta sunt aceiasi (e.g. matricele normale au toate valorile propriiperfect conditionate, v. teorema 4.1).

Este evident faptul ca sensibilitatea unei valori proprii, definita de parametruls sau de conditionarea κ, se refera la erorile absolute introduse de perturbatiilenumerice ın datele initiale. Prin urmare, erorile relative vor fi cu atat mai mari cucat valorile proprii sunt mai mici ın modul.

Fie Q ∈ ICn×n o matrice unitara oarecare, B = QHAQ si λ ∈ λ(A) = λ(B). Dacax si y sunt vectori proprii la dreapta si, respectiv, la stanga, de norma unitara, aimatricei A, asociati valorii proprii λ, atunci x = QHx si, respectiv, y = QHy suntvectori proprii de norma unitara ai matricei B, asociati aceleiasi valori proprii. Se

4.10. CONDITIONARE 345

constata imediat ca sλ = |yH x| = |yHx| = sλ, i.e. numerele de conditionare alevalorilor proprii simple sunt invariante la transformari unitare de asemanare.

Exemplul 4.9 Fie A =

[λ1 β0 λ2

]

∈ IR2×2, cu λ1 6= λ2. Atunci este usor de

constatat ca

sλ1= sλ2

=|λ1 − λ2|

β2 + (λ1 − λ2)2,

respectiv,

κλ1= κλ2

=

1 +β2

(λ1 − λ2)2.

Daca |β| ≫ |λ1 − λ2|, atunci κλ1= κλ2

≈ |β||λ1 − λ2|

.

In cazul numeric A =

[0.1 1000 0.2

]

, avem κλ1= κλ2

≈ 103. Valorile proprii ale

matricei perturbate F = A+ ǫG =

[0.1 10010−6 0.2

]

, unde ǫ = 10−6 si G =

[0 01 0

]

(cu ‖G‖ = 1), sunt λ1 = 0.0990098 si λ2 = 0.2009902, i.e. o perturbare cu numai10−6 a unui singur element al matricei initiale are ca efect modificari de ordinul a10−3 ale celor doua valori proprii, deci de aproximativ κ ≈ 1000 mai mari.

Expresia de mai sus a numerelor de conditionare sugereaza o justificare a faptu-lui, afirmat deja, ca valorile proprii multiple au o conditionare mai rea decat valorileproprii simple. 3

Atragem atentia asupra faptului ca, desi exemplul de mai sus arata ca sensibili-tatea unei valori proprii poate fi influentata decisiv de ”distanta” de la ea pana larestul spectrului, exista situatii de valori proprii ”bine separate” de restul spectruluisi, ın acelasi timp, foarte rau conditionate. Exemple celebre ın acest sens fac obiectulexercitiilor 4.69 si 4.70.

Numerele κλi(sau sλi

) definesc conditionarea valorilor proprii λi ale unei matriceın raport cu variatii mici dar arbitrare ale tuturor elementelor matricei, i.e. ın raportcu perturbatii nestructurate. Desigur, putem sa formulam problema conditionariivalorilor proprii ın raport cu variatia unui anumit element (v. exercitiul 4.68) sau cuvariatiile elementelor dintr-un grup precizat structural (perturbatii structurate). Incontinuare ne vom ındrepta ınsa atentia ıntr-o directie considerata mai importantaın aplicatii si anume a exprimarii sintetice a conditionarii unui grup de valori propriisau a ıntregului spectru ın raport cu perturbatii nestructurate. In acest scop potfi utilizate teoremele de localizare a spectrului de valori proprii ın planul complex(dintre care amintim teorema lui Gershgorin, vezi teorema 4.11, § 4.1). O altacale este de a defini conditionarea ıntregului spectru printr-o norma a vectoruluiconditionarilor valorilor proprii individuale, i.e.

sΛdef= ‖s‖, κΛ

def= ‖κ‖, (4.333)

undes = [ sλ1

sλ2· · · sλn

]T , κ = [κλ1κλ2

· · · κλn]T , (4.334)

346 CAPITOLUL 4. VALORI SI VECTORI PROPRII

definitie care ar putea fi utilizata si pentru un grup de valori proprii.Pentru definirea conditionarii unui grup de valori proprii vom urma totusi o cale

alternativa care generalizeaza o interpretare interesanta a numerelor de conditionareindividuale definite mai sus. In acest scop vom introduce si utiliza conceptul deproiector spectral. Pentru simplitate, consideram o matrice A ∈ ICn×n cu valoriproprii distincte si fie I = { i1, i2, . . . , iq } o multime ordonata (i.e. i1 < i2 <. . . < iq) de indici din 1 : n. Notam λI(A) = {λi1 , λi2 , . . . , λiq } ⊂ λ(A). Fie,acum, UI ⊂ ICn subspatiul A-invariant asociat setului de valori proprii λI(A) siV ⊂ ICn subspatiul A-invariant complementar, asociat setului λJ (A) = λ(A)\λI(A).Intrucat avem ICn = U⊕V , pentru orice vector x ∈ ICn exista vectorii u ∈ U si v ∈ V ,unic determinati, astfel ıncat x = u+ v. Vectorul u se numeste proiectia vectoruluix pe subspatiul U paralela cu subspatiul V , iar vectorul v proiectia vectorului x pesubspatiul V paralela cu subspatiul U . Aplicatia liniara PI : ICn → U se numesteproiectia spectrala asociata setului de valori proprii λI(A), iar pentru o baza fixataa spatiului ICn, matricea PI ∈ ICn×n asociata aplicatiei PI se numeste proiectorspectral pe subspatiul U . Evident, PIx = u, ∀x ∈ ICn si P 2

I = PI .Fie, acum, o matrice U ∈ ICn×q ale carei coloane formeaza o baza a subspatiului

U . Conform propozitiei 4.1, avem AU = UB, unde B ∈ ICq×q este o restrictie amatricei A la subspatiul A-invariant U si λ(B) = λI(A). Similar, fie V ∈ ICn×(n−q)

o matrice ale carei coloane formeaza o baza a subspatiului V si AV = V C. Evident,

matricea T = [U V ] este nesingulara. Consideram partitia T−1 =

[YZ

]

a inversei

matricei T , unde Y ∈ ICq×n si Z ∈ IC(n−q)×n. Avem imediat Y AU = B, Y AV = 0,ZAU = 0 si ZAV = C. Prin urmare, T−1AT = diag(B,C). Mai mult, este simplude vazut ca matricele

PI = UY, PJ = V Z = In − PI (4.335)

sunt proiectorii spectrali pe subspatiile A-invariante U si, respectiv, V .Consideram, ın continuare, o valoare proprie simpla λ ∈ λ(A), un vector propriu

la dreapta x si un vector propriu la stanga y, ambii de norme euclidiene unitare,asociati valorii proprii λ. Subspatiul A-invariant unidimensional U = Imx are drept

complement subspatiul A-invariant n − 1 dimensional V = KeryH , iar Pλ =xyH

yHxeste proiectorul spectral pe subspatiul U . Avem urmatoarea exprimare posibila aconditionarii valorii proprii λ. Intrucat ‖xyH‖ = ‖x‖ · ‖y‖ (demonstrati!), rezulta

sλ =1

‖Pλ‖, respectiv κλ = ‖Pλ‖. (4.336)

Aceste relatii pot fi generalizate, ın modul cel mai natural, la definirea condi-tionarii unor seturi de mai multe valori proprii. Fara a intra ın detalii, vom definiparametrul sI si conditionarea κI a unui set λI ⊂ λ(A) de valori proprii prin

sI =1

‖PI‖, respectiv κI = ‖PI‖, (4.337)

unde PI este proiectorul spectral pe subspatiul A-invariant asociat valorilor propriiλI . La fel ca ın cazul valorilor proprii individuale, sI si κI sunt invariante la trans-formari unitare (ın cazul real, ortogonale) de asemanare. In consecinta, evaluarea

4.10. CONDITIONARE 347

conditionarii unui set λI de valori proprii se poate face ın felul urmator. Fie

S = QHAQ =

[S11 S12

0 S22

]

(4.338)

forma Schur ordonata a matricei A astfel ıncat λI = λ(S11), λ(S11) ∩ λ(S22) = ∅ sisolutia X ∈ ICq×(n−q) a ecuatiei Sylvester

S11X −XS22 = S12. (4.339)

Atunci, asa cum s-a aratat ın § 4.7, transformarea de asemanare definita de ma-

tricea T =

[Iq −X0 In−q

]

conduce la obtinerea matricei cu structura bloc-diagonala

T−1ST = diag(S11, S22), iar proiectorul spectral pe subspatiul S-invariant asociatvalorilor proprii λ(S11), conform (4.335), este

P = T ( : , 1 : q)T−1(1 : q, : ) =

[Iq X0 0

]

. (4.340)

Rezulta

sI =1

‖P‖ =1

1 + ‖X‖2, respectiv κI = ‖P‖ =

1 + ‖X‖2. (4.341)

Avandu-se ın vedere dificultatile legate de calculul normei spectrale, ın pacheteleprofesionale de calcul al valorilor proprii 57, se utilizeaza norme matriceale maiusor de calculat. Astfel, ın LAPACK [XV ], ın locul relatiei (4.341) de calcul alparametrului sI se foloseste expresia

sI =1

1 + ‖X‖2F, (4.342)

care, avandu-se ın vedere relatia dintre norma spectrala si norma Frobenius, da o es-timare care difera de valoarea reala printr-un factor cel mult egal cu

min(q, n− q).

In finalul acestui paragraf prezentam un rezultat important care permite defini-rea conditionarii spectrului unei matrice simple ıntr-un context general.

Teorema 4.22 (Bauer-Fike) Fie o matrice diagonalizabila A ∈ ICn×n si V o ma-trice nesingulara ale carei coloane sunt vectori proprii ai matricei A, i.e. astfel ıncatV −1AV = Λ = diag(λ1, λ2, . . . , λn). Daca E ∈ ICn×n este o matrice de perturbatiesi µ o valoare proprie a matricei perturbate µ ∈ λ(A + E), atunci

e(µ) = minλ∈λ(A)

|λ− µ| ≤ κp(V )‖E‖p, p = 1, 2,∞, (4.343)

unde κp(V ) = ‖V ‖p‖V −1‖p este numarul de conditionare la inversare al matriceiV a vectorilor proprii.

57 O dovada certa de profesionalism este ınsasi posibilitatea oferita utilizatorului de a-si evaluaconditionarea problemelor sale de calcul si, pe aceasta cale, nivelul probabil al erorilor.

348 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Demonstratie. Daca µ ∈ λ(A), atunci minλ∈λ(A) |λ − µ| = 0 si, deci, (4.343)este, evident, satisfacuta. Daca µ 6∈ λ(A), atunci matricele µIn−A si µIn−Λ suntnesingulare, iar matricele µIn−A−E si µIn−Λ−V −1EV sunt singulare. Rezulta camatricea (µIn − Λ)

−1(µIn−Λ−V −1EV ) = In−∆, unde ∆ = (µIn − Λ)

−1V −1EV ,

este singulara, i.e. exista un vector z, cu ‖z‖ = 1, astfel ıncat (In −∆)z = 0. Deaici, cu orice norma matriceala consistenta, obtinem

1 = ‖z‖ = ‖∆z‖ ≤ ‖∆‖ · ‖z‖ = ‖∆‖.

Pe de alta parte, oricare ar fi norma matriceala consistenta ‖ · ‖, care ındeplinesteconditia

‖diag(α1, α2, . . . , αn)‖ = maxi=1:n

(|αi|),

(ın particular ‖ · ‖ = ‖ · ‖p, p = 1, 2,∞) avem

‖∆‖ ≤ ‖(µIn − Λ)−1‖ · ‖V −1EV )‖ ≤

≤ maxi=1:n

|µ− λi|−1‖V −1‖ · ‖E‖ · ‖V ‖ = 1

mini=1:n |µ− λi|κ(V )‖E‖.

Din ultimele doua relatii rezulta

1 ≤ 1

mini=1:n |µ− λi|κ(V )‖E‖,

i.e. (4.343) este adevarata, q.e.d. 3

In primul rand remarcam faptul ca ın demonstratia teoremei Bauer-Fike nu s-autilizat ipoteza unor perturbatii ”mici”, i.e. rezultatul este valabil pentru orice nivelal perturbatiilor.

Interpretande(µ)

‖E‖pca sensibilitate numerica a (numar de conditionare al) valorii

proprii λ pentru care se realizeaza minimul din (4.343) rezulta, pe de o parte, faptulca numarul de conditionare la inversare al matricei vectorilor proprii ai unei matricesimple este o margine superioara pentru numerele de conditionare individuale alefiecarei valori proprii.

Pe de alta parte, putem considera maxµ∈λ(A+E)e(µ) drept influenta matricei deperturbatie E asupra ıntregului spectru a lui A si putem utiliza marginea superioara

κp(V ) a numarului maxµ∈λ(A+E)e(µ)

‖E‖ pentru aprecierea sensibilitatii spectrului ma-

tricei simple A. Intrucat vectorii proprii sunt determinati pana la ınmultirea cu unscalar nenul, pentru a elimina aceasta nedeterminare, definirea conditionarii spec-trului unei matrice diagonalizabile se poate face prin intermediul numarului

κ(p)Λ (A) = min

V ∈VA

κp(V ), (4.344)

unde VA este multimea tuturor matricelor de vectori proprii ai matricei A pentrucare avem V −1AV = Λ.

4.10. CONDITIONARE 349

Pentru p = 2, aceasta caracterizare a conditionarii spectrului de valori proprii alunei matrice simple este ıntr-o conexiune stransa cu cea introdusa ın relatia (4.333).

Intr-adevar, daca V ∈ VA, atunci xi =V ei‖V ei‖

este un vector propriu la dreapta,

de norma euclidiana unitara, asociat valorii proprii λi, iar yi =(eTi V

−1)H

‖V −Hei‖este un

vector propriu unitar la stanga asociat aceleiasi valori proprii. Avem

sλi= |yHi xi| =

|eTi V −1V ei|‖V −Hei‖ · ‖V ei‖

=1

‖V ei‖ · ‖V −Hei‖.

Tinand seama de faptul ca ‖V ei‖ ≤ ‖V ‖ · ‖ei‖ = ‖V ‖ si, analog, ‖V −Hei‖ ≤≤ ‖V −1‖, rezulta

sλi≥ 1

κ2(V ), respectiv κλi

≤ κ2(V )

pentru toti i = 1 : n. Cum V ∈ VA era arbitrara, aceasta ınseamna

‖κ‖∞ = maxi=1:n

(κλi) ≤ κ(2)Λ (A). (4.345)

Pe de alta parte, fie matricele X = [x1 x2 · · · xn ], avand drept coloane

vectori proprii la dreapta de norma euclidiana unitara si Y =

yH1yH2...yHn

, cu vectorii

yi vectori proprii la stanga, de asemenea de norma euclidiana unitara. Atunci,tinand seama de faptul ca yHi xj = 0 pentru toti i 6= j (v. exercitiul 4.8), avemY X = diag(sλ1

, sλ2, . . . , sλn

). Prin urmare, matricea

V = XD = Xdiag(√κλ1

,√κλ2

, . . . ,√κλn

)

apartine multimii VA si V −1 = D−1X−1 = DY . Rezulta

κ(V ) = ‖V ‖ · ‖V −1‖ ≤ ‖V ‖F ‖V −1‖F = ‖XD‖F‖DY ‖F = ‖D‖2F =

n∑

i=1

κλi= ‖κ‖1.

Reunind acest rezultat cu (4.345) putem scrie ın concluzie

‖κ‖∞ ≤ κ(2)Λ (A) ≤ ‖κ‖1. (4.346)

Avand ın vedere rolul determinant al structurii directiilor proprii asupra sensi-bilitatii valorilor proprii, este interesant de vazut ın ce conditii κΛ(A) este minim.In acest sens avem urmatoarea propozitie.

Propozitia 4.4 Valoarea minima a numarului de conditionare (4.342) pentrup = 2 este 1 si este atinsa daca matricea A este normala (ın particular, hermiticasau unitara, iar ın cazul real simetrica sau ortogonala).

350 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Demonstratie. Pentru orice matrice de vectori proprii V ∈ VA avem

κ2(V ) = ‖V ‖ · ‖V −1‖ ≥ ‖V V −1‖ = 1.

Prin urmare si κ(2)Λ (A) ≥ 1. Daca matricea A este normala, atunci este unitar

diagonalizabila, respectiv vectorii proprii sunt ortogonali, i.e. κ2(V ) = 1 pentru

toti V ∈ VA. Rezulta κ(2)Λ (A) = 1. 3

Prin urmare spectrele matricelor normale sunt perfect conditionate.O alta problema foarte importanta este legata de existenta mijloacelor de ımbu-

natatire si de conservare a conditionarii numerice a spectrului de valori propriiale unei matrice date. Intrucat spectrul ınsusi trebuie conservat, aceste mijloace serefera la existenta unor transformari de asemanare astfel ıncat matricea A = TAT−1

sa aiba κΛ(A) ≤ κΛ(A). In acest sens avem urmatorul rezultat.

Propozitia 4.5 Transformarile unitare (ın cazul real, ortogonale) de asemanare

conserva numarul de conditionare κ(2)Λ (A) al spectrului unei matrice.

Demonstratie. Conservarea numarului de conditionare este urmare directa aconservarii normei euclidiene la transformari unitare. Intr-adevar, fie A = UAUH

unde U ∈ ICn×n este unitara, i.e. UHU = UUH = In. Atunci, daca V este o matricearbitrara de vectori proprii liniar independenti ai matricei A, V = UV este o matrice(nesingulara) de vectori proprii a matricei A. Prin urmare, κ2(V ) = ‖V ‖ · ‖V −1‖ == ‖UV ‖ · ‖V −1UH‖ = κ2(V ) de unde rezulta si conservarea numarului de conditio-nare minV ∈VA

κ2(V ), q.e.d. 3

Implicatiile importante ale propozitiei de mai sus constau ın utilizarea, practicexclusiva, a transformarilor unitare (ortogonale) de asemanare ın toti algoritmiide calcul al valorilor proprii (vezi sectiunile precedente). De asemenea, rezultaca o eventuala ameliorare a conditionarii spectrului de valori al unei matrice nueste posibila decat prin recurgerea la transformari de asemanare neunitare, care sarealizeze o ”apropiere” a matricei initiale de o matrice normala. Intrucat o matricenormala este caracterizata, printre altele, de faptul ca este perfect echilibrata, i.e.are normele euclidiene ale liniilor si coloanelor de acelasi indice egale, procedurile deameliorare a conditionarii spectrului unei matrice urmaresc o echilibrare a acesteia,asa cum s-a prezentat ın detaliu ın sectiunea 4.4.

B. Conditionarea vectorilor proprii si a subspatiilor invariante

La fel ca si ın cazul valorilor proprii, din motive de simplitate, ne vom margini laanaliza conditionarii vectorilor proprii asociati valorilor proprii simple. De aseme-nea, precizam de la ınceput ca subspatiile invariante generate de vectori proprii rauconditionati pot avea o conditionare mult mai buna. Acesta si este unul din motiveleprincipale pentru care ın practica numerica nu se recomanda, ın general, calcululexplicit al vectorilor proprii, subspatiile invariante de interes putand fi generatemult mai fiabil, de exemplu, de vectorii Schur.

Fie matricea A ∈ ICn×n cu valorile proprii distincte λk si vectorii proprii asociati,de norma euclidiana unitara, xk, k = 1 : n. Consideram matricea perturbata

4.10. CONDITIONARE 351

F = A + E, cu E = ǫG, ‖G‖ = 1, si λk(ǫ), xk(ǫ) (cu ‖xk‖ = 1) valorile si vectoriiproprii ai matricei perturbate, definiti ca ın (4.326). Adaptand notatiile la noulcontext, relatia (4.329) se poate scrie sub forma

Gxk +Az(k)1 = α

(k)1 xk + λkz

(k)1 , unde α

(k)1 =

dλk(ǫ)

∣∣∣∣ǫ=0

, z(k)1 =

dxk(ǫ)

∣∣∣∣ǫ=0

.

(4.347)Intrucat, ın ipotezele acceptate, vectorii proprii xk, k = 1 : n, formeaza o baza

a spatiului ICn, putem scrie z(k)1 =

∑ni=1 γ

(k)i xi, relatie care, introdusa ın (4.347),

conduce lan∑

i=1i6=k

γ(k)i (λk − λi)xi = (G− αkIn)xk. (4.348)

Inmultind la stanga relatia (4.347) cu yHi , unde yi este vectorul propriu la stangaasociat valorii proprii λi, si tinand seama de faptul ca yHj xi = 0 pentru j 6= i si

yHi xi 6= 0 (v. exercitiile 4.8 si 4.9) obtinem

γ(k)i =

yHi Gxk(λk − λi)yHi xi

, i = 1 : n, i 6= k. (4.349)

Prin urmare, dezvoltarea ın serie (4.326) conduce la urmatoarea evaluare a influenteiperturbatiei asupra vectorului propriu xk:

xk(ǫ) = xk + ǫn∑

i=1i6=k

yHi Gxk

(λk − λi)yHi xixi +O(ǫ2). (4.350)

In sensul celor precizate ın preambulul acestei sectiuni, putem considera

κxk= ‖

n∑

i=1i6=k

yHi Gxk(λk − λi)yHi xi

xi‖ (4.351)

drept numar de conditionare al vectorului propriu xk. Relatia (4.351) arata casensibilitatea unui vector propriu este dependenta esential atat de sensibilitatiletuturor valorilor proprii cat si de distanta (”separarea”) valorii proprii asociate fatade celelalte valori proprii.

Exemplul 4.10 Reluam matricea din exemplul precedent, respectiv consideram

A =

[λ1 β0 λ2

]

∈ IR2×2 cu λ1 6= λ2 si notam δ = λ1 − λ2. Vectorii proprii, de

norma unitara, au expresiile (facand abstractie de semn)

x1 =

[10

]

, x2 =1

β2 + δ2

[β−δ

]

, y1 =1

β2 + δ2

[δβ

]

, y2 =

[01

]

.

Prin urmare, relatiile (4.351) se scriu ın acest caz sub forma

κx1= ‖y

T2 Gx1

δyT2 x2x2‖, κx2

= ‖yT1 Gx2

δyT1 x1x1‖.

352 CAPITOLUL 4. VALORI SI VECTORI PROPRII

In cazul numeric A =

[1.01 0.010 1

]

, avem κλ1= κλ2

=√2, i.e. ambele

valori proprii sunt foarte bine conditionate. Vectorii proprii normati ai matriceineperturbate sunt

x1 =

[10

]

, x2 =1

2

[ √2

−√2

]

≈[

0.70710−0.70710

]

.

Valorile proprii ale matricei perturbate F = A + ǫG =

[1.01 0.0110−3 1

]

, unde ǫ =

= 10−3 si G =

[0 01 0

]

(cu ‖G‖ = 1), sunt λ1 ≈ 1.0109 si λ2 ≈ 0.99908, i.e.

cu perturbari de ordinul de marime al lui ǫ. In schimb, vectorii proprii normati aimatricei perturbate sunt

x1 = x1(10−3) ≈

[0.9958300.091226

]

, x2 = x2(10−3) ≈

[0.67549−0.73737

]

.

Se observa influenta mult mai puternica a perturbatiei asupra vectorilor propriidecat asupra valorilor proprii. De exemplu, x2 are un element fara nici o cifrazecimala corecta desi perturbatia a modificat numai a treia cifra zecimala a unuielement al matricei initiale. Aceasta se datoreste faptului ca vectorul propriu x2este relativ rau conditionat ıntrucat κx2

= 100/√2. 3

Exprimarea conditionarii vectorilor proprii si, mai general, evaluarea erorilor ıncalculul vectorilor proprii prin expresii de genul ‖x−x‖ nu este ıntotdeauna semni-ficativa datorita faptului ca vectorii proprii, chiar normati, nu sunt unic determinati.De exemplu, daca x = −x, i.e. x este un vector propriu exact, avem ‖x−x‖ = 2. Deaceea, este preferabila aprecierea influentei perturbatiilor asupra vectorilor propriiprin evaluarea diferentei unghiulare dintre vectorul exact si cel perturbat, definitaprin

θ(x, x) = arccos|xH x|‖x‖ · ‖x‖ = arccos |xH x|, (4.352)

ultima expresie fiind adevarata ın cazul utilizarii vectorilor normati ‖x‖ = ‖x‖ = 1.Prin definitie, unghiul θ(x, x), introdus ın relatia (4.352), este unghiul ascutit dintredirectiile vectorilor x si x.

Aceasta abordare poate fi extinsa la exprimarea conditionarii subspatiilor in-variante. Fie doua subspatii U ,V ⊂ ICn. Definim diferenta unghiulara sau unghiulascutit dintre subspatiile U si V prin

θ(U ,V) = maxu∈Uu6=0

minv∈Vv 6=0

θ(u, v). (4.353)

Evident, θ(U ,V) = θ(V ,U). Relatia de definitie (4.353) nu permite calculul unghiu-lui dintre doua subspatii dar mijloace pentru a face acest lucru exista 58. Fiind datao matrice A si λI ⊂ λ(A) un set de valori proprii ale acesteia, prin conditionarea

58 O relatie care exprima unghiul dintre doua subspatii si generalizeaza expresia (4.352) a unghiu-

4.10. CONDITIONARE 353

subspatiului A-invariant U asociat setului λI vom ıntelege variatia unghiulara (sauo margine superioara a acesteia) a subspatiului U raportata la nivelul perturbatiilorın elementele matricei A.

Conditionarea subspatiilor invariante este determinata ın mod decisiv de lo-calizarea valorilor proprii asociate. Este ınsa posibil ca un subspatiu generat devectori proprii rau conditionati sa aiba o conditionare foarte buna daca grupulcorespunzator de valori proprii este bine separat de restul valorilor proprii.

Pentru a aborda constructiv aceasta problema introducem cateva notiuni noi.Vom defini mai ıntai separarea dintre spectrele a doua matrice A ∈ ICm×m si B ∈∈ ICn×n. In acest scop, fie aplicatia liniara L : ICm×n → ICm×n definita de L(X) == AX−XB. Distanta (sau separarea) dintre spectrele matricelor A si B se masoaraprin scalarul

sep(A,B)def= min

X 6=0

‖L(X)‖F‖X‖F

= minX 6=0

‖AX −XB‖F‖X‖F

. (4.354)

Intrucat cadrul propus al lucrarii nu ne ofera mijloacele necesare prezentarii pe larga proprietatilor parametrului de separare sep 59, vom sugera semnificatia sa printr-oparticularizare. Fie B = µ ∈ IC o matrice 1 × 1 si A o matrice normala, i.e. unitardiagonalizabila (v. teorema 4.1). Atunci, QHAQ = Λ = diag(λ1, λ2, . . . , λm) cu Qo matrice unitara. Avem

sep(A,B) = minx 6=0

‖(A− µIn)x‖F‖x‖F

= min‖x‖=1

‖(A− µIn)x‖ =

= min‖z‖=1

‖(Λ− µIn)z‖ = mini=1:m

|λi − µ|,

i.e. sep(A,B) este efectiv o distanta dintre µ si spectrul matricei A. In acestcontext, daca B este o matrice de ordinul n si λ(B) = {µ1, µ2, . . . , µn} definimdistanta absoluta dintre spectrele matricelor A si B prin

gap(A,B)def= min

i=1:mj=1:n

|λi − µj | (4.355)

lui dintre doi vectori (sau doua subspatii unidimensionale) este

θ(U ,V) = arccos σmin(UHV ),

unde σmin(·) este valoarea singulara minima (v. cap. 5) a matricei argument, U este o matriceale carei coloane formeaza o baza ortogonala a subspatiului U si V este o matrice ale carei coloaneformeaza o baza ortogonala a subspatiului V . O astfel de abordare permite introducerea conceptu-

lui de distanta dintre subspatii liniare prin dist(U ,V) =√

1− σ2min(UHV ) = sin θ(U ,V), concept

util unei tratari cantitative a conditionarii subspatiilor invariante. Pentru detalii recomandamconsultarea referintei [ VI ].

59 O exprimare posibila a separarii matricelor A si B, care permite calculul ei cel putin ınprincipiu, este

sep(A,B) = σmin(In ⊗ A− BT ⊗ Im),

unde σmin(·) este valoarea singulara minima (v. cap. 5) a matricei argument, iar Z = X ⊗ Y esteprodusul Kronecker al matricelor X si Y , i.e. matricea bloc [Zij ] = [xijY ].

354 CAPITOLUL 4. VALORI SI VECTORI PROPRII

si distanta relativa prin

gaprel(A,B)def= min

i=1:mj=1:n

|λi − µj ||λi + µj |

. (4.356)

Proprietatea evidentiata ın cazul particular de mai sus se generalizeaza ın modnatural si justifica utilizarea parametrului sep(A,B) ca masura a separarii spectrelormatricelor A si B. In cazul general se pot face urmatoarele afirmatii:

• sep(A,B) = 0 daca si numai daca matricele A si B au cel putin o valoareproprie comuna;

• sep(A,B) este ”mica” daca si numai daca exista o perturbare ”mica” a uneiadintre matrice care face ca cele doua matrice sa aibe cel putin o valoare propriecomuna;

• daca matriceleA siB sunt hermitice (ın cazul real, simetrice), atunci separareacoincide cu distanta dintre spectre, i.e. sep(A,B) = gap(A,B);

• daca matricele A si B nu sunt hermitice (ın cazul real, simetrice), atuncisep(A,B) < gap(A,B) si chiar poate fi mult inferioara lui gap(A,B);

In pachetele profesionale de calcul numeric exista proceduri de estimare rapida 60

a separarii spectrelor.

Revenind la problema conditionarii vectorilor proprii ai unei matrice A ∈ ICn×n

si a subspatiilor sale invariante, precizam ca, la fel ca ın cazul valorilor proprii,aceasta nu este afectata de transformari unitare de asemanare. Prin urmare, faraa reduce generalitatea, putem considera matricea initiala direct ın forma Schur,eventual ordonata ın mod convenabil. Fie, asadar, multimea de indici I ∈ 1 : n sisetul λI ⊂ λ(A) al valorilor proprii de interes. Consideram matricea

S = QHAQ =

[S11 S12

0 S22

]

∈ ICn×n, cu S11 ∈ ICq×q, λ(S11) = λI (4.357)

si XI = ImQ( : , 1 : q) subspatiul A-invariant asociat setului de valori proprii λI .Vom nota separarea spectrelor matricelor S11 si S22 cu

sep(S11, S22)not= sepI .

Conditionarea subspatiului invariant XI , i.e. variatia unghiulara a acestuia ra-portata la nivelul perturbatiilor ın matricea initiala, se poate aprecia prin numarulde conditionare

κXI

def=

1

sepI. (4.358)

60 Variantele rapide se obtin de obicei prin utilizarea unor norme matriceale care se calculeazamai usor (cum sunt ‖ · ‖1 sau ‖ · ‖∞). In acest fel se obtin estimari care difera de valoarea realaprintr-un factor cel mult egal cu

√mn, perfect acceptabil ın practica numerica.

4.10. CONDITIONARE 355

In particular, daca I contine un singur element, i.e. I = {i} numarul

κXi

def=

1

sepi(4.359)

exprima conditionarea vectorului propriu asociat valorii proprii λi a matricei A.Pentru detalii recomandam consultarea referintelor bibliografice [ IV ], [ VI ], [ VIII ].

4.10.2 Conditionarea valorilor si vectorilor propriipentru matrice hermitice

A. Conditionarea valorilor proprii

Desigur, toate dezvoltarile privitoare la conditionarea valorilor proprii pentru ma-tricele nehermitice raman valabile si pentru matricele hermitice, iar ın cazul real,pentru matricele simetrice. Pe de alta parte matricele hermitice 61 prezinta nu-meroase particularitati interesante si din acest punct de vedere.

In primul rand, conform teoremei 4.2, o matrice A ∈ ICn×n hermitica este unitardiagonalizabila si are spectrul real, i.e. exista o matrice unitara Q ∈ ICn×n astfelıncat QHAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ IRn×n. Rezulta ca vectorul propriuxi = Q( : , i), de norma euclidiana unitara, satisface simultan relatia xHi A = λix

Hi ,

i.e. este si vector propriu la stanga asociat aceleiasi valori proprii. Rezulta canumerele de conditionare ale valorilor proprii λi, definite de (4.331), sunt

κλi=

1

sλi

=1

|xHi xi|= 1, i = 1 : n. (4.360)

Prin urmare, valorile proprii ale matricelor hermitice (ın cazul real, simetrice) suntperfect conditionate, variatiile (absolute) ale valorilor proprii induse de perturbatiiın matricea initiala nedepasind nivelul acestor perturbatii.

Exemplul 4.11 Fie matricea simetrica A =

[1.000 0.9000.900 1.000

]

∈ IR2×2 cu val-

orile proprii exacte λ1 = 1.9 si λ2 = 0.1. Valorile proprii ale matricelor simetrice

perturbate F1 = A + ǫG1 =

[1.001 0.9000.900 1.001

]

, F2 = A + ǫG2 =

[1.000 0.9010.901 1.000

]

si F3 = A+ ǫG3 =

[1.001 0.9000.900 1.000

]

, unde, de fiecare data perturbatiile sunt sime-

trice, ǫ = 10−3 si ‖Gi‖ = 1, sunt λ(F1) = {1.901, 0.101}, λ(F2) = {1.901, 0.101},λ(F3) = {1.9005, 0.1005}, ın toate cazurile variatiile absolute ale valorilor propriinedepasind valoarea lui ǫ. In schimb, variatiile relative ale valorii proprii mai micisunt de aproximativ 20 de ori (i.e raportul celor doua valori proprii) mai mari decatvariatiile relative ale valorii proprii mai mari.

Conditionarea excelenta a valorilor proprii ale unei matrice simetrice se mani-festa si la perturbatii nesimetrice (desi nu se mai poate garanta ca matricele per-

turbate au un spectru real). Astfel pentru F4 = A+ ǫG4 =

[1.000 0.9010.900 1.000

]

avem

λ(F4) = {1.9005, 0.0995}. 3

61 Majoritatea rezultatelor sunt adevarate pentru cazul mai general al matricelor normale.

356 CAPITOLUL 4. VALORI SI VECTORI PROPRII

Subliniem, ın ıncheierea acestui paragraf, ca alte evaluari utile ale efectelorperturbatiilor ın datele initiale sunt consecinte directe ale teoremelor 4.6 si 4.7.

B. Conditionarea vectorilor proprii si a subspatiilor invariante

Desi valorile proprii ale matricelor hermitice sunt perfect conditionate nu acelasilucru se poate spune despre vectorii proprii si subspatiile invariante, a caror condi-tionare este dependenta, la fel ca ın cazul general, de separarea seturilor de valoriproprii carora le sunt asociate de restul spectrului matricei date. Singura particu-laritate, mentionata deja ıntr-unul din paragrafele precedente, consta ın faptul caparametrii de separare sepi, respectiv sepI , definite ın (4.354), coincid cu distanteledintre spectre gapi, respectiv gapI , definite ın (4.355) si, ın consecinta, se calculeazamult mai usor.

4.11 Stabilitatea numerica a algoritmului QR

O problema de calcul numeric rau conditionata nu poate fi rezolvata bine ıntr-unmediu de calcul aproximativ. In schimb, o problema bine conditionata poate firezolvata prost daca nu se utilizeaza un algoritm corespunzator. Contributia unoralgoritmi concreti de calcul la nivelul erorilor din rezultate, un atribut esential alcalitatii lor, este apreciata cu ajutorul conceptului de stabilitate numerica si se facecurent prin evaluarea acestei contributii ın ”echivalent erori ın datele initiale” (vezicap. 0). In acest sens, amintim ca un algoritm este considerat numeric stabil dacarezultatele oferite de executia sa sunt rezultate exacte ale problemei cu date initialece difera de datele reale la nivelul erorilor de reprezentare, eventual multiplicate cu ofunctie de dimensiunea problemei avand o ”crestere modesta”. Garantia tinerii subcontrol a erorilor de calcul se poate da numai pentru probleme bine conditionate,cu restrictia utilizarii unor algoritmi numeric stabili.

Pentru probleme de calcul netriviale, cum este calculul valorilor si vectorilorproprii, analiza erorilor introduse de calculul ın virgula mobila este o sarcina extremde dificila. Mai mult, stabilirea unor margini cat mai exacte ale erorilor (reduse lanivelul datelor initiale) nici nu are o relevanta majora. Asa cum reiese dintr-oexperienta ce poate fi considerata semnificativa, un obiectiv mai important al ana-lizei numerice ıl constituie sesizarea unor situatii de instabilitate numerica, situatiiın care utilizarea algoritmului respectiv trebuie interzisa. De aceea, ın continuarene propunem sa prezentam, fara demonstratii sau justificari matematice profunde,rezultatele existente ın literatura de specialitate referitoare la stabilitatea numericaa algoritmilor prezentati ın acest capitol si, ın primul rand, a algoritmului QR.

Rezultatul principal consta ın faptul ca algoritmul QR de calcul al valorilor sivectorilor proprii ai unei matrice n× n reale sau complexe A este numeric stabil siacest fapt se datoreaza esential utilizarii exclusive a transformarilor unitare 62 (ıncazul real, ortogonale). Concret, forma Schur (ın cazul real, reala sau complexa)calculata S este o forma Schur exacta a unei matrice A = A + E foarte apropiate

62 Procedura de echilibrare, singura care nu utilizeaza transformari unitare, a fost astfel con-ceputa ıncat toate calculele sunt exacte, deci nu apar probleme de stabilitate.

4.11. STABILITATE NUMERICA 357

de matricea initiala, i.e.S = QH(A+ E)Q, (4.361)

unde Q este o matrice unitara si E o matrice a erorilor raportate la datele de intrareale algoritmului satisfacand conditia

‖E‖ ≤ p(n)‖A‖εM , (4.362)

cu p(n) o functie de ordinul matricei, cu o crestere modesta 63.Daca se acumuleaza transformarile, atunci matricea de transformare calculata

Q este aproape unitara ın sensul ca

QHQ = In + E, cu ‖E‖ ≤ p(n)‖A‖εM . (4.363)

Prin urmare, valorile proprii calculate cu algoritmul QR, ca si vectorii pro-prii calculati sau subspatiile invariante calculate sunt valori proprii exacte, vec-tori proprii exacti sau subspatii invariante exacte ale unor matrice foarte apropiatede matricea data. Aceasta ınseamna ca nivelul erorilor ın rezultate va fi redusdaca problema concreta respectiva este bine conditionata, respectiv poate fi impor-tant ın cazul unei conditionari necorespunzatoare. Asa cum s-a mentionat, pentruaprecierea erorilor din rezultate, pachetele profesionale de programe permit esti-marea numerelor de conditionare si, pe aceasta baza estimarea erorilor conformcelor aratate ın sectiunea precedenta. Consideram util sa prezentam ın finalul aces-tei sectiuni astfel de estimari ale erorilor de calcul al valorilor proprii, vectorilorproprii si subspatiilor invariante cu algoritmii propusi ın capitolul de fata. Vomutiliza notatia consacrata cu accentˆpentru valorile calculate.

Matrice generale (nehermitice)

• Valori proprii:|λi − λi| ≤ κλi

p(n)‖A‖εM . (4.364)

• Vectori proprii:

θ(xi, xi) ≤p(n)‖A‖F εM

sepi. (4.365)

• Subspatii invariante:

θ(SI ,SI) ≤p(n)‖A‖F εM

sepI. (4.366)

Matrice hermitice (ın cazul real, simetrice)

• Valori proprii:|λi − λi| ≤ κλi

p(n)‖A‖εM . (4.367)

63 Practic pentru toti algoritmii prezentati ın acest capitol, p(n) este o functie polinomiala de ungrad ”modest” (1, 2 sau, foarte rar, 3) de parametri ce definesc dimensiunea problemei. Expresiileexistente, la un moment istoric dat, pentru p(n) sunt, ın general, evaluari pesimiste si cunoasterea

exacta a acestor expresii este lipsita de semnificatie pentru practica numerica. In [XV ] se afirmaca o apreciere de genul p(n) < 10n este adevarata ın majoritatea situatiilor practice pentru carese foloseste formula de evaluare ”functie cu o crestere modesta”.

358 CAPITOLUL 4. VALORI SI VECTORI PROPRII

• Vectori proprii:

θ(xi, xi) ≤p(n)‖A‖F εM

gapi. (4.368)

• Subspatii invariante:

θ(SI ,SI) ≤p(n)‖A‖F εM

gapI. (4.369)

Pentru detalii recomandam consultarea referintelor bibliografice [ XI ], [ XII ], [ XV ].

4.12 Rutine LAPACK si MATLAB

LAPACK. Calculul valorilor si vectorilor proprii ai unei matrice A este efectuatın LAPACK de cateva rutine driver, diferentiate de tipul matricei (generala sausimetrica) si de gradul de detaliere a rezultatelor.

Pentru matrice generale exista doua categorii de rutine driver.

1. Rutina xGEES calculeaza forma Schur a matricei A si eventual vectorii Schur,folosind algoritmulQR. Forma Schur poate fi ordonata, ın sensul ca o submul-time a valorilor proprii, aleasa de utilizator, se va afla ın coltul stanga-sus al

formei Schur (ca ın schema FSC ORD p ).

Driverul expert xGEESX calculeaza ın plus numerele de conditie ale valorilorproprii.

2. Rutina xGEEV calculeaza valorile si eventual vectorii proprii ai matricei A.Rutina expert xGEEVX poate efectua suplimentar si scalarea matricei (ca ınalgoritmii din sectiunea 4.7) sau calcula numerele de conditie ale valorilorproprii.

Pentru matricele simetrice, driverul simplu xyyEV (unde yy este SY, HE, SP, HP,SB, HB, ST; ultima notatie este pentru matrice simetrice tridiagonale) calculeazavalorile si, eventual, vectorii proprii, utilizand algoritmul QR simetric.

Rutina expert xyyEVX poate calcula si toate sau numai o submultime a valorilorproprii si, optional, vectorii proprii corespunzatori.

Rutinele de calcul sunt mult mai numeroase, de aceea ne vom margini laprezentarea celor mai importante.

Pentru matrice generale, diversele faze ale calculului sunt implementate astfel:

• xGEHRD realizeaza reducerea unei matrice oarecare A la forma HessenbergH prin transformari de asemanare ortogonale (ca ın algoritmul HQc dinsectiunea 4.4.1).

• xHSEQR implementeaza faza iterativa a algoritmului QR, transformand H ınforma Schur, cu acumularea optionala a transformarilor (si deci obtinereavectorilor Schur).

4.12. RUTINE LAPACK SI MATLAB 359

• vectorii proprii ai matricei A sunt calculati fie cu rutina xTREVC, care utilizeazaforma Schur (problema este deci de a calcula vectorii proprii ai unei matrice(cvasi-)triunghiulare), fie cu rutina xHSEIN, care utilizeaza forma Hessenbergsi metoda puterii inverse, foarte eficienta cand valorile proprii sunt disponibile,dar care functioneaza si fara ca acestea sa fi fost calculate.

Alte rutine utile sunt urmatoarele:

• xGEBAL realizeaza scalarea (echilibrarea) matricei A; se utilizeaza ın conjunctiecu rutina complementara xGEBAK, care reface vectorii proprii ai matricei A dincei ai matricei scalate (evident, valorile proprii sunt identice).

• xTRSEN ordoneaza forma Schur prin aducerea ın coltul stanga-sus a uneisubmultimi de valori proprii descrise de utilizator.

• xTREXC aduce o singura valoare proprie ın pozitia dorita (aceasta rutina tre-buie apelata repetat pentru a realiza o permutare completa, ca ın algoritmulFSR ORD).

• xTRSYL rezolva ecuatia Sylvester cvasi-triunghiulara.

• xTRSNA calculeaza numerele de conditie ale valorilor proprii.

Pentru matrice simetrice, etapele de calcul sunt implementate de

• xyyTRD efectueaza reducerea unei matrice simetrice (hermitice) la forma tridi-agonala reala, prin transformari de asemanare ortogonale.

• xSTEQR calculeaza valorile si, optional, vectorii proprii ai unei matrice tridi-agonale, implementand faza iterativa a algoritmului QR simetric. Exista ıncaalte cateva rutine cu aceeasi functionalitate, dar utilizand algoritmi diferiti; deexemplu xSTEBZ implementeaza metoda bisectiei (vezi algoritmul BISECT).

• xSTEIN calculeaza vectorii proprii (eventual numai unii dintre acestia) ai uneimatrice tridiagonale, utilizand metoda puterii inverse.

MATLAB. Valorile si vectorii proprii ai unei matrice generale A pot fi calculatecu

[V, D] = eig(A)

V fiind matricea vectorilor proprii (posibil complecsi), iar D o matrice diagonalacontinand valorile proprii. Apelul simplu eig(A) returneaza un vector continandvalorile proprii. Functia eig implementeaza algoritmul QR.

Reducerea la forma Hessenberg a matricei A se face cu functia hess, care acu-muleaza optional transformarile.

Forma Schur a matricei A si, optional, vectorii Schur, se obtin cu functia schur.Echilibrarea matricei A se realizeaza cu functia balance.

360 CAPITOLUL 4. VALORI SI VECTORI PROPRII

O functie pentru ordonarea formei Schur se gaseste ın Control Toolbox 64.Aceasta se numeste schord si implementeaza algoritmul FSC ORD, adica per-muta complet forma Schur. Functia utilizeaza numai forma Schur complexa, adicao matrice superior triunghiulara. In cazul real, trebuie apelate functiile rsf2csf sicsf2rsf pentru transformarea ortogonala a unei forme Schur reale ıntr-una com-plexa (ınainte de ordonare) si invers (dupa aceea).

Nu exista nici o functie speciala pentru matrice simetrice.

4.13 Probleme

P 4.1 Se considera date matricele

A =

[3 −3 2−1 5 −2−1 3 0

]

, B =

[ −4 0 8−8 3 9−4 −1 9

]

.

Folosind definitiile, calculati valorile proprii ale celor doua matrice si cate un vector propriuasociat fiecarei valori proprii. Sunt cele doua matrice diagonalizabile? Verificati.

P 4.2 In cadrul capitolului, cazul real a fost tratat adesea ca un caz particular al cazu-lui complex. In acest context, este IRn un subspatiu liniar al spatiului ICn? Justificatiraspunsul.

P 4.3 Fie matricele A ∈ ICm×m, B ∈ ICn×n si matricea C =

[A 00 B

]

, suma directa a

matricelor A si B. Demonstrati ca C este diagonalizabila daca si numai daca A si B suntdiagonalizabile.

P 4.4 Se considera o matrice A ∈ IRn×n avand structura bloc superior triunghiulara

A =

[A1 A12

0 A2

]

. Daca matricele A1 si A2 sunt diagonalizabile, este diagonalizabila si

matricea A? Argumentati raspunsul.

P 4.5 Fie matricele A ∈ ICm×n, B ∈ ICn×m. Demonstrati ca λ(AB) ⊆ λ(BA) daca m ≤ nsi λ(BA) ⊆ λ(AB) daca m ≥ n. In cazul, m 6= n, care dintre valorile proprii ale matriceide ordin mai mare (dintre matricele AB si BA) nu sunt valori proprii ale matricei de ordinmai mic ?

P 4.6 Perechea de matrice (A,B) ∈ ICn×n× ICn×n se numeste diagonalizabila (sau, echiva-lent, matricele A si B se numesc simultan diagonalizabile) daca exista o matrice nesingulara

X ∈ ICn×n astfel ıncat X−1(A,B)Xdef= (X−1AX,X−1BX) = (ΛA,ΛB), cu ΛA, ΛB di-

agonale. Demonstrati: a) Daca A este diagonalizabila, atunci perechea (A,µIn) estediagonalizabila pentru toti µ ∈ IC. b) Daca (A,B) este diagonalizabila, atunci matriceleA si B comuta. c) Presupunem ca matricele A si B sunt diagonalizabile. Atunci A si Bcomuta daca si numai daca perechea (A,B) este diagonalizabila. d) Dati un exemplu dedoua matrice care comuta si care nu sunt simultan diagonalizabile.

P 4.7 Daca matricele A,B ∈ ICn×n comuta, atunci au un vector propriu comun.

64Colectiile de functii MATLAB dedicate unor domenii specializate si nefacand parte din setulde baza al limbajului poarta numele consacrat de toolbox.

4.13. PROBLEME 361

P 4.8 Fie λ1, λ2 doua valori proprii distincte ale unei matrice A ∈ ICn×n si x1 un vectorpropriu la dreapta asociat lui λ1, iar y2 un vector propriu la stanga asociat lui λ2. Aratatica cei doi vectori sunt ortogonali, i.e. yH

2 x1 = 0.

P 4.9 Daca λ ∈ λ(A), este o valoare proprie simpla a unei matrice A ∈ ICn×n si x, respectivy, sunt vectori proprii la dreapta, respectiv la stanga, asociati lui λ, atunci yHx 6= 0. Datiun exemplu ın care aceasta conditie nu este satisfacuta daca λ nu este o valoare propriesimpla.

P 4.10 Se considera o matrice A ∈ ICn×n diagonalizabila. Aratati ca exista vectoriiproprii (la dreapta) xi, i = 1 : n, si vectorii proprii la stanga yi, i = 1 : n, astfel ıncatA =

∑n

i=1λixiy

Hi .

P 4.11 Sa se demostreze lema 4.4.

P 4.12 Fie date o matrice A ∈ ICn×n si un polinom p(λ) = λn+p1λn−1+ . . .+pn−1λ+pn.

Consideram matricea

Pdef= p(A) = An + p1A

n−1 + . . .+ pn−1A+ pnIn.

Sa se arate ca daca λi ∈ λ(A), atunci p(λi) ∈ λ(P ) si daca xi este un vector propriu almatricei A, asociat valorii proprii λi, atunci el este si vector propriu al matricei P asociatvalorii proprii p(λi).

P 4.13 Fie date o matrice A ∈ ICn×n si o functie rationala r(λ) =p(λ)

q(λ). Definim matricele

Pdef= p(A), Q

def= q(A) si, daca Q este nesingulara, R

def= Q−1P . Aratati ca daca λi ∈ λ(A)

si xi este un vector propriu al matricei A asociat valorii proprii λi, atunci r(λi) ∈ λ(R),iar xi este si vector propriu al matricei R asociat valorii proprii r(λi).

P 4.14 Fie o matrice nesingulara A ∈ ICn×n. Daca ‖·‖ este o norma matriceala consistenta,

aratati ca numarul de conditionare la inversare κ(A)def= ‖A‖ · ‖A−1‖ satisface inegalitatea

κ(A) ≥ max(|λi(A)|)min(|λi(A)|) .

P 4.15 a) O matrice patrata A se numeste nilpotenta daca exista un numar natural kastfel ıncat Ak = 0. Aratati ca o matrice nilpotenta are toate valorile proprii nule. Dati unexemplu de matrice nilpotenta nenula. b) O matrice A ∈ ICn×n se numeste idempotentadaca A2 = A. Aratati ca o matrice idempotenta nu poate avea alte valori proprii ın afarade 0 si 1. Dati un exemplu de matrice idempotenta nenula si diferita de matricea unitate.

P 4.16 a) Cati vectori proprii (la dreapta) liniar independenti poate avea o celula Jordan

Jλ =

λ 1λ 1

. . . 1λ

de ordinul n? Dar la stanga ? b) Aratati ca o celula Jordan

de ordin n ≥ 2 nu poate fi diagonalizata prin transformari de asemanare. c) Calculatiexpresia analitica a matricei Jk

λ unde Jλ este o celula Jordan de ordin n cu elementelediagonale egale cu λ. Exista k ∈ IN∗ astfel ıncat Jk

λ sa fie diagonalizabila ? d) Calculatiexpresia analitica a matricei J−1

λ , unde λ 6= 0. Este J−1λ diagonalizabila ?

362 CAPITOLUL 4. VALORI SI VECTORI PROPRII

P 4.17 Ce rang (i.e. numarul maxim de linii sau coloane liniar independente) poate avea omatrice superior Hessenberg H ∈ ICn×n ireductibila (i.e. cu toate elementele subdiagonalenenule)? Se poate diagonaliza o matrice superior Hessenberg ireductibila cu valori propriimultiple? Justificati raspunsul.

P 4.18 Fie o matrice A ∈ ICn×n de forma

C =

−p1 −p2 · · · −pn−1 −pn1 0 · · · 0 00 1 · · · 0 0...

.... . .

......

0 0 · · · 1 0

.

a) Sa se arate ca polinomul caracteristic al matricei A este

p(λ) = λn + p1λn−1 + . . .+ pn−1λ+ pn.

b) Sa se arate ca matricea C este nesingulara daca si numai daca pn 6= 0 si ın aceastasituatie sa se calculeze matricea C−1. Care este polinomul caracteristic al matricei C−1 ?c) Presupunand ca radacinile λi, i = 1 : n, ale polinomului p(λ), sunt cunoscute, sa secalculeze cate un set de vectori proprii pentru matricele C si CT . d) Matricile C si CT

poarta numele de matrice companion ale polinomului p(λ). Puteti preciza si alte matricecare sa justifice aceasta denumire?

P 4.19 a) Calculati valorile si vectorii proprii pentru o matrice de rotatie. b) Calculativalorile si vectorii proprii pentru un reflector elementar.

P 4.20 Demonstrati ca o matrice normala triunghiulara este diagonala. In particular, omatrice hermitica (simetrica) sau unitara (ortogonala) triunghiulara este diagonala.

P 4.21 Aratati ca o matrice A ∈ IR2×2 este normala daca si numai daca este simetrica

sau are structura A =

[α β−β α

]

.

P 4.22 Demonstrati urmatorul rezultat important. O matrice reala A ∈ IRn×n estenormala daca si numai daca este ortogonal cvasi-diagonalizabila, i.e. exista o matrice or-togonala Q ∈ IRn×n astfel ıncat QTAQ = diag(A1, A2, . . . , Ap), unde Ai sunt blocuri reale

1× 1 sau 2× 2, cu blocurile 2× 2 cu valori proprii complexe de forma Ai =

[αi βi

−βi αi

]

.

P 4.23 Se considera o matrice arbitrara A ∈ ICn×n. Demonstrati urmatoarele asertiuni.a) Matricile F = AH +A, G = AHA, H = AAH sunt hermitice. b) Matricea K = A−AH

este antihermitica. c) Matricea A poate fi descompusa, ın mod unic, ın suma A = B+C,unde B este hermitica (numita partea hermitica a lui A), iar C este antihermitica (numitapartea antihermitica a lui A). d) Matricea A poate fi descompusa, ın mod unic, ın sumaA = S + iT , unde S si T sunt matrice hermitice.

P 4.24 Fie A,B ∈ ICn×n doua matrice hermitice si C,D ∈ ICn×n doua matrice antiher-mitice. Demonstrati urmatoarele asertiuni. a) Matricile F = αA + βB, cu α, β ∈ IR,G = Ak, cu k ∈ IN∗, K = C2k, si, daca A este nesingulara, L = A−1 sunt matrice her-mitice. b) Matricile M = αC + βD, cu α, β ∈ IR, N = C2k+1 si, daca C este nesingulara,P = C−1 sunt matrice antihermitice.

4.13. PROBLEME 363

P 4.25 Demonstrati ca o matrice A ∈ ICn×n este normala daca si numai daca partea sahermitica (vezi problema 4.23) comuta cu partea sa antihermitica.

P 4.26 Aratati ca o matrice A ∈ ICn×n este normala daca si numai daca ‖Ax‖2 = ‖AHx‖2pentru toti x ∈ ICn.

P 4.27 Fie A ∈ ICn×n si multimea de indici I = { i1, i2, . . . , ik }, cu i1 < i2 < . . . < ik,ij ∈ 1 : n. Matricea B = A(I, I) se numeste submatrice principala a lui A. a) Dacamatricea A este hermitica (antihermitica), atunci si B este hermitica (antihermitica).b) Daca matricea A este normala, fara a fi hermitica sau antihermitica, este B normala ?

P 4.28 Fie A ∈ ICn×n o matrice hermitica si x ∈ ICn un vector nenul, arbitrar, fixat.

Notam µ =xHAx

xHxcatul Rayleigh asociat lui x. Aratati ca fiecare din intervalele (−∞, µ]

si [µ,∞) contin cel putin o valoare proprie a matricei A.

P 4.29 Fie o matrice hermitica A ∈ ICn×n. Se numeste p-sectiune a lui A o matrice(hermitica) B = QHAQ ∈ ICp×p, unde Q ∈ ICn×p este o matrice avand coloanele ortogonale(i.e. satisface conditia QHQ = Ip). Aratati ca daca spectrele λ(A) = {λ1, λ2, . . . , λn } siλ(B) = {µ1, µ2, . . . , µp } sunt ordonate descrescator, atunci λk ≥ µk, k = 1 : p, precum siµp−k+1 ≥ λn−k+1, k = 1 : p.

P 4.30 Fie A ∈ ICn×n o matrice hermitica. Aratati ca A are o valoare proprie situata ınintervalul [ a11 − µ, a11 + µ ], unde µ = ‖A(1, 2:n)‖2.

P 4.31 Dati doua exemple de matrice simetrice complexe, din care una sa fie normalasi cealalta nu. Retineti din aceasta situatie ca exista o diferenta esentiala ıntre matricelesimetrice reale si matricele simetrice complexe 65.

P 4.32 Fie A ∈ ICn×n. Aratati ca pentru orice scalar ǫ > 0 exista o norma matricealaconsistenta ‖ · ‖ (posibil dependenta de A si ǫ) pe ICn×n astfel ıncat

‖A‖ ≤ ρ(A) + ǫ,

unde ρ(A) este raza spectrala a matricei A.

P 4.33 O matrice A ∈ ICn×n se numeste convergenta daca limk→∞ Ak = 0. Demonstratica o matrice este convergenta daca si numai daca ρ(A) < 1.

P 4.34 Sa se determine localizari pentru valorile proprii ale matricelor

A =

[3 −2 12 −4 0−1 1 5

]

, B =

[0 1 −2−1 4 11 1 3

]

, C = A+ iB,

utilizand teorema discurilor lui Gershgorin.

P 4.35 Utilizand teorema discurilor lui Gershgorin, stabiliti o margine superioara pentruraza spectrala a unei matrice. Comparati acest rezultat cu cel oferit de teorema 4.10.

P 4.36 a) Fie A ∈ IRn×n si o matrice diagonala de scalare D = diag(δ1, δ2, . . . , δn), δi > 0,i = 1 : n. Stabiliti localizarea spectrului matricei A aplicand teorema discurilor Gershgorinmatricei scalate B = D−1AD. Poate scalarea sa conduca la o localizare mai buna ?

65 Pentru proprietatile matricelor simetrice complexe se poate consulta [ II ].

364 CAPITOLUL 4. VALORI SI VECTORI PROPRII

b) Fie A ∈ IR2×2 o matrice cu toate elementele pozitive. Sa se determine matricea D == diag(δ1, δ2) astfel ıncat ‖D−1AD‖∞ = min

δ1,δ2∈IR+‖D−1AD‖∞, unde D = diag(δ1, δ2).

Ce relatie exista ıntre acest minim si raza spectrala a matricei A ? Renuntand la conditia

ca elementele matricei A sa fie pozitive, aratati ca pentru matricea A =

[2 2−3 4

]

avem

ρ(A) < minδ1,δ2∈IR+

‖D−1AD‖∞.

P 4.37 Se considera matricea simetrica A =

[ −5 −8 8−8 7 −168 −16 7

]

. Folosind teorema

discurilor lui Gershgorin sa se extraga maximum de informatie privind localizarea valorilorproprii ale matricei A. Puteti ımbunatati localizarea prin scalare ?

P 4.38 Se spune ca o matrice A ∈ ICn×n este (strict) diagonal dominanta daca |aii| ≥ ri(|aii| > ri) pentru toti i ∈ 1 : n, unde ri =

∑nj=1j 6=i

|aij | sunt razele discurilor Gershgorin.

a) Demonstrati ca o matrice strict diagonal dominanta este nesingulara. b) Daca o matricestrict diagonal dominanta are elementele diagonale reale si pozitive atunci Reλi(A) > 0pentru toti i. c) Daca A ∈ ICn×n strict diagonal dominanta este hermitica si aii > 0,i = 1 : n, atunci λi(A) > 0 pentru toti i.

P 4.39 Demonstrati inegalitatile

a) |detA| ≤n∏

i=1

(n∑

j=1

|aij |)

, b) |detA| ≤n∏

j=1

(n∑

i=1

|aij |)

.

P 4.40 (Teorema lui Ostrovski) Fie A ∈ ICn×n. Notam cu ri =∑n

j=1j 6=i

|aij | si, respectiv,

ci =∑n

i=1i6=j

|aij |, razele discurilor Gershgorin pentru matricele A si, respectiv, AT . De

asemenea, fie α ∈ [0, 1] fixat. Atunci λ(A) ⊆ D, unde D este reuniunea discurilor

D =

n⋃

i=1

Di, Di ={z ∈ IC | |z − aii| ≤ rαi c

1−αi

}.

P 4.41 (Teorema lui Brauer) Fie A ∈ ICn×n. Atunci λ(A) ⊆ D, unde D este reuniuneacelor 1

2(n− 1)n ovaluri Cassini definite de

D =

n⋃

i,j=1i6=j

Oi, Oi = {z ∈ IC | |z − aii||z − ajj | ≤ rirj} ,

unde ri =∑n

j=1j 6=i

|aij |, i = 1 : n, sunt razele discurilor Gershgorin.

P 4.42 Calculati forme Schur pentru matricele A =

[1 −22 −3

]

, B =

[1 1−1 1

]

,

C = A + iB. In cazul matricelor reale determinati atat formele Schur reale cat si celecomplexe.

4.13. PROBLEME 365

P 4.43 Fie matricea A ∈ ICn×n si U ∈ ICn×k o matrice cu coloanele ortogonale (i.e.UHU = Ik). Daca functia f : ICk×k → IR+ este definita de f(X) = ‖AU − UX‖F , aratatica f admite un minim care se atinge pentru X = UHAU . Care este valoarea acestuiminim ?

P 4.44 Presupunem ca matricea A ∈ ICn×n are valorile proprii distincte si ca B ∈ ICn×n

comuta cu A, i.e. AB = BA. Aratati ca daca QHAQ = S este descompunerea Schur a luiA, atunci T = QHBQ este superior triunghiulara.

P 4.45 a) Dat un vector nenul x ∈ ICn, elaborati un algoritm de calcul al unui vectorv ∈ ICn astfel ıncat vHx = 1. b) Presupunem ca matricea A ∈ ICn×n are valorile propriiλi, i = 1 : n, iar xi, i = 1 : n, sunt vectori proprii asociati. Fie un vector v ∈ ICn astfelıncat vHx1 = 1 si matricea B = (In − x1v

H)A. Aratati ca λ(B) = { 0, λ2, . . . , λn }, iarvectorii xB

1 = x1, xBi = xi − (vH1 xi)x1 formeaza un set de vectori proprii ai matricei B.

P 4.46 a) Fie doi vectori nenuli x, y ∈ ICn astfel ıncat yHx = 1. Demonstrati existentasi stabiliti un mod de calcul al matricelor X,Y ∈ ICn×n care satisfac conditiile Xe1 = x,Y e1 = y si Y HX = In. b) Fie A ∈ ICn×n, λ o valoare proprie simpla a lui A si x, y vectoriiproprii la dreapta, respectiv la stanga, ai lui A asociati lui λ. Demonstrati existenta sistabiliti un mod de calcul al matricei X ∈ ICn×n care realizeaza o deflatie diagonala, i.e.

X−1AX =

[λ 00 B

]

. c) Presupunand ca dispuneti de o procedura de calcul al unui

vector propriu al unei matrice date, avand sintaxa x = vp(A), elaborati un algoritm dediagonalizare a unei matrice A ∈ ICn×n simple.

P 4.47 a) Care va fi rezultatul aplicarii metodei puterii matricei A =

[5 8 10 1 20 0 2

]

?

b) Discutati, ın raport cu parametrii reali α si β, rezultatul aplicarii metodei puterii

matricei B =

[α 1 10 1 β0 1 1

]

.

P 4.48 Presupunem ca ın locul conditiei de terminare a iterarii din algoritmii 4.1 si 4.2, deimplementare a metodei puterii si, respectiv, a metodei puterii inverse, utilizati conditiaca norma diferentei dintre vectorii calculati la doi pasi consecutivi sa devina inferioaraunei tolerante impuse, i.e.

ek = ‖y(k) − y(k−1)‖ < tol.

Scrieti, ın limbajul de programare preferat, programe pentru implementarea algoritmilormentionati si testati-le pe mai multe exemple. Puteti explica de ce o astfel de conditie detrunchiere nu functioneaza ıntodeauna pentru sirurile de vectori a caror directie converge,totusi, catre o directie proprie? Considerati atat cazul real cat si cel complex.

P 4.49 Presupunand ca dispuneti de o procedura de calcul al unui vector propriu al uneimatrice A ∈ ICn×n date, procedura avand sintaxa x = vp(A), elaborati un algoritm decalcul al unei formei Schur a matricei A. Ce relatie exista ıntre vectorii proprii utilizatipentru calculul formei Schur si cei ai matricei A ?

P 4.50 Elaborati un algoritm pentru reducerea unei matrice A ∈ IRn×n la forma superiorHessenberg H = TAT−1, unde T este o secventa de transformari elementare stabilizateMiPi, i = 2 : n− 1 (de tipul celor utilizate, de exemplu, la eliminarea gaussiana).

366 CAPITOLUL 4. VALORI SI VECTORI PROPRII

P 4.51 Presupunem A ∈ ICn×n si z ∈ ICn date. Elaborati un algoritm pentru calculul uneimatrice unitare (ın cazul real, ortogonale) Q astfel ıncat QHAQ este superior Hessenbergsi QHz este coliniar cu vectorul e1.

P 4.52 Fie H ∈ IRn×n o matrice superior Hessenberg. Scrieti un algoritm care sa testezedaca H este ın forma Schur reala.

P 4.53 Elaborati un algoritm pentru calculul valorilor si vectorilor proprii ai matriceiA = In + uvH , unde u, v ∈ ICn sunt vectori nenuli dati.

P 4.54 Se considera data o pereche (valoare proprie, vector propriu asociat)= (λ, x) realaa unei matrice H ∈ IRn×n superior Hessenberg. Elaborati un algoritm de calcul al unei

matrice ortogonale Q astfel ıncat matricea QTHQ sa aiba structura QTHQ =

[λ fT

0 G

]

,

unde matricea G ∈ IR(n−1)×(n−1) este ın forma superior Hessenberg.

P 4.55 Fie matricea superior Hessenberg H ∈ IRn×n si urmatoarea procedura recurentade calcul al matricei succesor H ← H ′:

1. Se aplica matricei H procedura de triangularizare prin eliminare gaussiana cu pi-votare partiala Mn−1Pn−1 . . .M1P1H = R, unde Pk sunt matrice de permutareelementare, Mk matrice inferior triunghiulare elementare, iar R este o matrice su-perior triunghiulara.

2. H ← H ′ = RP1M−11 . . . Pn−11M

−1n−1,

care defineste o iteratie a algoritmului LR modificat (un precursor al algoritmului QR).Aratati ca matricea succesor H ′ a) are o structura superior Hessenberg si b) este asemeneacu matricea H .

P 4.56 Se considera matricea bloc superior triunghiulara

A =

[A11 A12 A13

0 A22 A23

0 0 A33

]

,

cu A22 ∈ IR2×2 avand valori proprii complexe si distincte de valorile proprii ale matricelorA11 si A33. Se cere sa se calculeze un subspatiu A-invariant real asociat valorilor propriiale matricei A22, i.e. vectorii liniar independenti x1, x2 ∈ IRn care sa formeze o baza aacestui subspatiu.

P 4.57 Calculati valorile si vectorii proprii pentru matricele simetrice A, B si pentrumatricea hermitica C, unde

A =

[1 22 3

]

, B =

[1 2 32 4 53 5 6

]

, C =

[1 1 + i −i

1− i 2 −1− ii −1 + i 3

]

.

Verificati ca vectorii proprii sunt ortogonali.

P 4.58 Fie o matrice hermitica A = AH ∈ ICn×n. Adaptati algoritmul TQ pentrutridiagonalizarea unitara a matricei A astfel ıncat matricea T = QHAQ sa fie tridiagonala,simetrica si reala.

4.13. PROBLEME 367

P 4.59 Adaptati algoritmul TQ pentru tridiagonalizarea prin transformari unitare (orto-gonale) de asemanare a unei matrice antihermitice (antisimetrice) A ∈ ICn×n (A ∈ IRn×n).

P 4.60 a) Se considera matricea H ∈ IR2×2 cu valori proprii reale si fie Hknot=

[α γǫ β

]

matricea curenta a sirului QR al matricii H . Utilizand deplasarea µk = β calculatimatricea succesor Hk+1. Ce se poate spune despre convergenta sirului QR din examinareaexpresiei elementului Hk+1(2, 1)?

b) Se considera matricea simetrica T ∈ IR2×2 si fie Tknot=

[α ǫǫ β

]

matricea curenta a

sirului QR simetric al matricii T . Utilizand deplasarea µk = β calculati matricea succesorTk+1. Ce se poate spune despre convergenta sirului QR simetric din examinarea expresieielementelor extradiagonale Tk+1(1, 2) = Tk+1(2, 1)?

P 4.61 a) Consideram matricea simetrica A =

[0 dd 0

]

, cu d 6= 0. Calculati valorile

si vectorii proprii ai matricei A. b) Fie matricea D = diag(d1, d2 . . . , dn), unde di 6= dj ,

∀ i 6= j, si B =

[0 DD 0

]

∈ IR2n×2n. Scrieti un algoritm pentru calculul valorilor si

vectorilor proprii ai matricei B.

P 4.62 a) Fie T ∈ IRn×n o matrice tridiagonala, simetrica si pozitiv definita. Scrieti siimplementati urmatorul algoritm iterativ:

1. Pentru k = 1, 2, . . .1. Se calculeaza factorul Cholesky L al matricei T .

2. T ← T ′ = LTL.

Ce constatati? b) Aratati ca ın cazul n = 2 si t11 ≥ t22 sirul matricelor T calculat dealgoritmul de la punctul a) converge catre Λ = diag(λ1, λ2), unde {λ1, λ2} = λ(T ).

P 4.63 a) Se considera o matrice tridiagonala simetrica T ∈ IRn×n. Sa se arate ca dacaT are valori proprii multiple, atunci T nu poate fi ireductibila. Mai mult, sa se arate cadaca T are o valoare proprie cu ordinul de multiplicitate k ≥ 2, atunci are cel putin k − 1elemente subdiagonale (si, corespunzator, cele simetrice supradiagonale) nule. b) Aplicatialgoritmul TQ de reducere la forma tridiagonala unei matrice simetrice avand o valoareproprie multipla. Ce constatati ? Puteti da o justificare celor constatate ?

P 4.64 Fie o matrice simetrica A ∈ IRn×n si o iteratie Jacobi A ← A′ = JTAJ , undeJ(p, q, θ) este o rotatie plana de unghi θ ın planul (p, q). Sa se arate ca, pentru ıntregii p siq fixati, rotatia care anuleaza elementele A(p, q) si A(q, p) asigura minimizarea, ın raportcu unghiul θ, a normei Frobenius a matricei elementelor extradiagonale ale matricei A′.

P 4.65 a) Fie date A =

[α γγ β

]

∈ IR2×2, cu λ(A) = {λ1, λ2 }, si un scalar real δ.

Aratati ca, daca δ ∈ [λ1, λ2], atunci exista o rotatie Jacobi reala J =

[c s−s c

]

astfel

ıncat (JTAJ)(1, 1) = δ. b) Consideram matricea simetrica A ∈ IRn×n. Elaborati unalgoritm de calcul al unei secvente de rotatii Jacobi Q = J1J2 . . . , astfel ıncat matricea

B = QTAQ sa aibe toate elementele diagonale egale b11 = b22 = . . . = bnn =1

ntr(A) =

=1

n

∑n

i=1λi(A).

368 CAPITOLUL 4. VALORI SI VECTORI PROPRII

P 4.66 Elaborati algoritmi tip Jacobi pentru calculul valorilor proprii ale unei matriceantihermitice (antisimetrice).

P 4.67 Fie matricea A =

[1 + ǫ 10 1− ǫ

]

∈ IR2×2, cu 0 < ǫ ≪ 1. Sa se calculeze

numarul de conditionare al celor doua valori proprii si al spectrului matricei A. Ce seıntampla daca ǫ→ 0 ?

P 4.68 Sa se arate ca sensibilitatea unei valori proprii simple λk ∈ λ(A) ın raport cuvariatiile elementului aij = A(i, j) este data de

∂λk

∂aij=

yk(i)xk(j)

yHk xk

,

unde xk si yk sunt vectori proprii la dreapta, respectiv la stanga, ai matricei A asociativalorii proprii λk.

P 4.69 Fie matricea bidiagonala A ∈ IRn×n

A =

n n 0 · · · 0 00 n− 1 n · · · 0 0

0 0 n− 2. . . 0 0

......

......

......

0 0 0 · · · 2 n0 0 0 · · · 0 1

.

Sa se calculeze numarul de conditie al valorii proprii λk = k. Pentru n = 20 sa se dea oevaluare a numarului de conditie pentru valorile proprii λ1 = 1 si λ20 = 20. Pentru acelasin = 20 sa se calculeze, cu ajutorul functiei eig din MATLAB, valorile proprii ale matriceiA care difera de A numai prin elementul A(20, 1) = 0.01. Ce constatati ?

P 4.70 Se considera matricea superior Hessenberg A ∈ IRn×n

A =

n n− 1 n− 2 · · · 2 1n− 1 n− 1 n− 2 · · · 2 1

0 n− 2 n− 2. . . 2 1

......

. . .. . .

. . ....

0 0 0. . . 2 1

0 0 0 · · · 1 1

.

a) Aratati ca detA = 1. b) Fie matricea perturbata F = A + E, unde E = ǫG, cumatricea G avand un singur element nenul G(n, 1) = 1. Aratati ca detF = 1− (n− 1)!ǫ.Evaluati detF pentru n = 20 si ǫ = 10−10. c) Pentru n = 10, calculati cu ajutorul functieieig din MATLAB, vectorii proprii la stanga si la dreapta si, pe aceasta baza, numerele deconditionare κλmax si κλmin

ale valorilor proprii maxima si, respectiv, minima ale matriceiA. Ce constatati ?

P 4.71 a) Elaborati un algoritm performant de calcul al polinomului caracteristic al uneimatrice.

b) Elaborati un algoritm performant de rezolvare a ecuatiilor algebrice, i.e. a ecuatiilorde tipul p(λ) = 0 unde p este un polinom cu coeficenti reali sau complecsi.

Capitolul 5

Descompunerea valorilorsingulare

Descompunerea valorilor singulare (DVS) joaca un rol fundamental ın evidentiereaproprietatilor structurale legate nemijlocit de conceptul de rang matriceal. In con-textul calcului numeric se impune o reevaluare a notiunii de rang ıntrucat, da-torita tolerantelor admise, definirea uzuala capata un caracter ambiguu. In acestecircumstante, devine utila introducerea conceptului de distanta pana la o matricede rang imediat inferior si a notiunii pragmatice de rang numeric.

Calculul DVS este intim legat de conceptul de ortogonalitate fiind bazat, ınexclusivitate, pe utilizarea transformarilor unitare (ortogonale). Acest fapt inducecalitati numerice remarcabile tuturor procedurilor de rezolvare a problemelor ceapeleaza la DVS.

In ceea ce priveste aplicatiile, ın cadrul general al matricelor de rang nemaximal,DVS constituie cel mai bun mijloc numeric de rezolvare a numeroase probleme demetrica euclidiana cum sunt problema generala a celor mai mici patrate, calcululbazelor ortogonale pentru subspatii liniare etc.

5.1 Formularea problemei

5.1.1 Valori singulare. Descompunerea valorilor singulare

Avand ın vedere conexiunea intima a descompunerii valorilor singulare cu conceptulde rang 1, vom introduce mai ıntai definitia uzuala a notiunii de rang matriceal.Fie A ∈ ICm×n 2.

1 Unele dintre notiunile utilizate ın continuare au fost definite, ıntr-un context introductiv, ıncapitolul 1. Pentru confortul cititorului, preferam reluarea acestora ın cadrul extins si specializatal capitolului de fata.

2 Vom considera cazul, mai general, al matricelor complexe. Particularizarea rezultatelor cucaracter teoretic pentru matrice reale este imediata reducandu-se, practic ın toate situatiile, laınlocuirea operatorului hermitic (i.e. de transpunere si conjugare) cu operatorul de transpunere.

In dezvoltarile algoritmice cazul matricelor reale va fi tratat distinct.

369

370 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Definitia 5.1 Rangul r al matricei A este numarul maxim de coloane liniar inde-pendente ale lui A, sau, echivalent,

r = rangA = dim(ImA). (5.1)

Se poate arata (vezi cap. 1) ca rangA = rangAT si, astfel, orice matrice areacelasi numar maxim de linii si coloane liniar independente. Deci, rangul uneimatrice A este dimensiunea maxima a unei submatrice nesingulare A(I,J ), I == {i1, i2, . . . , ir}, J = {j1, j2, . . . , jr} a lui A.

In vederea elaborarii unor proceduri fiabile de determinare numerica a ranguluisuntem interesati ın definirea transformarilor matriceale pentru care rangul este uninvariant. In acest sens introducem

Definitia 5.2 Doua matrice A,B ∈ ICm×n se numesc echivalente daca exista ma-tricele nesingulare S ∈ ICm×m si T ∈ ICn×n astfel ıncat

B = SAT. (5.2)

Daca matricele S si T sunt unitare, atunci vom spune ca A si B sunt unitar echiva-lente.

In cazul real este suficient sa ne rezumam la matrice de transformare reale.Intr-o astfel de situatie, daca matricele S si T sunt ortogonale vom spune ca A siB sunt ortogonal echivalente.

In vederea determinarii rangului unei matrice date vom urma o cale deja familiaradin capitolele precedente, respectiv, vom calcula o matrice de acelasi rang cu ma-tricea data la care rangul sa poata fi evaluat prin simpla inspectie. Astfel de matricesunt matricele cu structura diagonala la care rangul este, evident, egal cu numarulelementelor diagonale nenule. Din motive de fiabilitate numerica ne vom restrangela utilizarea transformarilor unitare, respectiv ortogonale ın cazul real.

Avem urmatorul rezultat important.

Teorema 5.1 (Descompunerea valorilor singulare - DVS) Daca A ∈ ICm×n,atunci exista matricele unitare U ∈ ICm×m si V ∈ ICn×n astfel ıncat

UHAV = Σ =

[Σ1 00 0

]

, (5.3)

undeΣ1 = diag(σ1, σ2, ..., σr) ∈ IRr×r, (5.4)

cuσ1 ≥ σ2 ≥ ... ≥ σr > 0. (5.5)

ExpresiaA = UΣV H (5.6)

defineste descompunerea valorilor singulare a matricei A. Numerele nenegative σi,i = 1 : p, p = min(m,n) (σi = 0, i = r+1 : p) se numesc valori singulare alematricei A. Coloanele matricei unitare U se numesc vectori singulari la stanga, iarcoloanele lui V se numesc vectori singulari (la dreapta) ai matricei A.

In cazul real se obtine acelasi rezultat, cu matricele U si V ortogonale, i.e. cuvectorii singulari reali.

5.1. FORMULAREA PROBLEMEI 371

Demonstratie. Daca A = 0, atunci (5.3)-(5.5) sunt satisfacute de r = 0, U = Im,V = In, Σ = 0. Daca A 6= 0, atunci ‖A‖2 6= 0 si, folosind tehnica inductiei finite,vom obtine matricea cu structura din (5.3) ın r pasi.

Pasul 1◦. Conform definitiei normei spectrale exista un vector de norma euclidia-na unitara v1 ∈ ICn, pentru care ‖A‖2 = max‖x‖2=1 ‖Ax‖2 = ‖Av1‖2 si fie u1 ∈ ICm

definit de u1 =Av1‖A‖2

avand, evident, ‖u1‖2 = 1. Fie, acum, U1 ∈ ICm×(m−1) si

V1 ∈ ICn×(n−1) completari ale vectorilor u1 si v1 pana la matrice unitare 3, i.e. astfelıncat matricele U1 =

[

u1 U1

], V1 =

[

v1 V1]sa fie unitare. Atunci

Σ(1) def= UH

1 AV1 =

[uH1 Av1 uH1 AV1UH1 Av1 UH

1 AV1

]

=

[σ1 wH

0 B1

]

,

ıntrucat UH1 Av1 = UH

1 u1‖A‖2 = 0 si unde am utilizat notatiile evidente

σ1def= uH1 Av1 = ‖A‖2 (5.7)

si wH def= uH1 AV1, B1

def= UH

1 AV1. In continuare, ıntrucat transformarile unitareconserva norma spectrala, avem ‖Σ(1)‖2 = ‖A‖2 = σ1 si

∥∥∥∥Σ(1)

[σ1w

]∥∥∥∥

2

2

=

∥∥∥∥

[σ21 + wHwB1w

]∥∥∥∥

2

2

= (σ21 + wHw)2 + ‖B1w‖22 ≥ (σ2

1 + ‖w‖22)2.

Pe de alta parte, datorita consistentei normei spectrale, avem

∥∥∥∥Σ(1)

[σ1w

]∥∥∥∥

2

2

≤ ‖Σ(1)‖22∥∥∥∥

[σ1w

]∥∥∥∥

2

2

= σ21(σ

21 + ‖w‖22).

Rezulta σ21 + ‖w‖22 ≤ σ2

1 , i.e. ‖w‖2 = 0 sau w = 0. Deci

Σ(1) = UH1 AV1 =

[σ1 00 B1

]

(5.8)

si obiectivul primului pas este atins.Pasul k◦. Presupunem ca ın primii k− 1 pasi ai procedurii de diagonalizare am

obtinut

Σ(k−1) = UHk−1 · · ·UH

2 UH1 AV1V2 · · ·Vk−1 =

[

Σ(k−1)1 00 Bk−1

]

,

unde Σ(k−1)1 = diag(σ1, σ2, . . . , σk−1), cu σ1 ≥ σ2 ≥ . . . ≥ σk−1 > 0. Daca Bk−1 =

0, atunci r = k − 1 si procedura este ıncheiata. Daca Bk−1 6= 0, atunci – cuargumentele de la pasul 1 – exista matricele unitare Uk si Vk astfel ıncat

UHk Bk−1Vk =

[σk 00 Bk

]

, σk = ‖Bk−1‖2 > 0. (5.9)

3Pentru argumentarea existentei acestor completari si a modalitatilor de calcul, vezi observatia4.3 din capitolul 4.

372 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Definind matricele unitare Uk = diag(Ik−1, Uk), Vk = diag(Ik−1, Vk) rezulta

Σ(k) = UHk Σ(k−1)Vk =

[

Σ(k)1 00 Bk

]

, (5.10)

cu Σ(k)1 = diag(σ1, σ2, . . . , σk).

Pentru a ıncheia demonstratia este suficient sa aratam ca σk ≤ σk−1. Dinexpresia (5.9), scrisa pentru pasul k − 1, avem

σk−1 = ‖Bk−2‖2 =

∥∥∥∥

[σk−1 00 Bk−1

]∥∥∥∥2

≥ ‖Bk−1‖2 = σk.

In concluzie, procedura de diagonalizare poate fi initiata si apoi continuata.Astfel, fie vom obtine Br = 0 pentru r < p, fie procedura se va incheia cu r = p == min(m,n), i.e.

Σ(r) = UHr · · ·UH

2 UH1 AV1V2 · · ·Vr = UHAV =

[

Σ(r)1 00 0

]

, (5.11)

undeU = U1U2...Ur, V = V1V2...Vr (5.12)

sunt matrice unitare. Cu Σ1def= Σ

(r)1 si Σ

def= Σ(r) obtinem (5.3). Demonstratia este

completa.In cazul matricelor reale cursul demonstratiei este identic cu mentiunea ca ın

locul transformarilor complexe se utilizeaza transformari reale, i.e. ortogonale. 3

Exemplul 5.1 Este usor de verificat ca matricea

A =

[1.60 0.36 0.48−1.20 0.48 0.64

]

admite o DVS A = UΣV T definita de

U =

[0.8 0.6−0.6 0.8

]

, Σ =

[2 0 00 1 0

]

, V =

1 0 00 0.6 0.80 0.8 −0.6

si are, evident, valorile singulare σ1 = 2 si σ2 = 1. Matricea B = AT are, la fel deevident, aceleasi valori singulare si B = V ΣTUT este o DVS a sa. Valorile singulareale unei matrice reale au o interpretare interesanta ın geometria spatiului euclidian.Concret, valorile singulare nenule ale matricei A ∈ IRm×n sunt lungimile semiaxelorhiperelipsoidului E = AS ⊂ ImA ⊂ IRm unde S este hipersfera cu centrul ın originesi de raza unitara din IRn, i.e.

E = {y ∈ IRm | y = Ax, x ∈ IRn, ‖x‖2 = 1}.

In figura 5.1 sunt reprezentate elipsele EA si EB pentru matricele A, de mai sus, si

5.1. FORMULAREA PROBLEMEI 373

&%'$

&%'$ '

&$%

#"

!-

6

��*

-

6

��

��*

����������HHHHHHHHHHHj

-

6

��

��

���������

��������

-�σ1=2

6?

σ2=1

���

���-�σ1=2

������σ2=1

0

x1

x2

1

0 x1

x2

x3

1

y1

y2

y3

y1

y2

−→

−→

IR2

EA

IR3

EB

ImA = IR2

ImAT ⊂ IR3

���

����

����

�����

�����

�����

����

����

��

Fig. 5.1: O interpretare geometrica a valorilor singulare

B = AT . De remarcat faptul ca EA include si punctele interioare ale elipsei ın timpce EB cuprinde numai punctele de pe frontiera. 3

Fie o matrice A ∈ ICm×n cu rangA = r si DVS A = UΣV H . In continuare vomutiliza intensiv urmatoarele notatii ce definesc partitii ale matricelor de transformareU si V induse de structura matricei Σ.

U1def= U( : , 1:r), U2

def= U( : , r+1:m),

V1def= V ( : , 1:r), V2

def= V ( : , r+1:n).

(5.13)

Prezentam doua consecinte imediate ale teoremei 5.1.

Corolar 5.1 Orice matrice A ∈ ICm×n poate scrisa ca suma de produse externe devectori singulari ponderate cu valorile singulare, i.e. cu notatiile (5.13) avem

A = U1Σ1VH1 =

r∑

j=1

σjujvHj , (5.14)

unde matricele Wjdef= ujv

Hj , j = 1 : r poarta numele de componente principale ale

matricii A.

Corolar 5.2 Fie o matrice A ∈ ICm×n cu rangA = r. Atunci exista matricelenesingulare S ∈ ICm×m si T ∈ ICn×n astfel ıncat

SAT =

[Ir 00 0

]

, (5.15)

374 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

i.e. orice matrice este echivalenta cu o matrice cu structura din (5.15).

Demonstratie. Fie A = UHΣV DVS a matricei A si matricele nesingulare P,R ∈∈ ICr×r astfel ıncat PΣ1R = Ir , e.g. P = R = Σ

− 12

1def= diag(σ

− 12

1 , σ− 1

2

2 , . . . , σ− 1

2r ).

Atunci (5.15) este satisfacuta, de exemplu, de catre matricele nesingulare S == diag(P, Im−r)U

H si T = V diag(R, In−r). 3

Vom nota cu σ(A) multimea valorilor singulare ale matricei A. Rescriind (5.3)ın forma AV = UΣ sau AHU = V ΣT obtinem imediat relatiile

Avj = σjuj , AHuj = σjvj , j = 1 : p, p = min(m,n), (5.16)

care indica o analogie cu definirea vectorilor proprii ale unei matrice patrate siconstituie o justificare pentru denumirea de vectori singulari data coloanelor uj,respectiv vj , ale matricelor U si V care definesc DVS. Mai mult, vectorii singularidin (5.16) sunt efectiv vectori proprii ai unor matrice derivate din matricea A (veziteorema urmatoare). De remarcat si faptul ca, desi echivalenta (5.15) apare ca oreducere completa dictata de necesitatile de evidentiere a rangului unei matrice,echivalenta unitara (ortogonala) care defineste DVS ofera, prin valorile si vectoriisingulari, o informatie mult mai bogata, utila ın numeroase evaluari cantitative.

Demonstratia prezentata pentru teorema 5.1 nu are un caracter constructivıntrucat calculul vectorului pentru care se realizeaza norma spectrala prezinta difi-cultati majore. Alegerea acestei demonstratii se datoreaza ordonarii naturale a va-lorilor singulare si evidentierii conexiunii stranse dintre valorile singulare si normaspectrala.

O modalitate de calcul al DVS este oferita de urmatorul rezultat.

Teorema 5.2 Valorile singulare nenule ale matricei A ∈ ICm×n sunt radacinilepatrate (pozitive) ale valorilor proprii nenule ale matricelor hermitice pozitiv semi-definite

B = AHA ∈ ICn×n sau C = AAH ∈ ICm×m, (5.17)

i.e. daca λ1 ≥ λ2 ≥ · · · ≥ λr > 0, sunt cele r valori proprii nenule ale lui B (sauC), atunci

σi =√

λi, i = 1 : r. (5.18)

Mai mult, vectorii singulari la stanga ui = Uei, i = 1 :m, sunt vectori proprii aimatricei C, iar vectorii singulari (la dreapta) vj = V ej, j = 1 : m, sunt vectoriproprii ai matricei B.

In cazul real, asertiunile de mai sus sunt adevarate, cu mentiunea ca matriceleB si C sunt simetrice pozitiv semidefinite.

Demonstratie. Din (5.3) obtinem

B = AHA = V ΣTUHUΣV H = V ΣTΣV H = V

[Σ2

1 00 0

]

V H ,

C = AAH = UΣV HV ΣTUH = UΣΣTUH = U

[Σ2

1 00 0

]

UH .

(5.19)

5.1. FORMULAREA PROBLEMEI 375

Prin urmare, matricea B este unitar asemenea cu matricea diagonala S1 = ΣTΣ == diag(σ2

1 , σ22 , . . . , σ

2r , 0, . . . , 0), respectiv matricea C este unitar asemenea cu ma-

tricea diagonala S2 = ΣΣT = diag(σ21 , σ

22 , . . . , σ

2r , 0, . . . , 0), de unde rezulta imediat

toate asertiunile teoremei. 3

Un rezultat similar, care conexeaza valorile singulare ale unei matrice cu valorileproprii ale altei matrice, este prezentat ın propozitia urmatoare.

Propozitia 5.1 Fie matricea A ∈ ICm×n, p = min(m,n) si σ1, σ2, . . . , σp valorilesingulare ale matricei A. Atunci valorile proprii ale matricei

F =

[0 AAH 0

]

(5.20)

sunt σ1, σ2, . . . , σp, −σ1,−σ2, . . . ,−σp si |m− n| valori proprii nule.

Demonstratie. Consideram cazul m ≥ n (cazul m < n se trateaza absolut

similar). Fie A = UΣV H DVS a matricei A, Sdef= Σ(1 : n, :), U

def= 1√

2U(1 : n, :),

Udef= U(n+1 : m, :) si V

def= 1√

2V . Atunci, prin calcul direct, se constata ca matricea

Qdef=

[U −U U

V V 0

]

∈ IC(m+n)×(m+n) (5.21)

este unitara si ca

G = QHFQ =

S 0 00 −S 00 0 0

. (5.22)

Cum λ(F ) = λ(G) si S = diag(σ1, σ2, . . . , σn), propozitia este demonstrata. 3

Observatia 5.1 Teorema 5.1 arata ca orice matrice admite o DVS dar nu afirmanimic despre unicitatea acestei descompuneri. Utilizand si teorema 5.2 putem safacem cateva consideratii asupra acestui aspect.

In primul rand, valorile singulare ale unei matrice A ∈ ICm×n, fiind radacinilepatrate pozitive ale valorilor proprii ordonate ale matricelor AHA sau AAH , suntunic determinate.

In ceea ce priveste unicitatea matricelor de transformare este suficient sa nemarginim la cazul 4 m ≤ n.

Daca cele m valori singulare sunt distincte, atunci sunt distincte si valorile pro-prii ale matricei hermitice AAH . In aceasta situatie, coloanele matricei de trans-formare U , fiind vectori proprii de norma euclidiana unitara ai matricei AAH , suntdeterminate pana la multiplicarea cu numere complexe de modul unitar. Cu altecuvinte, ın conditiile mentionate, matricea U este determinata pana la o postmul-tiplicare cu o matrice diagonala m ×m cu elementele diagonale de modul unitar,i.e. daca avem doua DVS

A = U1ΣVH1 = U2ΣV

H2 ,

4 Cazul matricelor cu m ≥ n se reduce la cel analizat daca ın locul matricei A se consideramatricea AH ∈ ICn×m. Daca A = UΣV H este o DVS a lui A, atunci AH = VΣTUH este o DVSa matricei AH .

376 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

atunci

U2 = U1D cu D = diag(eiθ1, eiθ2 , . . . , eiθm), θj ∈ IR, j = 1:m.

(In cazul real, cu matrice de transformare reale, matricea U este determinata, evi-dent, pana la semnul coloanelor sale.)

Daca m = n, A este nesingulara si U este fixata, atunci matricea Σ este nesin-gulara si V este unic determinata de V = Σ−1UHA.

Daca m < n, atunci Σ are (cel putin) ultimele n − m coloane nule si, deci,ultimele n − m coloane ale matricei V sunt date de orice completare pana la omatrice unitara a primelor m coloane, i.e. ın mod sigur matricea V nu este unicdeterminata. 3

In continuarea acestei sectiuni introductive prezentam unele generalizari derivatedin conceptul de valori singulare.

5.1.2 Descompunerea polara

Fie A ∈ ICm×n, rangA = r si DVS (5.3) A = UΣV H a lui A. Utilizand notatiile(5.13) si introducand noile notatii

S =

{Σ(1 : n, :) daca m ≥ nΣ(:, 1 : m) daca m ≤ n ,

{U = U(:, 1 : n) daca m ≥ nV = V (:, 1 : m) daca m ≤ n ,

(5.23)putem sa scriem

A = U1VH1 V1Σ1V

H1 =WP1 sau A = U1Σ1U

H1 U1V

H1 = P2W, (5.24)

unde

Wdef= U1V

H1 ∈ ICm×n, P1

def= V1Σ1V

H1 ∈ ICn×n, P2

def= U1Σ1U

H1 ∈ ICm×m

(5.25)si

A =

{USV H = UV HV SV H = Y P1 daca m ≥ nUSV H = USUHUV H = P2Z daca m ≤ n , (5.26)

undeY

def= UV H ∈ ICm×n, Z

def= UV H ∈ ICm×n. (5.27)

Este usor de constatat ca matricele P1 si P2 sunt hermitice si pozitiv semidefinite curangP1 = rangP2 = rangA, Y este o matrice cu coloanele ortogonale (i.e. Y HY == In), Z este o matrice cu liniile ortogonale (i.e. ZZH = Im) si, ın consecinta,matricele Y si Z au norma spectrala unitara. In cazul real, evident, matricele W ,P1, P2, Y si Z pot fi reale.

Putem introduce urmatoarea definitie.

Definitia 5.3 Factorizarea

A =

{Y P1 daca m ≥ nP2Z daca m ≤ n (5.28)

5.1. FORMULAREA PROBLEMEI 377

unde matricele P1, P2, Y si Z sunt cele definite mai sus, se numeste descompunereapolara 5 a matricei A.

Fie matricele hermitice, pozitiv semidefinite B = AHA, C = AAH si descompune-rile lor spectrale B = V ΛBV

H si C = UΛCUH , unde ΛB = diag(λ1, λ2, . . . , λn),

ΛC = diag(λ1, λ2, . . . , λm), cu toti λi nenegativi. Definim B12

def= V Λ

12

BVH def

=def= V diag(

√λ1,√λ2, . . . ,

√λn)V

H si, similar, C12

def= UΛ

12

AUH .

Se poate arata (exercitiu pentru cititor) ca matricele P1 si P2 din descompunerea

polara sunt unic determinate de P1 = (AHA)12 , respectiv de P2 = (AAH)

12 , iar

matricele Y si Z sunt unic determinate daca r = n, respectiv r = m.

5.1.3 Descompunerea CS

In operarea numerica cu subspatii liniare se dovedeste a fi extrem de utila asa numitadescompunere CS 6 (DCS) a matricelor unitare (ortogonale) care, printre altele,permite introducerea notiunii de distanta dintre subspatii ın cazul multidimensionalsi care are conexiuni naturale cu DVS. Introducem DCS prin urmatoarea teorema.

Teorema 5.3 Fie o matrice unitara Q ∈ ICn×n cu urmatoarea partitie

Q =

[Q11 Q12

Q21 Q22

]

, Q11 ∈ ICk×k, Q22 ∈ ICl×l, k + l = n. (5.29)

Atunci exista matricele unitare U1, V1 ∈ ICk×k si U2, V2 ∈ ICl×l astfel ıncat

W =

[U1 00 U2

]H[Q11 Q12

Q21 Q22

][V1 00 V2

]

=

C S 0−S C 00 0 Il−k

pt. k ≤ l

Ik−l 0 00 C S0 −S C

pt. k > l

(5.30)unde

C = diag(c1, c2, . . . , cp) ∈ IRp×p cu c1 ≥ c2 ≥ . . . ≥ cp,S = diag(s1, s2, . . . , sp) ∈ IRp×p cu s1 ≤ s2 ≤ . . . ≤ sp,

(5.31)

p = min(k, l) si c2i + s2i = 1, i = 1:p , i.e. ci si si pot fi scrise sub forma

ci = cos θi, si = sin θi, cu 0 ≤ θ1 ≤ θ2 ≤ . . . ≤ θp ≤π

2. (5.32)

Egalitatea (5.30) se numeste descompunerea CS a matricei unitare Q.In cazul real, i.e. atunci cand Q este ortogonala, matricele de transformare bloc

diagonale pot fi reale, i.e. ortogonale.

5 Denumirea de ”descompunere polara” este justificata de analogia cu reprezentarea polaraz = ρeiθ a numerelor complexe, la care factorul ρ este nenegativ, iar factorul eiθ are modululunitar.

6 Denumirea CS provine de la initialele functiilor cosinus si sinus, matricea ortogonala trans-formata avand aspectul unei rotatii generalizate (vezi mai departe).

378 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Demonstratie. Consideram cazul k ≤ l = n−k. Fie Q11 = U1CVH1 DVS a blocului

Q11 unde C = diag(c1, c2, . . . , ck) cu 1 ≥ c1 ≥ c2 ≥ . . . ≥ ck ≥ 0, prima inegalitatedatorandu-se faptului ca σ1(Q) = 1 si c1 = σ1(Q11) ≤ σ1(Q) (vezi exercitiul 5.7).Consideram acum matricea

Q =

[UH1 00 Il

]

Q

[V1 00 Il

]

=

[C UH

1 Q12

Q21V1 Q22

]

,

care este unitara ca produs de matrice unitare. Din egalitatea blocurilor 11 dinrelatia QHQ = In obtinem

V H1 QH

21Q21V1 = Ik − C2 def= S2 = diag(s21, s

22, . . . , s

2k),

cu s2i = 1− c2i , i = 1:k. Luand si =√

1− c2i , obtinem 0 ≤ s1 ≤ s2 ≤ . . . ≤ sk ≤ 1.

In continuare vom presupune ca matricea S este nesingulara 7. Fie acum matricea

U21def= −Q21V1S

−1 care are coloanele ortogonale (verificati!) si U22 o completare a

sa pana la o matrice unitara, i.e. astfel ıncat matricea U2def= [U21 U22 ] ∈ ICl×l sa

fie unitara (vezi si observatia 4.3). Avem

UH2 Q21V1 =

[

UH21

UH22

]

Q21V1 =

[

−S−1V H1 QH

21Q21V1

−UH22U21S

]

=

[

−S0

]

.

Mai departe, matricea

Q =

[UH1 00 UH

2

]

Q

[V1 00 Il

]

=

C UH1 Q12[

−S0

]

UH2 Q22

este unitara. Egalitatea blocurilor 22 din QQH = In conduce la

UH2 Q22Q

H22U2 = Il −

[S2 00 0

]

=

[C2 00 Il−k

]

.

In continuare vom presupune ca matricea C este nesingulara 8. Definim matriceaV2 prin

V2def= QH

22U2

[C−1 00 Il−k

]

care, ın virtutea ultimei relatii de mai sus, este unitara si

UH2 Q22V2 =

[C 00 Il−k

]

.

7 Daca S este singulara, atunci s1 = s2 = . . . = sq = 0 pentru un q ≤ l si corespunzator

c1 = c2 = . . . = cq = 1. In acest caz primele q linii si coloane ale matricei Q sunt eTi respectiv eii = 1 : q care au deja structura din (5.30) si pot fi separate (pentru detalii suplimentare se poateconsulta si demonstratia teoremei ce urmeaza). Demonstratia pentru restul matricei decurge camai sus.

8 Daca C este singulara, atunci cq = cq+1 = . . . = cl = 0 pentru un q ≥ 1 si corespunzator

sq = sq+1 = . . . = sl = 1. In acest caz se procedeaza similar cu modul prezentat ın nota de piciorprecedenta.

5.1. FORMULAREA PROBLEMEI 379

In sfarsit, notand Udef= diag(U1, U2), V

def= diag(V1, V2) obtinem urmatoarea

structura a matricei W

W = UHQV =

C X Y−S C 00 0 Ik−l

,

unde [X Y ]def= UH

1 Q12V2.Rezultatul urmarit se obtine imediat din faptul ca matricea W este unitara, din

egalitatea WHW = In rezultand X = S si Y = 0.In cazul k > l = n−k se ıncepe cu descompunerea valorilor singulare ale blocului

Q22, dupa care cursul demonstratiei este similar cu cel de mai sus.In cazul real toate transformarile unitare utilizate pot fi luate ortogonale, cursul

demonstratiei fiind identic. 3

5.1.4 Descompunerea valorilor singulare generalizate

O generalizare posibila a descompunerii valorilor singulare este diagonalizarea si-multana a doua matrice sau, echivalent, diagonalizarea unui fascicol matriceal, printransformari de echivalenta. Conditiile ın care acest demers este posibil sunt enun-tate ın teorema de mai jos.

Teorema 5.4 Descompunerea valorilor singulare generalizate (DVSG). Fie ma-tricele A ∈ ICm×n cu m ≥ n si B ∈ ICp×n 9 astfel ıncat KerA∩KerB = {0}. Atunciexista matricele unitare U ∈ ICm×m si V ∈ ICp×p precum si matricea nesingularaW ∈ ICn×n astfel ıncat

UHAW =

[C0

]

, V HBW =

[S0

]

pentru p ≥ n[0 S

]pentru p < n

(5.33)

unde

C = diag(c1, c2, . . . , cn) ∈ IRn×n cu 1 ≥ c1 ≥ c2 ≥ . . . ≥ cp ≥ 0,

S =

diag(s1, s2, . . . , sn) ∈ IRn×n cu 0 ≤ s1 ≤ s2 ≤ . . . ≤ sn ≤ 1, pt. p ≥ n

diag(sn−p+1, sn−p+2, . . . , sn) ∈ IRp×p

cu 0 = s1 = s2 = . . . = sn−p ≤ sn−p+1 ≤ . . . ≤ sn ≤ 1, pt. p < n(5.34)

cu c2i + s2i = 1, i = 1 : n 10. Perechile (ci, si), i = 1 : n definesc valorile singu-lare generalizate ale perechii (A,B), mai exact perechile (ci, si) cu si = 0 definesc

9 Teorema este enuntata pentru cazul a doua matrice cu acelasi numar de coloane. Se poateda si o formulare pentru doua matrice A si B cu acelasi numar de linii, formulare care se poateobtine aplicand enuntul de mai sus matricelor AH si BH . Lasam detaliile ın sarcina cititoruluiinteresat.

10 In cazul p < n avem c1 = c2 = . . . = cn−p = 1 si, de aceea, am introdus ın (5.34), princonventie si pentru comoditatea notatiilor, numerele s1 = s2 = . . . = sn−p = 0. De asemenea,ın aceeasi situatie, vom conveni sa extindem termenul de ”structura diagonala” pentru matricea[ 0 S ] (ın unele lucrari [ VI ] , ın cazul p < n, matricea V HBW are structura [S 0 ] cu S diagonaladar ”pretul” platit este pierderea ordonarii elementelor diagonale ale matricelor C si S).

380 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

valorile singulare generalizate infinite, iar

σi =cisi∈ IR, si 6= 0, (5.35)

sunt valorile singulare generalizate finite. Coloanele wi ale matricei nesingulare Wse numesc vectori singulari generalizati ai perechii (A,B) asociati valorilor singularegeneralizate σi.

In cazul real, matricele de transformare pot fi alese reale, i.e. W reala nesingu-lara, iar U si V ortogonale.

Demonstratie. Este usor de constatat ca ipoteza KerA∩KerB = {0} este echiva-lenta cu faptul ca matricea

Fdef=

[AB

]

∈ IC(m+p)×n (5.36)

este monica (i.e. are coloanele liniar independente). Fie F = QR factorizarea QR

a matricei F , unde Q ∈ IC(m+p)×n este o matrice avand coloanele ortogonale (i.e.QHQ = In), iar R ∈ ICn×n este superior triunghiulara si, ın virtutea monicitatii luiF , nesingulara. De asemenea, fie urmatoarea partitie a matricei Q

Q =

[Q1

Q2

]

, Q1 ∈ ICm×n, Q2 ∈ ICp×n.

In continuare vom proceda similar cu demonstratia teoremei 5.3 privitoare la de-

scompunerea CS. Fie Q1 = UCZH o DVS a matricei Q1 unde C =

[C0

]

cu

C = diag(c1, c2, . . . , cn) ∈ IRn×n si, cu argumentele din demonstratia teoremei ci-tate, 1 ≥ c1 ≥ c2 ≥ . . . ≥ cn ≥ 0. Consideram acum matricea

Q =

[UH 00 Ip

]

QZ =

[CQ2Z

]

care are, si ea, coloanele ortogonale, i.e. QHQ = In, relatie din care rezulta

ZHQH2 Q2Z = In − C2 def

= S2, (5.37)

unde S2 = diag(s21, s22, . . . , s

2n) cu s2i = 1 − c2i , i = 1 : n. Alegand si =

1− c2irezulta S = diag(s1, s2, . . . , sn) cu 0 ≤ s1 ≤ s2 ≤ . . . ≤ sp ≤ 1. In continuaredistingem doua situatii:

a) Matricea S este nesingulara (conditie posibila numai daca p ≥ n). In acestcaz, din (5.37) avem S−1ZHQH

2 Q2ZS−1 = In, i.e. matricea V1 = Q2ZS

−1 ∈ ICp×n

are coloanele ortogonale si poate fi completata pana la o matrice unitara, i.e. existamatricea V2 ∈ ICp×(p−n) astfel ıncat matricea V = [V1 V2 ] ∈ ICp×p este unitara.Rezulta

Sdef= V HQ2Z = V HV1S =

[S0

]

,

5.1. FORMULAREA PROBLEMEI 381

relatie cu care obtinem

Q =

[UH 00 V H

]

QZ =

[C

S

]

, (5.38)

de unde

F =

[AB

]

= QR =

[U 00 V

] [C

S

]

ZHR =

[UCZHR

V SZHR

]

. (5.39)

In final, datorita nesingularitatii matricei ZHR, din ultima relatie se obtine diago-nalizarea simultana urmarita a matricelor A si B, i.e. UHAW = C si V HBW = Sunde W = R−1Z. q.e.d.

b) Daca S este singulara (ceea ce se ıntampla ıntotdeuna daca p < n) demon-stratia decurge asemanator. Elementele diagonale ale lui S din (5.37) fiind ordonatecrescator, S este singulara numai daca s1 = . . . = sl = 0 pentru un l ≥ 1, i.e. (5.37)se scrie

ZHQH2 Q2Z = In − C2 def

= S2 =

[0 0

0 S2

]

(5.40)

cu S = diag(sl+1, sl+2, . . . , sn) nesingulara. Notam X = Q2Z ∈ ICp×n si consideram

partitiaX = [X1 X2 ] cuX1 ∈ ICp×l, X2 ∈ ICp×(n−l). Din (5.40) avemXH1 X1 = 0 de

unde rezulta X1 = 0. De asemenea, avem XH2 X2 = S2, deci S−1XH

2 X2S−1 = In−l,

i.e. matricea V2def= X2S

−1 ∈ ICp×(n−l) are coloanele ortogonale. Consideram si aicidoua situatii.

b1) In cazul p ≥ n, procedand ca mai sus, i.e. completand V2 cu matricele

V1 ∈ ICp×l si V3 ∈ ICp×(p−n) pana la o matrice unitara V = [V1 V2 V3 ]11 putem

scrie

Sdef= V HQ2Z=V HX=[ 0 V HX2]=

0 V H1 X2

0 V H2 X2

0 V H3 X2

=

0 0

0 S0 0

=

[S0

]}n} p− n ,

relatie cu care se obtine imediat (5.38) si apoi, cu aceleasi argumente, (5.33). q.e.d.b2) In cazul p < n avem, ın mod necesar, l ≥ n−p sau n− l ≤ p si, prin urmare,

completand matricea cu coloanele ortogonale V2 cu matricea V1 ∈ ICp×(p−n+l) panala o matrice unitara V = [V1 V2 ] ∈ ICp×p, obtinem

Sdef= V HQ2Z=V HX=[ 0 V HX2]=

[0 V H

1 X2

0 V H2 X2

]

=

[0 0 0

0 0 S

]

=[0 S

]

unde, de aceasta data, ICp×p ∋ S = diag(sn−p+1, sn−p+2, . . . , sn) cu 0 = sn−p+1 =

= . . . = sl < sl+1 ≤ sl+2 ≤ . . . ≤ sn, q.e.d. In acest caz elementele s1 = s2 == . . . = sn−p = 0 conventional introduse nu apar efectiv ın structurile matricelortransformate dar participa la definirea valorilor singulare generalizate infinite.

11 Daca V13 ∈ ICp×(p−n+l) este o completare a matricei V2 pana la o matrice unitara, calculataın modul uzual (vezi observatia 4.3), atunci V1 se obtine luand oricare l coloane ale matricei V13,iar V3 este definita de celelalte p− n coloane.

382 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

In cazul real, toate transformarile partiale pot fi alese reale si, ın consecinta, toaterezultatele partiale ca si cele finale sunt reale. Cu aceasta observatie demonstratiaeste completa. 3

Observatia 5.2 DVSG poate fi definita si ın situatia ın care KerA∩KerB 6= {0},i.e. matricea F din (5.36) nu este monica. In acest caz, utilizand triangularizareaunitara cu pivotarea coloanelor (vezi cap. 3), obtinem

F =

[AB

]

= Q[R T

]PT ,

unde Q ∈ IC(m+p)×k cu k < n are coloanele ortogonale, R ∈ ICk×k este superiortriunghiulara nesingulara iar P ∈ IRn×n este o matrice de permutare. Aplicandteorema de mai sus matricei G = QR ∈ IC(m+p)×k, e.g. ın cazul cu matricea S ∈∈ IRk×k nesingulara, conform (5.39), obtinem

G = QR =

[UC

V S

]

W−1

si, deci,

[AB

]

=G[Ik R−1T

]PT =

[UC

V S

][

W−1 W−1R−1T]PT =

[U [ C 0 ]

V [ S 0 ]

]

W−1

unde W = P

[

W−1 W−1R−1T0 M

]−1

este o matrice n× n nesingulara (M fiind o

matrice nesingulara (n−k)×(n−k) arbitrara ”de completare”). Rezulta urmatoareaforma a relatiei (5.33)

UHAW =

[C 00 0

]

, V HBW =

[S 00 0

]

, (5.41)

cele n− k coloane nule corespunzand subspatiului KerA ∩KerB. 3

Am vazut ca valorile singulare ordinare ale unei matriceA sunt radacinile patrateale valorilor proprii ale matricelor hermitice pozitiv semidefinite AHA sauAAH (veziteorema 5.2). Se poate stabili o legatura similara si ıntre valorile singulare gene-ralizate si valorile proprii generalizate ale unui fascicol hermitic pozitiv semidefinit12. Concret, avem urmatorul rezultat pe care ıl formulam utilizand notiuni dincapitolul urmator si, din acest motiv, demonstratia este omisa.

Teorema 5.5 Fie data o pereche de matrice (A,B), A ∈ ICm×n, B ∈ ICp×n sifascicolul matriceal hermitic pozitiv semidefinit F = {AHA − λBHB |λ ∈ IC} cuvalorile proprii generalizate Λ = {λ1, λ2, . . . , λn}, λi ∈ IR+ ordonate descrescator.Atunci numerele σi =

√λi sunt valorile singulare generalizate ale perechii (A,B).

12 Un fascicol matriceal F = {G − λH | λ ∈ IC} definit de perechea (G,H) se numeste hermitic(ın cazul real, simetric), pozitiv semidefinit daca matricele G si H sunt hermitice (simetrice), iarmatricea H si pozitiv semidefinita.

5.2. PROBLEME DE CALCUL CONEXE 383

Se constata imediat ca valorile singulare generalizate ale perechii (A, In) suntvalorile singulare ordinare ale matricei A.

Problema de calcul a acestui capitol este, ın primul rand, determinarea valo-rilor singulare ale unei matrice date. Ca si pana acum, cazul matricelor reale va fitratat distinct pentru a asigura maximum de eficienta posibil. Determinarea vec-torilor singulari revine la acumularea transformarilor si apare ca necesara ın multeaplicatii.

Observatia 5.3 Teorema 5.2 sugereaza o procedura de determinare a valorilorsingulare ale unei matrice A folosind algoritmul QR simetric pentru calculul va-lorilor proprii e.g. ale matricei B = AHA. De asemenea, daca se acumuleazatransformarile din aplicarea algoritmului QR matricei B, se pot calcula matricelede transformare U si V . Concret, matricea V este chiar matricea de transformaredin descompunerea spectrala ordonata Λ = V HBV a matricei B, iar U se poatedetermina cu relatiile (exercitiu pentru cititor)

U = [ U1 U2 ] cu U1 = AV ( : , 1:r)Σ−11

si U2 o completare a lui U1 pana la o matrice unitara. Din punctul de vedereal calculului numeric singurul punct slab al unei astfel de proceduri este ınsusicalculul efectiv al matricei B. Ideea adaptarii algoritmului QR simetric astfel ıncatsa se evite formarea matricei B a fost propusa ın anul 1965 de catre G.H.Golub siW.Kahan [30] si a condus la algoritmul DVS prezentat ın sectiunea 5.3. 3

5.2 Probleme de calcul conexe

Consideram util sa prezentam ın continuare cateva rezultate fundamentale care facdin DVS un instrument foarte puternic de rezolvare numerica a numeroase problemede algebra liniara. In cazurile ın care rezolvarea este directa schemele de calculpropuse se pot implementa ca atare si, pentru a evita repetitii suparatoare, nu maisunt prezentati algoritmi formali. Pentru problemele mai dificile detalii practice siaspecte numerice pot fi gasite ın sectiunile 5.5 si 5.6.

5.2.1 Rangul matriceal

Dupa cum se stie (v. si cap. 1), doua matrice echivalente au acelasi rang 13 (odemonstratie poate fi gasita ın [ I ]). Avand ın vedere acest lucru din teorema 5.1rezulta imediat urmatorul rezultat.

Propozitia 5.2 Rangul unei matrice este egal cu numarul valorilor sale singularenenule.

13 Este adevarata si reciproca, i.e. doua matrice de aceleasi dimensiuni care au acelasi rang suntechivalente.

384 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

5.2.2 Norme matriceale

Valorile singulare permit definirea unei clase interesante de norme matriceale unitar(ortogonal) invariante.

Propozitia 5.3 Fie A ∈ ICm×n si σ(A) = {σ1, σ2, · · · , σr} valorile sale singularenenule. Atunci

|A|p def=

(r∑

i=1

σpi

) 1p

, p = 1, 2, . . . (5.42)

sunt norme matriceale numite p-norme Schatten. p-normele Schatten sunt invari-ante la transformari unitare, i.e.

|WAZ|p = |A|p, (5.43)

oricare ar fi matricele unitare W ∈ ICm×m si Z ∈ ICn×n.

Demonstratie. Vezi [ II ]. 3

Urmatoarea propozitie releva legatura stransa dintre p-normele Schatten si unelenorme matriceale uzuale.

Propozitia 5.4 Fie matricea A ∈ ICm×n si σ1, σ2, · · · , σr valorile sale singularenenule. Avem

|A|1 = σ1 + σ2 + · · ·+ σrdef= ‖A‖tr, (5.44)

|A|2 =√

σ21 + σ2

2 + · · ·+ σ2r = ‖A‖F , (5.45)

|A|∞ = σ1 = ‖A‖2, (5.46)

i.e. norma urma este definita de suma valorilor singulare, norma Frobenius esteegala cu radacina patrata a sumei patratelor valorilor singulare, iar norma spectralaa unei matrice coincide cu valoarea singulara maxima.

Demonstratie. Relatia (5.45) rezulta imediat din (5.3) avand ın vedere conservareanormei Frobenius la transformarile unitare (ortogonale). Expresia (5.46) a normeispectrale rezulta din ınsasi demonstratia teoremei 5.1 (vezi (5.7)), q.e.d. 3

5.2.3 Numere de conditionare

Daca matricea A este patrata (n× n) si nesingulara obtinem evaluari imediate alenumarului de conditionare la inversare ın raport cu normele matriceale uzuale. Intr-adevar, este usor de vazut din (5.3) ca valorile singulare ale matricei inverse suntinversele valorilor singulare ale lui A, i.e. daca σ(A) = {σ1, σ2, · · · , σn}, atunci

σ(A−1) = {σ−1n , σ−1

n−1, · · · , σ−11 }. (5.47)

Prin urmare, ‖A−1‖tr = σ−11 +σ−1

2 +· · ·+σ−1n , ‖A−1‖F =

σ−21 + σ−2

2 + · · ·+ σ−2n

si ‖A−1‖2 = 1/σn, iar numarul de conditionare la inversare al matricei A are ex-presiile

κtr(A)def= ‖A‖tr‖A−1‖tr = (σ1 + σ2 + · · ·+ σn)(σ

−11 + σ−1

2 + · · ·+ σ−1n ), (5.48)

5.2. PROBLEME DE CALCUL CONEXE 385

κF (A)def= ‖A‖F ‖A−1‖F =

(σ21 + σ2

2 + · · ·+ σ2n)(σ

−21 + σ−2

2 + · · ·+ σ−2n ), (5.49)

si, respectiv,

κ2(A)def= ‖A‖2‖A−1‖2 =

σ1σn. (5.50)

5.2.4 Pseudoinversa

In continuare vom defini ıntr-un cadru general pseudoinversa unei matrice. Desi,ın general, calculul explicit al pseudoinversei este evitat ın aplicatii, vom prezentatotusi exprimarea ei cu ajutorul DVS, exprimare care ofera calea cea mai avanta-joasa pentru un eventual calcul al acesteia.

Definitia 5.4 Fie A ∈ ICm×n. O matrice X ∈ ICn×m care satisface urmatoarelepatru conditii Moore-Penrose 14

AXA = AXAX = X(AX)H = AX(XA)H = XA

(5.51)

se numeste pseudoinversa matricei A.

Avem urmatoarea teorema de existenta si unicitate.

Teorema 5.6 Orice matrice A ∈ ICm×n admite o pseudoinversa unica. Daca A == UΣV H este DVS a matricei A, atunci pseudoinversa sa este

A+ = V Σ+UH , (5.52)

unde

Σ+ =

[Σ−1

1 00 0

]

∈ IRn×m (5.53)

este pseudoinversa matricei Σ.

Demonstratie. Existenta psedoinversei se demonstreaza aratand mai ıntai ca(5.53) satisface cele patru conditii din (5.51) si apoi ca acestea sunt satisfacute si decatre matricea A+ definita ın (5.52) (exercitiu pentru cititor). Pentru demonstratiaunicitatii, fie X,Y ∈ ICn×m doua pseudoinverse ale matricei A si D = X − Y . Din(5.51) rezulta

ADA = 0,DAD +DAY + Y AD = D,(AD)H = AD,(DA)H = DA.

14 Cele patru conditii Moore-Penrose sunt echivalente cu urmatoarele trei (vezi [ II ]){

AXA = AX = PAH = AHR

unde P si R sunt doua matrice oarecare. Ultimele doua conditii exprima faptul ca liniile si coloanelepseudoinversei sunt combinatii liniare ale liniilor, respectiv ale coloanelor matricei AH .

386 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Utilizand prima din relatiile de mai sus, din penultima obtinem (AD)HAD == ADAD = 0, i.e. AD = 0. Similar, din prima si ultima relatie obtinem DA = 0.Prin urmare satisfacerea celei de a doua din relatiile de mai sus implica D = 0, i.e.X = Y . 3

Propozitia ce urmeaza ofera o caracterizare interesanta a pseudoinversei.

Propozitia 5.5 Fie A ∈ ICm×n. Pseudoinversa X = A+ este unica solutie ma-triceala de norma Frobenius minima a problemei

minX∈ ICn×m

‖AX − Im‖F . (5.54)

Demonstratie. Intrucat norma Frobenius nu este alterata de transformari unitare,avem

rF (X)def= ‖AX − Im‖F = ‖UHAV V HX − UH‖F = ‖ΣV HX − UH‖F =

‖ΣV HXU− Im‖F =

∥∥∥∥

[Σ1 00 0

][Y11 Y12Y21 Y22

]

− Im∥∥∥∥F

=

∥∥∥∥

[Σ1Y11− Ir Σ1Y12

0 Im−r

]∥∥∥∥F

,

unde Ydef= V HXU ∈ ICn×m si partitia lui Y este conforma cu partitia lui Σ. Evident,

rF (X) este minima atunci cand atat ‖Σ1Y12‖F cat si ‖Σ1Y11−Ir‖F sunt minime, i.e.,pentru Y12 = 0 si Y11 = Σ−1

1 . Deci, toate matricele X ∈ IRn×m care minimizeazarF (X) sunt de forma

X = V Y UH = V

[Σ−1

1 0Y21 Y22

]

UH .

Dar ‖X‖F =

∥∥∥∥

[Σ−1

1 0Y12 Y22

]∥∥∥∥F

este minima pentru Y21 = 0, Y22 = 0. In consecinta,

solutia de norma Frobenius minima pentru problema (5.54) este matricea X == V Σ+UH = A+. 3

Din rezultatele de mai sus rezulta ca valorile singulare nenule ale pseudoinverseisunt inversele valorilor singulare nenule ale matricei initiale, vectorii singulari lastanga, respectiv la dreapta ai pseudoinversei sunt vectorii singulari la dreapta,respectiv la stanga, ai matricei initiale asociati valorilor singulare corespondente.Drept consecinta, obtinem urmatoarea DVS pentru pseudoinversa matricei A

A+ = U1Σ−11 V H

1 =

r∑

j=1

vjuHj

σj, (5.55)

unde uj , vj sunt coloanele j ale matricelor U si, respectiv, V .

5.2.5 Subspatii liniare. Baze ortogonale

Consideram important sa evidentiem faptul ca se pot construi baze ortogonale alesubspatiilor fundamentale definite de o matrice arbitrara folosind vectorii sai sin-gulari 15.

15 In capitolul 3 a fost prezentata o metoda alternativa de constructie a bazelor ortogonale alesubspatiilor fundamentale definite de o matrice, metoda bazata pe utilizarea factorizarii QR cu

5.2. PROBLEME DE CALCUL CONEXE 387

Propozitia 5.6 Fie A ∈ ICm×n avand rangA = r si Σ = UAV H descompunereavalorilor sale singulare. Atunci

i) Primele r coloane ale matricei unitare U formeaza o baza ortogonala asubspatiului imagine al lui A, iar ultimele m − r coloane ale lui U formeaza obaza ortogonala a subspatiului nucleu a lui AH , i.e. cu notatiile (5.13) avem

ImU1 = ImA, ImU2 = KerAH . (5.56)

ii) Primele r coloane ale matricei unitare V formeaza o baza ortogonala a sub-spatiului imagine al lui AH , iar ultimele n − r coloane ale lui V formeaza o bazaortogonala a subspatiului nucleu a lui A, i.e. cu notatiile (5.13) avem

ImV1 = ImAH , ImV2 = KerA. (5.57)

In cazul real toate asertiunile raman adevarate daca operatorul hermitic este ınlocuitcu operatorul de transpunere.

Demonstratie. i) Din DVS a matricei A avem A = U1Σ1VH1 . Cum matricea

Σ1VH1 este epica obtinem ImA = ImU1. Evident, coloanele matricei U2 formeaza o

baza ortogonala a complementului ortogonal ın ICn al lui ImU1=ImA care este acelasisubspatiu cu KerAH . ii) Se repeta rationamentul de mai sus pentru matriceaAH = V ΣTUH . 3

Pentru scopuri mnemotehnice, ın figura 5.2 sunt reprezentate, ıntr-o forma con-ventionala, relatiile dintre subspatiile liniare definite de o matrice m× n.

a a

'

&

$

%

'&

$%

'

&

$

%

'

&

$

%

'

&

$

%

'&

$%

�� @@R

A

��� HHHHHHj

A

��@@

@@I

AH

HHHHHHY

AH

0

ICn

KerA = ImV2

ImAH=

ImV1

0

ICm

ImA = ImU1

KerAH=

ImU2

Fig. 5.2: Subspatiile liniare fundamentale definite de o matrice A ∈ ICm×n si relatiiledintre ele

pivotarea coloanelor. Desi, din punct de vedere numeric, metoda bazata pe DVS este consideratasuperioara, ın majoritatea aplicatiilor metoda bazata pe factorizarea QR cu pivotarea coloaneloreste la fel de sigura fiind, ın acelasi timp, mai eficienta.

388 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

5.2.6 Proiectori ortogonali

DVS ofera pe langa baze ortogonale si posibilitatea de calcul a proiectorilor or-togonali pe subspatiile fundamentale definite de o matrice data. Desi notiunea deproiector ortogonal a mai fost introdusa si utilizata ın capitolele 1 si 3, pentrucomoditatea cititorului, reluam problema ın contextul DVS.

Definitia 5.5 Fie S ⊂ ICn un subspatiu liniar si T = S⊥ complementul sau orto-gonal ın ICn. O matrice P ∈ ICn×n care satisface conditiile

{y = Px ∈ Sz = x− y ∈ T , ∀x ∈ ICn (5.58)

se numeste matrice de proiectie ortogonala sau proiector ortogonal pe S.Vectorii y = Px si z = x − y se numesc proiectiile ortogonale ale vectorului x

pe S si, respectiv, pe T .

Definitia de mai sus se particularizeaza ın mod natural la subspatii liniare dinspatiul vectorial IRn.

Existenta, unicitatea si principalele proprietati ale proiectorilor ortogonali suntprezentate sub forma unei teoreme.

Teorema 5.7 Oricare ar fi subspatiul S ⊂ ICn proiectorul ortogonal P exista si esteunic determinat. Daca vectorii v1, v2, . . . , vk formeaza o baza ortogonala a lui S,atunci proiectorul ortogonal are expresia

P = V V H , Vdef= [ v1 v2 · · · vk ] ∈ ICn×k. (5.59)

Matricea de proiectie ortogonala P este hermitica (simetrica ın cazul real), idem-potenta si coloanele ei genereaza subspatiul S, i.e.

PH = P, P 2 = P, ImP = S. (5.60)

Demonstratie. Existenta. Daca S = {0}, atunci P = 0. Pentru un subspatiu cudimS = k ≥ 1 exista o baza ortogonala. Vom arata ca matricea P definita de (5.59)este un proiector ortogonal pe S. Intr-adevar, y = Px = V V Hx = V w ∈ ImV = Spentru toti x ∈ ICn si daca z = x − y, atunci zHV = xHV − xHV V HV = 0, i.e.z ⊥ S sau, echivalent, z ∈ S⊥. Unicitatea. Fie P1 si P2 doi proiectori ortogonalipe acelasi subspatiu S. Atunci avem

‖(P1 − P2)x‖22 = (P1x)H(x− P2x) + (P2x)

H(x− P1x) = 0, ∀x ∈ ICn

ıntrucat, conform (5.58), S ∋ P1x ⊥ (x− P2x) ∈ S⊥ si S ∋ P2x ⊥ (x− P1x) ∈ S⊥.Obtinem (P1 − P2)x = 0, ∀x ∈ ICn si, considerand n vectori liniar independenti x,rezulta P1 = P2.

In continuare, primele doua relatii (5.60) rezulta imediat din expresia (5.59) aunui proiector ortogonal. Vom arata acum ca ImP = S oricare ar fi proiectorulortogonal pe S. Avem Px ∈ S, i.e. ImP ⊂ S. Reciproc, conform (5.58), pentrutoti y ∈ ICn avem Py ∈ S si z = y−Py ∈ S⊥. Daca y ∈ S, atunci avem si y−Py ∈ S

5.2. PROBLEME DE CALCUL CONEXE 389

i.e. z ∈ S ∩ S⊥ = {0}. Deci z = 0 sau y = Py, i.e. y ∈ ImP . Prin urmare rezultaS ⊂ ImP si, datorita incluziunii precedente, ImP = S. 3

Conform acestei teoreme, pentru toate matricele V ∈ ICn×k ale caror coloaneformeaza baze ortogonale ale aceluiasi subspatiu, matricele V V H sunt aceleasi.Proiectorul ortogonal pe ICn este P = In. Proiectorul ortogonal pe un subspatiu

unidimensional S = Imv, unde v este un vector nenul din ICn, este P =vvH

vHv.

Fie A ∈ ICm×n, A = UΣV H si subspatiile fundamentale ImA,KerAH din ICm,ImAH ,KerA din ICn. Asa cum am vazut ın paragraful precedent, coloanele ma-tricelor U si V formeaza baze ortogonale pentru toate aceste subspatii. Utilizandnotatiile (5.13) si relatiile (5.56), (5.57), (5.59) obtinem pentru proiectorii ortogonalipe cele patru subspatii mentionate urmatoarele expresii

P1 = U1UH1 = AA+ − proiector ortogonal pe ImA,

P2 = U2UH2 = Im −AA+ − proiector ortogonal pe KerAH ,

P3 = V1VH1 = A+A − proiector ortogonal pe ImAH ,

P4 = V2VH2 = In −A+A − proiector ortogonal pe KerA,

(5.61)

unde A+ este pseudoinversa matricei A. Demonstrarea egalitatilor secunde dinexpresiile de mai sus se propune ca exercitiu pentru cititor.

Exemplul 5.2 Consideram matricea

A =

0.9600 1.28000.6912 0.92160.2016 0.2688

care admite o DVS A = UΣV T definita de

U =

0.8000 −0.3600 −0.48000.5760 0.6848 0.44640.1680 −0.6336 0.7552

, Σ =

2 00 00 0

, V =

[0.6000 −0.80000.8000 0.6000

]

si are, evident, valorile singulare σ(A) = {2, 0}. Notand cu uj = U(:, j), j == 1 : 3, si vj = V (:, j), j = 1 : 2, coloanele matricelor U si, respectiv, V cele patrusubspatii definite cu ajutorul matricei A sunt (vezi fig. 5.3) ImA = Imu1, KerAT == Im[u2 u3 ], din IR3, respectiv ImAT = Imv1, KerA = Imv2, din IR2. Cei patruproiectori ortogonali sunt

P1 = u1uT1 =

0.6400 0.4608 0.13440.4608 0.3318 0.09680.1344 0.0968 0.0282

,

P2 = [u2 u3 ]

[uT2uT3

]

=

0.3600 −0.4608 −0.1344−0.4608 0.6682 −0.0968−0.1344 −0.0968 0.9718

,

P3 = v1vT1 =

[0.3600 0.48000.4800 0.6400

]

, P4 = v2vT2 =

[0.6400 −0.4800−0.4800 0.3600

]

.

390 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

AAAK

HHHj��

���7

ZZ

Z}

-

6

���������

0

y1

y2

y3

IRm

-

6

0

x1

x2

IRn

u1

u2

u3

ImA

KerAT

��������

��������

AAA

AA

AA

AA

AAAAAAAAA

HHHH

HHHHHHHHH

��������*

�������

HHHHHHj

HHHHHH

�������

y

P2y

P1y

v1v2

ImAT

KerAZZZZZZZZZZZZ

�������������

�����7

ZZ~������3ZZ

��

���

x

P3x

P4x

Fig. 5.3: Subspatii liniare si proiectii ortogonale

(Precizam ca, ın majoritatea aplicatiilor, proiectorii sunt utilizati ın forma factori-zata din (5.61).)

In figura 5.3 sunt prezentate actiunile acestor proiectori ortogonali asupra a doivectori arbitrari y si x din IR3 si, respectiv, IR2. 3

5.2.7 Operatii cu subspatii liniare

In aplicatiile cu suport geometric apare de multe ori necesitatea de a calcula subspa-tii liniare derivate din subspatii existente cu ajutorul operatiilor uzuale. Natural,DVS poate fi de un real folos ın astfel de situatii. In continuare, vom consideraca subspatiile date apartin spatiului liniar ICm 16 si sunt cunoscute prin baze (nuneaparat ortogonale) ale acestora, iar vectorii din baze se scriu sub forma unorcoloane de matrice omonime, i.e. X = ImX , Y = ImY 17 etc. Subspatiile rezultatvor fi calculate prin determinarea unor baze ortogonale ale acestora. Asa cum s-amai precizat, aspectele numerice legate de utilizarea calculului aproximativ vor fidiscutate ıntr-o alta sectiune a acestui capitol aici admitand ipoteza posibilitatiiunui calcul exact.

A. Incluziune si egalitate. Fie X = ImX si Y = ImY doua subspatii liniaredin ICn cu dimX ≤ dimY. Este usor de vazut ca incluziunea X ⊆ Y are loc daca sinumai daca

rangY = rang[X Y ] (5.62)

si, prin urmare incluziunea poate fi testata pe aceasta baza calculand DVS a ma-tricelor Y si [X Y ]. O cale alternativa, mai economica, se bazeaza pe faptul ca

16 Pentru subspatii din IRm se procedeaza absolut similar.17 Matricele X, Y nu sunt neaparat monice, i.e. pe langa vectorii din baza pot contine drept

coloane si combinatii liniare ale acestora.

5.2. PROBLEME DE CALCUL CONEXE 391

X ⊆ Y atunci si numai atunci cand coloanele matricei X apartin lui Y. Numeric,apartenenta unui vector la un subspatiu se poate constata verificand coincidentavectorului respectiv cu proiectia sa ortogonala pe acel subspatiu. In consecinta,testul incluziunii X ⊆ Y se poate face cu urmatoarea schema de calcul.

X ⊆ Y1. Se calculeaza DVS Y = UΣV H a matricei Y si fie r = rangY2. Daca ‖U1U

H1 X −X‖ = 0, unde U1 = U(:, 1:r), atunci X ⊆ Y

Egalitatea a doua subspatii X = ImX si Y = ImY se testeaza e.g. aplicand de douaori schema de mai sus pentru verificarea incluziunilor X ⊆ Y si Y ⊆ X .

B. Suma a doua subspatii liniare. Subspatiul suma al subspatiilor X == ImX , Y = ImY din ICn se defineste prin

S def= X + Y = { s ∈ ICn | s = x+ y, x ∈ X , y ∈ Y } (5.63)

si, este simplu de constatat, poate fi scris sub forma

S = ImS, unde S = [X Y ]. (5.64)

In consecinta, daca S = UΣV H este DVS a lui S, atunci r = rangS este dimensiuneaspatiului suma, iar coloanele matricei U1 = U( : , 1 : r) formeaza o baza ortogonalaa lui S. Evident, procedura poate fi extinsa pentru calculul sumei a mai multorsubspatii liniare. Celelalte coloane ale matricei U si coloanele matricei V definescsubspatii evidentiate ıntr-un paragraf anterior. De exemplu, coloanele matricei U2 == U( : , r+1 : m) formeaza o baza ortogonala a subspatiului T = S⊥ = X⊥ ∩ Y⊥.

C. Intersectia. Subspatiul intersectie

T def= X ∩ Y = { t ∈ ICn | t ∈ X & t ∈ Y } (5.65)

a subspatiilor X = ImX , Y = ImY din ICn se poate calcula plecand de la ultimaobservatie din aliniatul precedent, i.e. utilizand relatia

T = X ∩ Y = (X⊥ + Y⊥)⊥

(5.66)

ceea ce presupune calculul a trei DVS conform schemei

X ∩ Y – v1

1. Se calculeaza o baza BX pentru X⊥ = KerXH , folosind DVS a matricei X2. Se calculeaza o baza BY pentru Y⊥ = KerY H , folosind DVS a matricei Y3. Se calculeaza baza cautata a subspatiului T = X ∩ Y, utilizand DVS amatricei [BX BY ]

O procedura alternativa, mai economica, se bazeaza pe DVS S = [X Y ] = UΣV H

a matricei S din (5.64) din care rezulta

[X Y ]V ( : , r+1 : nx+ny) = XV2X + Y V2Y = 0,

392 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

unde r este rangul lui S, cu nx, ny s-a notat numarul de coloane al matricelor X ,respectiv Y , V2X = V (1 :nx, r+1 : nx+ny) si V2Y = V (nx+1:nx+ny, r+1 : nx+ny).Avem

T = X ∩ Y = ImXV2X = ImY V2Y . (5.67)

Intr-adevar, e.g. daca t ∈ ImXV2X , atunci pentru un anumit vector u avem t == XV2Xu = −Y V2Y u, respectiv, cu notatii evidente, t = Xw = Y z, i.e. t ∈ T .Reciproc, daca t ∈ T , atunci t = Xw = −Y z pentru anumiti vectori w si z, de

unde Xw + Y z = 0, i.e.

[wz

]

∈ KerS = ImV2 cu V2 =

[V2XV2Y

]

. Prin urmare,[wz

]

= V2u pentru un anumit u, i.e. w = V2Xu si z = V2Y u, de unde rezulta

t ∈ ImXV2X si t ∈ ImY V2Y . Deci, (5.67) este adevarata si poate fi utilizata pentrucalculul unei baze ortogonale a subspatiului intersectie conform urmatoarei schemede calcul.

X ∩ Y – v2

1. Se calculeaza DVS S = UΣV H a matricei S = [X Y ]

2. Se calculeaza DVS T = U ΣV H a matricei T = XV2X sau T = Y V2YNotam cu ρ rangul matricei T . Baza ortogonala cautata a subspatiului

intersectie T este U( : , 1:ρ)

D. Aplicatii liniare. Fie o aplicatie liniara A : ICn → ICm. Pentru bazefixate, aplicatiei A i se asociaza matricea A ∈ ICm×n astfel ıncat corespondenteix 7→ y = A(x) i se asociaza relatia numerica y = Ax. Fie acum un subspatiu liniarX din ICn. Atunci multimea

Y = AX = {y ∈ ICm | y = Ax, x ∈ X } (5.68)

este un subspatiu liniar din ICm numit subspatiul imagine a lui X prin aplicatia liniaradefinita de A. Problema este urmatoarea: date matricea A si matricea X ∈ ICn×k

astfel ıncat X = ImX , se cere calculul unei baze ortogonale a subspatiului Y = AX .Este usor de vazut ca

Y = A ImX = ImAX, (5.69)

de unde rezulta imediat faptul ca o baza ortogonala a subspatiului Y este datade coloanele matricei U1 = U( : , 1 : ry) din DVS a matricei Y = AX = UΣV H ,unde ry este rangul lui Y . Rezultate numerice mai bune se obtin [ XIX ] daca maiıntai se determina o baza ortogonala U1 a lui X si apoi se tine seama de faptul caY = ImAU1. Schema de calcul este urmatoarea.

Y = AX1. Se calculeaza DVS X = U ΣV H . Fie rx rangul lui X

2. Se calculeaza B = AU( : , 1:rx)3. Se calculeaza DVS B = UΣV H . Daca ry este rangul lui B, atunci bazacautata a subspatiului Y este data de coloanele matricei U1 = U( : , 1:ry)

5.3. ALGORITMUL DVS 393

5.3 Algoritmul DVS

Dupa cum s-a precizat, valorile singulare ale matricei A ∈ ICm×n sunt radacinilepatrate nenegative ale valorilor proprii ale uneia dintre matricele hermitice pozitivsemidefinite B = AHA sau C = AAH (vezi teorema 5.2). Mai mult, exista conexiuniimportante dintre DVS a matricei A si forma Schur a matricelor hermitice F =

=

[0 AH

A 0

]

sau G =

[0 AAH 0

]

(vezi propozitia 5.1). Natural, ın cazul real,

conjugarea nu are nici un efect, astfel ca matricele B = ATA, C = AAT suntsimetrice, pozitiv semidefinite, iar matricele F si G simetrice.

Teorema 5.2 sugereaza o posibilitate de calcul a valorilor singulare ale unei ma-trice A calculand valorile proprii ale uneia dintre matricele B, C, F sau G, cuajutorul algoritmului QR simetric. Intr-o astfel de abordare, determinarea ma-tricelor unitare (ın cazul real, ortogonale) U si V se poate face conform indicatiilordin observatia 5.3.

Totusi, calculul explicit al matricelor B sau C poate conduce la o pierdere deinformatie, dupa cum se poate vedea din exemplul urmator.

Exemplul 5.3 Fie matricea

A =

1 10.001 00 0.001

,

avand valorile singulare σ(A) = {√2.000001, 0.001}. Avem

B = ATA =

[1.000001 1

1 1.000001

]

.

Intr-un format virgula mobila avand mantisa cu mai putin de 7 cifre zecimale,matricea B este reprezentata prin

B =

[1 11 1

]

,

avand spectrul λ(B) = { 2, 0 }, valorile singulare calculate prin procedura sugeratamai sus fiind σ(A) = {

√2, 0}, i.e. o evaluare cu o precizie mult inferioara celei de

reprezentare. 3

O metoda mai performanta pentru calculul DVS – propusa de G.H. Golub siW. Kahan [30] ın 1965 si cunoscuta sub denumirea de algoritm DVS 18 – evitaformarea explicita a matricelor B sau C, construind recurent un sir de matrice uni-tar (ortogonal) echivalente cu matricea A, convergent catre o matrice diagonala.Calculul DVS al matricei diagonale limita este trivial dupa care, ordonand core-spunzator elementele diagonale, se obtine matricea Σ ce defineste DVS a matriceiinitiale. Matricele U si V se calculeaza prin acumularea transformarilor. Ideea de

18 In literatura de specialitate de limba engleza acronimul utilizat este SVD (Singular ValueDecomposition).

394 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

baza a algoritmului DVS consta ın faptul ca matricele Ak, k = 1, 2, . . . ale siruluiDVS au proprietatea ca matricele Bk = AH

k Ak (ın cazul real Bk = ATkAk) formeaza

sirul QR hermitic (simetric) corespunzator, asociat matricei B. De aceea, se spuneca algoritmul DVS este o varianta ”mascata” a algoritmului QR simetric.

Algoritmul DVS are doua etape.1. Prima etapa consta ın reducerea matricei A, prin transformari unitare (or-

togonale) de echivalenta, la o forma superior bidiagonala J astfel ıncat matriceatridiagonala T = JHJ sa coincida cu cea produsa de prima etapa a algoritmuluiQR simetric aplicat lui B.

2. Etapa a doua consta ın reducerea iterativa a matricei J la forma diagonalaprin anularea asimptotica a elementelor supradiagonale prin transformari unitare(ortogonale) bilaterale ce corespund pasilor algoritmului QR simetric cu deplasareimplicita aplicati lui B.

Vom prezenta ın continuare detaliile acestui algoritm.

5.3.1 Reducerea la forma bidiagonala

Baza teoretica a primei etape a algoritmului DVS este data de urmatorul rezultat.

Teorema 5.8 Fie o matrice A ∈ ICm×n. Exista matricele unitare U ∈ ICm×m siV ∈ ICn×n astfel ıncat matricea

J = UHAV ∈ ICm×n (5.70)

este superior bidiagonala, i.e. J(i, j) = 0, ∀ i > j si ∀ j > i + 1.In cazul real, matricele U si V pot fi reale (i.e. ortogonale) si, prin urmare, si

matricea bidiagonala J este, ın acest caz, reala.

Demonstratie. Vom da o demonstratie constructiva, aratand cum se calculeazaefectiv matricele unitare U si V din (5.70). Pentru fixarea ideilor, presupunem cam ≥ n 19, ın care caz procedura are p = min(m− 1, n) pasi.

Pasul 1◦. In primul rand, exista reflectorul (complex) U1, de ordinul m, ast-fel ıncat (UH

1 A)(2 : m, 1) = 0. Dupa aplicarea reflectorului U1, exista reflectorulV2, de ordinul n si indice 2 (i.e. avand structura V2 = diag(1, V2)) astfel ıncat((UH

1 A)V2)(1, 3:n) = 0. Datorita structurii mentionate a reflectorului V2, postmul-tiplicarea cu acesta nu altereaza zerourile create ın prima coloana. Prin urmare,

matricea A ← A1def= UH

1 AV2 este superior bidiagonala ın prima coloana si primalinie.

Pasul k◦. Presupunem ca, dupa primii k − 1 pasi, matricea A ← Ak−1def=

def= UH

k−1 . . . UH1 AV2 . . . Vk este superior bidiagonala ın primele k − 1 coloane si

primele k − 1 linii. Acum, exista reflectorul (complex) Uk = diag(Ik−1, Uk) ast-fel ıncat (UH

k Ak−1)(k + 1 : m, k) = 0. Dupa aplicarea reflectorului Uk, ne folosimde existenta reflectorului Vk+1 pentru anularea elementelor (k, k+ 2 : n), i.e. astfelıncat ((UH

k Ak−1)Vk+1)(k, k+2 : n) = 0. Este usor de vazut ca structura reflectorilor

19 Daca m < n se poate calcula DVS a matricei G = AH . Daca G = UΣV H , atunci DVS amatricei A este, evident, A = VΣTUH .

5.3. ALGORITMUL DVS 395

utilizati la acest pas asigura conservarea zerourilor create la pasii precedenti si, prinurmare, procesul de bidiagonalizare, initiat la pasul 1◦, poate fi continuat.

In final, dupa p pasi, matricea A este suprascrisa de matricea bidiagonala

A← Jdef= Ap = UH

p · · ·UH2 U

H1 AV2V3 · · ·Vn−1 = UHAV. (5.71)

Matricele unitare de transformare U si V au, evident, expresiile

U = U1U2 · · ·Up, V = V2V3 · · ·Vn−1. (5.72)

Demonstratia este completa. 3

In demonstratia teoremei 5.8 s-a scos ın evidenta faptul ca ıntregul proces dediagonalizare se poate efectua pe loc, ın locatiile de memorie ale elementelor matriceiA. Mai mult, asa cum se va vedea mai departe, locatiile elementelor matricei Apot servi pentru memorarea elementelor definitorii ale matricelor de transformareutilizate. De asemenea, avandu-se ın vedere faptul ca procesul iterativ conservastructura superior bidiagonala, ın continuare vom memora matricea bidiagonala Jnumai prin vectorii f ∈ ICn al elementelor diagonale si g ∈ ICn−1 al elementelorsupradiagonale (ın cazul m ≥ n considerat) conform scrierii

J = UHAV =

f1 g1f2 g2

. . .. . .

. . . gn−1

fn

. (5.73)

Algoritmul de bidiagonalizare, prezentat ın continuare, reproduce fidel ideiledemonstratiei teoremei 5.8. Vom utiliza reflectori hermitici, caz ın care matriceabidiagonala care se obtine este, ın general, complexa. Pentru un plus de claritateprezentam mai ıntai o schema de calcul.

JQ 1. p = min(m− 1, n)

2. Pentru k = 1 : p1. Se calculeaza reflectorul Uk astfel ıncat(UH

k A)(k + 1 : m, k) = 0.2. A← UH

k A3. Daca k < n− 1, atunci

1. Se calculeaza reflectorul Vk+1 astfel ıncat(AVk+1)(k, k + 2 : n) = 0.

2. A← AVk+1

3. Daca se doreste calculul matricei U , atunci1. U ← Im2. Pentru k = p : −1 : 1

1. U ← UkU

396 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

4. Daca se doreste calculul matricei V , atunci3. V ← In4. Pentru k = n− 2 : −1 : 1

1. V ← Vk+1V

Utilizand procedurile din tabelul 4.3 (vezi cap. 4), algoritmul corespunzatorschemei de calcul de mai sus se scrie astfel.

Algoritmul 5.1 (JQc – Reducerea la forma bidiagonala) (Data ma-tricea A ∈ ICm×n, cu m ≥ n, algoritmul calculeaza reflectorii hermiticiUk, k = 1 : p, p = min(m−1, n), si Vk, k = 2 : n−1, astfel ıncat matriceaJ = UH

p . . . UH1 AV2 . . . Vn−1 = UHAV este bidiagonala. Matricea J este

obtinuta prin vectorii f ∈ ICn si g ∈ ICn−1 ai elementelor sale diagonale,respectiv supradiagonale. Optional, se acumuleaza matricele unitare detransformare U si/sau V . Optiunea se exprima cu ajutorul variabilelorlogice opt1 si opt2 care pot lua valorile ’da’ sau ’nu’. Daca nu se doresteacumularea, atunci pentru matricea respectiva se returneaza matriceaunitate de dimensiune corespunzatoare.)

1. p = min(m− 1, n)

2. Pentru k = 1 : p

1. [ c, A(k : m, k), βk ] = Hc(A(k : m, k))

2. fk = c13. Daca k < n atunci

1. A(k : m, k + 1 : n) == Hcs(A(k : m, k), βk, A(k : m, k + 1 : n))

4. Daca k < n− 1 atunci

1. [ c, v, γk+1 ] = Hc((A(k, k + 1 : n))T )

2. A(k, k + 1 : n) = vT

3. gk = c14. A(k + 1 : m, k + 1 : n) =

= Hcd(A(k : m, k + 1 : n), v, γk+1)

5. gn−1 = A(n− 1, n)

3. Daca m = n atunci

1. fn = A(n, n)

4. U = Im, V = In

5. Daca opt1 = ′da′ atunci

1. Pentru k = p : −1 : 1

1. U(k : m, k : m) = Hcs(A(k : m, k), βk, U(k : m, k : m))

6. Daca opt2 = ′da′ atunci

1. Pentru k = n− 2 : −1 : 1

1. V (k + 1 : n, k + 1 : n) == Hcs((A(k, k+1 : n))T , γk+1, V (k + 1 : n, k + 1 : n))

5.3. ALGORITMUL DVS 397

Comentarii. Semnalam, ın primul rand, faptul ca vectorul uk ce defineste reflec-torul hermitic Uk (din structura reflectorului Uk) este memorat ın locatiile (k : m, k)ale matricei A. Pentru a fi posibil acest lucru, ın afara elementelor (k + 1 : m, k),anulate la pasul curent k de catre Uk, este utilizata si locatia (k, k), ceea ce pre-

supune salvarea prealabila a elementului diagonal calculat akkdef= fk. Similar,

vectorul vk+1 definitoriu pentru reflectorul Vk+1 = In−k −vk+1v

Hk+1

γk+1, este memorat

ın locatiile (k, k + 1 : n) dupa ce, ın prealabil, a fost salvat elementul ak,k+1def= gk.

Pentru a face posibil acest lucru fara modificarea procedurilor utilizate a fost intro-dus un vector de lucru c. De asemenea, pentru a nu introduce o noua procedurade calcul a unui reflector care sa anuleze componentele (2 : n) ale unui vector linien-dimensional, s-a utilizat un vector de lucru v.

Sintaxa de utilizare a algoritmului de mai sus este

[ f, g, U, V ] = JQc(A, opt1, opt2).

In cazul datelor initiale reale, toate matricele de transformare sunt reale, i.e. orto-gonale, iar algoritmul de mai sus se adapteaza prin simpla substituire a procedurilorpentru date complexe cu cele pentru date reale (concret, se ınlocuieste sigla c dinnumele procedurilor cu sigla r). De aceeea ne marginim sa prezentam pentru acestcaz numai sintaxa de utilizare

[ f, g, U, V ] = JQr(A, opt1, opt2).

Efortul de calcul asimptotic implicat de executia variantei reale, fara acumularea

transformarilor, este Nop = 4mn2 − 4

3n3 flopi, iar ın cazul complex, daca avem

ın vedere echivalarile operatiilor cu numere complexe cu cele cu numere reale (v.cap. 4), de cateva ori mai mare. Tot ın varianta reala, pentru calculul matricei de

transformare U , sunt necesare N ′op = 4m2n− 4

3n3 flopi, respectiv, pentru calculul

matricei de transformare V se executa N ′′op =

4

3n3 flopi suplimentari. De retinut

ordinea inversa de acumulare a transformarilor care este mai economica, exploatand”umplerea” progresiva a matricelor de transformare. 3

Observatia 5.4 In cazul ın care m ≫ n este posibila o usoara ımbunatatire aeficientei daca ınaintea aplicarii algoritmului JQ are loc o prealabila triangularizareunitara (ortogonala) a matricei A. Concret, procedura, numita ”R-bidiagonalizare”,este urmatoarea.

RJQ 1. Se efectueaza triangularizarea unitara QHA = R =

[R1

0

]

,

cu R1 o matrice n× n superior triunghiulara.

2. [ f, g, U , V ] = JQ(R1, opt1, opt2)3. Daca opt1 = ′da′ atunci

1. U = Q diag(U , Im−n).

398 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Complexitatea acestei proceduri este apreciata, pentru date reale, la NRop ≈ 2mn2+

+2n3, fara acumularea transformarilor. Rezulta Nop − NRop = 2n2(m − 5

3n), i.e.

R-bidiagonalizarea devine asimptotic mai eficienta daca m > 53n. Consideratii

similare asupra complexitatii se pot face si pentru diverse variante de acumulare atransformarilor (vezi [ VI ]). 3

Observatia 5.5 Utilizand reflectori complecsi nehermitici (vezi cap. 3) adecvatcalculati, este posibila reducerea unei matrice complexe la o matrice bidiagonalareala prin transformari unitare de echivalenta. Aceasta versiune a algoritmului JQcpermite utilizarea exclusiva a unei aritmetici reale ın faza iterativa a algoritmuluiDVS si este folosita, de exemplu, ın pachetul de programe LAPACK. Detaliilealgoritmului fac obiectul exercitiului 5.15. 3

5.3.2 Faza iterativa a algoritmului DVS

Faza iterativa construieste un sir de matrice

J = J1, J2, · · · , Jk, · · · (5.74)

convergent catre matricea diagonala reala Σ=

[Σ1 00 0

]

, Σ1=diag(σ1, σ2, . . . , σr),

astfel ıncat sirul matriceal

T1 = JH1 J1, T2 = JH

2 J2, . . . , Tk = JHk Jk, . . . (5.75)

este sirul QR simetric cu deplasare implicita convergent catre forma Schur

S =

[Σ2

1 00 0

]

∈ Rn×n (5.76)

a matricei tridiagonale hermitice (simetrice) T = T1.

A. Un pas DVS

Presupunem, ın continuare, ca matricea superior bidiagonala J ∈ ICm×n este dataprin vectorii f ∈ ICn si g ∈ ICn−1 conform (5.73). Avand ın vedere faptul ca trans-formarile ce definesc un pas QR conserva structura tridiagonala a matricelor Tk,anticipam afirmand ca un pas DVS va conserva structura bidiagonala astfel ıncattoate calculele (mai putin acumularea transformarilor) pot avea loc ın locatiile dememorie ale vectorilor f si g.

Vom determina transformarile vectorilor f si g aferente unui pas DVS printransferarea catre acestia a aplicarii unui pas al algoritmului QR simetric cu de-plasare implicita matricei tridiagonale

Tdef= Tk = JH

k Jkdef= JHJ. (5.77)

In primul rand, aplicabilitatea variantei cu deplasare implicita este conditionatade ireductibilitatea matricei T (sau, mai bine zis, iteratia se aplica numai partiiireductibile a matricei T ). Tinand seama de faptul ca

ti,i+1 = figi, ti+1,i = figi, i = 1 : n− 1, (5.78)

5.3. ALGORITMUL DVS 399

conditia de ireductibilitate devine

fi 6= 0, gi 6= 0, i = 1 : n− 1. (5.79)

In conformitate cu cele prezentate ın capitolul precedent (vezi sectiunea 4.8),un pas QR simetric cu deplasare implicita presupune transformarile prezentatemai jos. Prezentam, ın paralel, efectele acestor transformari la nivelul vectorilor fsi g care definesc matricea bidiagonala J , evidentiind astfel ideile unui pas DVSGolub-Kahan.

1. Calculul deplasarii

µ = tnn = |gn−1|2 + |fn|2 (5.80)

sau, mai bine, al deplasarii Wilkinson, care este valoarea proprie a matricei

T (n− 1 : n, n− 1 : n) =

[|gn−2|2 + |fn−1|2 fn−1gn−1

fn−1gn−1 |gn−1|2 + |fn|2]

not=

[α ββ γ

]

(5.81)cea mai apropiata de tnn. Concret, aceasta deplasare are expresia

µ = γ + δ − sgn(δ)√

δ2 + |β|2, δ =α− γ2

, (5.82)

si se calculeaza economic si fiabil cu relatiile

δ =|gn−2|2 + |fn−1|2 − |gn−1|2 − |fn|2

2, η = |fn−1|2|gn−1|2,

µ = |gn−1|2 + |fn|2 +η

δ + sgn(δ)√

δ2 + η. (5.83)

In cazul real, particularizarile se obtin imediat.

2. Se calculeaza matricea unitara U1 astfel ıncat prima sa coloana U1e1 sa coin-cida cu prima coloana a matricei de transformare care defineste un pas QR simetriccu deplasare explicita, i.e.

U1e1 = ρ

t11 − µt210...0

= ρ

|f1|2 − µf1g10...0

, (5.84)

unde ρ este un factor scalar de normare. Introducand vectorul de deplasare implicitaaferent unui pas DVS

wdef=

[t11 − µt21

]

=

[|f1|2 − µf1g1

]

, (5.85)

400 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

matricea U1 poate fi o rotatie (complexa) P12 = diag(P12, Im−2) astfel ıncat

PH12w =

[∗0

]

. (5.86)

3. Calculul matricei T ← C = PH12TP12, care altera structura tridiagonala ın

pozitiile (3, 1) si (1, 3), se transfera ın calculul matricei

K = JP12 (5.87)

care evidentiaza o alterare a matricei superior bidiagonale ın pozitia (2, 1).

4. Aplicarea algoritmului TQ matricei C, pentru refacerea structurii tridiago-nale a matricei C se transfera, ın cadrul unui pas DVS, ın aplicarea unui algoritmJQ adaptat pentru refacerea structurii superior bidiagonale a matricei J prin trans-formari unitare bilaterale

J ← J ′ = UHn−1U

Hn−2 · · ·UH

1 KV2 · · ·Vn−1, (5.88)

unde Uk, Vk pot fi rotatii (complexe) sau reflectori (complecsi). Schema de calculeste urmatoarea.

1. Pentru k = 1 : n− 1

1. Se calculeaza rotatia Ukdef= Pk,k+1 astfel ıncat

(UHk K)(k + 1, k) = 0

2. K ← UHk K % Se anuleaza elementul (k + 1, k) si

% se altereaza zeroul din pozitia (k, k + 2)3. Daca k < n− 1

1. Se calculeaza rotatia Vk+1def= Pk+1,k+2 astfel ıncat

(KVk+1)(k, k + 2) = 0.2. K ← KVk+1 % Se anuleaza elementul (k, k + 2) si

% se altereaza zeroul din pozitia (k + 2, k + 1)

Pentru a exemplifica adaptarea algoritmului JQ la situatia structurala carac-teristica unei iteratii DVS cu deplasare implicita, consideram cazul dimensionalm = 5, n = 3. Ca si pana acum, ıncadrarile indica liniile sau coloanele afectate,” + ” zerourile alterate, iar ”∅” elementele anulate, toate referindu-se la transfor-marea curenta.

J =

× × 00 × ×0 0 ×0 0 00 0 0

, J ← JP12 =

× ×+ ×0 00 00 0

0××00

,

J ← UH1 J =

× × +∅ × ×0 0 ×0 0 00 0 0

, J ← JV2 =

×0000

× ∅× ×+ ×0 00 0

,

5.3. ALGORITMUL DVS 401

J ← UH2 J =

× × 0

0 × ×0 ∅ ×0 0 00 0 0

.

Matricea succesor K = J ′ este bidiagonala si

T ′ = J ′HJ ′ = (UHn−1 · · ·UH

1 JP12V2 · · ·Vn−1)HUH

n−1 · · ·UH1 JP12V2 · · ·Vn−1 =

= V Hn−1 · · ·V H

2 PH12J

HU1 · · ·Un−1UHn−1 · · ·UH

1 JP12V2 · · ·Vn−1 = QHJHJQ (5.89)

siQe1 = P12V2 · · ·Vn−1e1 = P12e1 (5.90)

este aceeasi cu cea corespunzatoare pasului QR simetric implicit pentru matriceatridiagonala T .

In consecinta, matricea Jk = J , care defineste sirul DVS este astfel calculataıncat matricea Tk = JH

k Jk defineste sirul QR pentru matricea hermitica B = AHAsi, prin urmare, este convergent la forma diagonala.

In conformitate cu cele prezentate mai sus, o iteratie DVS este implementatade urmatorul algoritm.

Algoritmul 5.2 (IT DVSc – Un pas DVS Golub-Kahan) (Dativectorii f ∈ ICn si g ∈ ICn−1 care definesc matricea bidiagonala (5.73)si matricele unitare U ∈ ICm×m si V ∈ ICn×n, algoritmul calculeazamatricea succesor J ← J ′ = QHJQ din sirul DVS, mai exact, noiivectori f ′ si g′ care suprascriu vectorii f si g. Optional, se actualizeazamatricele U si/sau V . Optiunea se exprima prin intermediul variabilelorlogice opt1 si opt2, care pot lua valorile logice ’da’ si ’nu’. Daca nu sedoreste actualizarea, matricele U si/sau V se returneaza nemodificate.)

1. % Calculul deplasarii Wilkinson

1. δ = (|gn−2|2 + |fn−1|2 − |gn−1|2 − |fn|2)/22. η = |fn−1|2|gn−1|2

3. µ = |gn−1|2 + |fn|2 +η

δ + sgn(δ)√

δ2 + η

2. w =

[|f1|2 − µf1g1

]

3. [w, c, s ] = Gc(w)

4. % Se calculeaza J ← JP12. Fie τ elementul nenul care altereazastructura bidiagonala

1. α← f1c− g1s2. g1 ← f1s+ g1c

3. f1 ← α

4. τ ← −f2s

402 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

5. f2 ← f2c

5. Daca opt2 = ′da′ atunci

1. V ( : , 1 : 2) = Gcd(V ( : , 1 : 2), c, s)

6. % Reducerea la forma bidiagonalaPentru k = 1 : n− 1

1. [

[fkτ

]

, c, s] = Gc(

[fkτ

]

)

2. α← cgk − sfk+1

3. fk+1 ← sgk + cfk+1

4. gk ← α

5. Daca k < n− 1 atunci

1. τ ← −sgk+1

2. gk+1 ← cgk+1

6. Daca opt1 = ′da′ atunci

1. U( : , k : k + 1) = Gcd(U( : , k : k + 1), c, s)

7. Daca k < n− 1 atunci

1. [v, c, s] = Gc(

[gkτ

]

)

2. gk = v1

3. α← fk+1c− gk+1s

4. gk+1 ← fk+1s+ gk+1c

5. fk+1 ← α

6. τ ← −fk+2s

7. fk+2 ← fk+2c

8. Daca opt2 = ′da′ atunci

1. V ( : , k + 1 : k + 2) = Gcd(V ( : , k + 1 : k + 2), c, s)

Comentarii. Sintaxa de apel utilizata ın continuare va fi ın cazul complex

[ f, g, U, V ] = IT DVSc(f, g, U, V, opt1, opt2)

si[ f, g, U, V ] = IT DVSr(f, g, U, V, opt1, opt2)

ın cazul real, care se obtine prin ınlocuirea procedurilor complexe apelate cu core-spondentele lor reale si renuntarea la operatia de conjugare. Numarul de operatiinecesar pentru executia unui pas DVS real este Nop ≃ 2n√ + 30n daca nu se

acumuleaza transformarile, N ′op ≃ 6mn operatii sunt necesare pentru acumularea

matricei U si, respectiv, N ′′op ≃ 6n2 pentru acumularea matricei V . 3

Observatia 5.6 In cadrul algoritmului DVS, iteratia DVS curenta, implementade algoritmul de mai sus, va actiona numai asupra unei parti a matricei bidiagonale(asa numitul bloc diagonal ireductibil). Aceasta actiune are ca efect modificareala fiecare iteratie numai a anumitor coloane a matricelor de transformare U si V .

5.3. ALGORITMUL DVS 403

Avand ın vedere acest fapt, suntem interesati sa accceptam ca parametri de intraresi de iesire pentru algoritmul IT DVSc matrice U si V cu un numar de linii superiorcelui precizat ın preambulul algoritmului. Utilizarea ın instructiunile 5.1, 6.6.1 si6.7.8.1 a simbolului ”:” cu semnificatia de ”toate liniile” face ca sa nu fie necesarenici un fel de modificari ale algoritmului. Acelasi mecanism de simbolizare permiteo codificare directa a algoritmului ın MATLAB. Pentru alte limbaje de programarese vor face precizarile de indexare ce se impun. 3

B. Algoritmul DVS

Algoritmul DVS consta din pasii iterativi Golub-Kahan aplicati partii ireductibilea matricei bidiagonale J , anularea elementelor diagonale si supradiagonale deveniteneglijabile, conform unui criteriu acceptat, si reducerea, pe aceasta baza, a dimen-siunii problemei de diagonalizare, pana la epuizare. In final, dupa un numar finit 20

de pasi, se obtine o matrice diagonala a carei DVS se obtine imediat. In legatura cumodul de gestionare structurala a matricei curente a siruluiDVS facem urmatoareleprecizari.

1. Pentru deciziile de anulare a elementelor supradiagonale se poate utilizaurmatorul criteriu

Daca |gi| ≤ tol(|fi|+ |fi+1|) atunci gi = 0. (5.91)

2. Tratarea situatiilor ın care conditiile de ireductibilitate (5.79) ale matriceiT = JHJ nu sunt satisfacute se face diferentiat ın functie de faptul ca elementulnul se afla pe supradiagonala sau pe diagonala. In continuare, referirile le facem lamatricea bidiagonala J initiala definita de vectorii f ∈ ICn si g ∈ ICn−1.

– Daca este nul un element terminal al vectorului g, i.e. g1 = 0 sau gn−1 = 0,atunci problema se reduce, evident, la o problema de dimensiune inferioara cu ounitate. Daca ambele elemente terminale mentionate sunt nule, atunci dimensiuneaproblemei reduse este n− 2.

– Daca exista un singur element supradiagonal neterminal nul, i.e. gi = 0 pentruun i ∈ 2 : n− 2, atunci matricea J se scrie sub forma

J =

[J1 00 J2

]

, J1 ∈ ICi×i, J2 ∈ IC(n−i)×(n−i), (5.92)

cu matricele JH1 J1 si JH

2 J2 tridiagonale ireductibile, i.e. problema se sparge ındoua probleme de aceeasi natura dar de dimensiuni mai mici. Daca sunt mai multeelemente supradiagonale nule, atunci problema ısi reduce, similar, dimensiunea sause sparge ın doua sau mai multe probleme de dimensiuni mai mici.

– Daca exista un singur element diagonal nul, i.e. fi = 0 pentru un i ∈ 1 : n− 1,atunci exista o procedura care, prin transformari unitare (e.g. o secventa de rotatii),anuleaza si elementul supradiagonal de pe aceeasi linie, creand astfel posibilitateadivizarii problemei ca ın (5.92). Schema de calcul este urmatoarea.

20 Datorita deciziilor de anulare efectiva a elementelor neglijabile.

404 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

TZD % Tratarea zerourilor diagonale.1. Pentru j = i+ 1 : n

1. Se calculeaza rotatia ”modificata” Pij astfel ıncat(PH

ij J)(i, j) = 0.2. J ← PH

ij J % Se anuleaza elementul (i, j) si, pentru j < n,este alterat zeroul din pozitia (i, j + 1).

3. Daca se doreste acumularea transformarilor, atunciU ← UPij .

Exemplificam modul de actiune al procedurii de mai sus pentru cazul dimensionalcu n = 4 si cu zeroul diagonal ın pozitia (2,2).

J =

× × 0 00 0 × 00 0 × ×0 0 0 ×

,

J ← P23J =

× × 0 0

0 0 ∅ +0 0 × ×0 0 0 ×

, J ← P24J =

× × 0 0

0 0 0 ∅0 0 × ×0 0 0 ×

.

In vederea scrierii mai concise a algoritmului DVS vom introduce un algoritmauxiliar de tratare a zerourilor diagonale, care implementeaza schema de calcul

TZD . Pentru scrierea lui avem nevoie de o procedura de calcul a unei rotatii”modificate”. Concret, rotatia (complexa) ”modificata” pe care o vom utiliza esteo matrice unitara de ordinul 2 cu structura cunoscuta

P =

[c s−s c

]

, cu c ∈ IR, s ∈ IC, c2 + |s|2 = 1, (5.93)

care, pentru un vector z ∈ IC2 dat asigura

(PHz)(1) = 0. (5.94)

Facand apel la rezultatele stabilite ın capitolul 3, nu este greu de vazut ca relatiile decalcul ale scalarilor c si s, care asigura satisfacerea conditiei (5.94), sunt urmatoarele.

c =

1, daca z1 = 0,0, daca z1 6= 0, z2 = 0,|z2|r, daca z1 6= 0, z2 6= 0,

s =

0, daca z1 = 0,1, daca z1 6= 0, z2 = 0,

z1z2|z2|r

, daca z1 6= 0, z2 6= 0,

(5.95)

r =√

|z1|2 + |z2|2, (PHz)(2) =rz2|z2|

.

Calculul elementelor definitorii de mai sus va fi ınsotit de calculul z ← PHz astfelıncat sintaxa propusa pentru aceasta procedura este

[ y, c, s ] = Gcm(z),

5.3. ALGORITMUL DVS 405

suprascrierea (interna a) lui z realizandu-se cu apelul [ z, c, s ] = Gcm(z). Particula-rizarea pentru date reale este propusa cititorului, aici marginindu-ne sa introducemnumai sintaxa de utilizare

[ y, c, s ] = Grm(z).

Rezulta urmatorul algoritm.

Algoritmul 5.3 (TZDc – Tratarea zerourilor diagonale) (Datematricea superior bidiagonala J ∈ ICm×n cu m ≥ n, prin vectorii f si gal elementelor diagonale, respectiv supradiagonale, si matricea unitaraU ∈ ICm×m, precum si ıntregul i ∈ 1 : n − 1 ce indica pozitia ultimu-lui element diagonal nul, algoritmul calculeaza rotatiile (complexe) Pi,j ,j = i+1 : n, astfel ıncat matricea J ← PH

i,n . . . PHi,i+1J ramane bidi-

agonala, iar elementul gi devine nul. Calculele principale se efectueazaın locatiile de memorie ale elementelor vectorilor f si g. Optional, seactualizeaza matricea unitara de transformare U . Optiunea se exprimacu ajutorul variabilei logice opt, care poate lua valorile ’da’ sau ’nu’.Daca nu se doreste actualizarea, matricea U se returneaza nemodificata.)

1. τ = gi

2. gi = 0

3. Pentru j = i+ 1 : n

1. z = [ τ fj ]T

2. [ z, c, s ] = Gcm(z)

3. fj = z24. Daca j < n atunci

1. τ = −sgj2. gj ← cgj

5. Daca opt = ′da′ atunci

1. Pentru l = 1 : m

1. α = ulic− ulj s2. ulj ← ulis+ uljc

3. uli = α.

Comentarii. In algoritmul de mai sus variabila scalara τ a fost utilizata pentrumemorarea elementului alterant temporar al structurii bidiagonale, iar variabilaauxiliara scalara α pentru calculul produsului U ← UPij . Algoritmul nu verificafaptul ca fi = 0 sau ca nu exista j > i astfel ca fj = 0. Este clar faptul ca daca nusunt ındeplinite conditiile din preambulul algoritmului, acesta nu realizeaza scopulpentru care a fost elaborat.

Sintaxa de apel a algoritmului este, evident,

[ f, g, U ] = TZDc(f, g, i, U, opt).

Complexitatea algoritmului este O(n− i) fara acumularea transformarilor si O(mn)cu acumularea acestora. Se poate aprecia ca algoritmul are, ın general, o contributiemodesta la complexitatea algoritmului DVS.

406 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

In cazul datelor reale, algoritmul se particularizeaza fara dificultate, utilizandprocedura de calcul a unei rotatii modificate reale, mentionata mai sus. Ca atare,ne marginim la precizarea sintaxei de apel:

[ f, g, U ] = TZDr(f, g, i, U, opt).

In ambele situatii, utilizandu-se exclusiv transformari unitare, respectiv ortogo-nale, precizia rezultatelor nu este afectata semnificativ. 3

3. La fiecare iteratie, dupa deciziile de anulare a elementelor supradiagonaleneglijabile si dupa tratarea elementelor diagonale nule, se determina parametriistructurali p si q astfel ıncat matricea J curenta sa poata fi scrisa sub forma

J =

p︷︸︸︷

n−p−q︷︸︸︷

q︷︸︸︷

J11 0 00 J22 00 0 J330 0 0

} p}n− p− q} q}m− n

(5.96)

unde p este cel mai mic ıntreg, iar q cel mai mare ıntreg astfel ıncat blocul J33este diagonal, iar blocul bidiagonal J22 este ireductibil, i.e. are toate elementelesupradiagonale nenule si toate elementele diagonale (mai putin, eventual, ultimul),de asemenea, nenule. In termenii vectorilor f si g, prin care este memorata matriceaJ , conditiile de mai sus devin

g(n−q+1 : n−1) = 0, gi 6= 0, i = p+1 : n−q, fi 6= 0, i = p+1 : n−q−1.(5.97)

Evident, iteratia DVS curenta se aplica numai blocului ireductibil J22, i.e.

J22 ← J ′22 = UH

22J22V22 (5.98)

care este echivalenta cu urmatoarea transformare unitara bilaterala aplicata intregiimatrice J

J ← J ′ = diag(Ip, U22, Im−p−q)HJdiag(Ip, V22, In−p−q). (5.99)

Daca blocul ireductibil J22 are dimensiunea 2×2 atunci devine mai eficient calcululdirect al DVS a acestuia. Avand ın vedere faptul ca ın acest caz matricea 2 × 2este si triunghiulara propunem cititorului scrierea unei proceduri care sa realizezeacest lucru (caz particular al exercitiului 5.2). Aici ne vom margini la specificareasintaxei de apel a acestei proceduri care va fi utilizata

[ f, g, U, V ] = DVS 2(f, g)

unde, evident, f este un vector cu doua elemente, iar g este un scalar anulat deprocedura.

4. Procesul de diagonalizare se termina ın momentul ın care au fost anulatetoate elementele supradiagonale, i.e. toate componentele vectorului g, sau, altfelspus, cand parametrul structural q ia valoarea n− 1.

5.3. ALGORITMUL DVS 407

5. Dupa ıncheierea procesului de diagonalizare, elementele diagonale ale matriceilimita J ← J∞, i.e. componentele vectorului f , sunt, ın general, complexe. Pentrua obtine o matrice diagonala reala cu elementele diagonale nenegative se aplica otransformare de echivalenta unitara definita de

J ← DJ sau J ← JD, (5.100)

unde D = diag(D, Im−n) cu21

D = diag(d1, d2, . . . , dn), di =

1, daca fi = 0fi|fi|

, daca fi 6= 0.(5.101)

Dupa aceasta transformare elementele diagonale ale matricei J , i.e. elementelevectorului f sunt valorile singulare ale matricei initiale.

6. Prin definitie, ın DVS, valorile singulare apar ordonate descrescator. Deaceea, ın finalul algoritmului DVS se realizeaza ordonarea elementelor diagonaleutilizand o secventa de permutari elementare bilaterale (i.e. diagonale), definita dematricele de permutare UP = diag(P, Im−n), VP = P si un algoritm de ordonarea listelor. Avand ın vedere faptul ca ordonarea are o pondere putin semnificativaın economia algoritmului DVS, vom utiliza un algoritm popular de sortare, anumealgoritmul bubblesort, si, din aceleasi motive de concizie a formularii algoritmuluiDVS, vom prezenta un algoritm separat de ordonare.

Algoritmul 5.4 (DVS ORD – Ordonarea valorilor singulare)(Date matricea diagonala J , prin vectorul f ∈ IRn al elementelor diago-nale, si matricele unitare U ∈ ICm×m si V ∈ ICn×n, algoritmul realizeazaordonarea ın sens descrescator a elementelor vectorului f , folosind al-goritmul de sortare bubblesort. Optional, se actualizeaza matriceleunitare de transformare U si/sau V , prin permutarea coprespunzatoarea coloanelor acestora. Optiunea se exprima cu ajutorul variabilelor lo-gice opt1 si opt2 care pot lua valorile ’da’ sau ’nu’. Daca nu se doresteactualizarea, matricele U si/sau V se returneaza nemodificate.)

1. ord = ′nu′

2. i = 1

3. Cat timp ord = ′nu′ si i < n

1. ord = ′da′

2. Pentru j = n− 1 : −1 : i

1. Daca fj < fj+1 atunci

1. fj+1 ↔ fj

21 In cazul real, matricea diagonala J∞ este reala, dar poate avea elemente diagonale negative.Evident, ın aceasta situatie utilizam transformarea de echivalenta ortogonala definita de matriceaD avand

di =

{1, daca fi ≥ 0,−1, daca fi < 0.

408 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

2. Daca opt1 = ′da′ atunci

1. U(:, j)↔ U(:, j + 1)

3. Daca opt2 = ′da′ atunci

1. V (:, j)↔ V (:, j + 1)

4. ord = ′nu′

3. i← i+ 1.

Comentarii. Variabila logica ord reprezinta starea procesului de ordonare si estefamiliara celor care utilizeaza curent algoritmul de sortare mentionat. Sintaxa deapel a algoritmului va fi

[ f, U, V ] = DVS ORD(f, U, V, opt1, opt2).

Evident, nu se efectueaza operatii aritmetice. Numarul maxim posibil de comparatiieste 1

2n(n−1). Desigur, se pot folosi algoritmi de sortare mai sofisticati dar castigulnu este semnificativ pentru matrice de dimensiuni curente. 3

Avandu-se ın vedere faptul ca matricele de permutare sunt ortogonale, matriceafinala

Σdef= diag(PT , Im−n)JP =

σ1 0 · · · 00 σ2 · · · 0...

.... . .

...0 0 · · · σn...

......

...0 0 · · · 0

(5.102)

ımpreuna, cu matricele unitare U = Udiag(P, Im−n), V = V P definesc DVS calcu-lata a matricei initiale.

Cu toate precizarile de mai sus si utilizand algoritmii auxiliari introdusi, putemprezenta algoritmul DVS ın integralitatea lui.

Algoritmul 5.5 (DVSc – Descompunerea valorilor singulare)(Date matricea A ∈ ICm×n cu m ≥ n si nivelul de toleranta tol, algo-ritmul calculeaza valorile singulare ale matricei A care sunt elementelevectorului f ∈ IRn si optional matricele de transformare U ∈ ICm×m

si/sau V ∈ ICn×n, care definesc DVS a matricei A. Optiunea se exprimacu ajutorul variabilelor logice opt1 si opt2 care pot lua valorile ’da’ sau’nu’. Daca nu se doreste acumularea, atunci pentru matricea respectivase returneaza matricea unitate de dimensiune corespunzatoare.)

1. % Cazul matricelor coloanaDaca n = 1 atunci

1. [A, u, β ] = Hc(A)

2. f = |A(1, 1)|3. U = Im, V = 1

4. Daca opt1 = ′da′ si β 6= 0 atunci

U = Im −u · uHβ

5.3. ALGORITMUL DVS 409

5. Daca opt2 = ′da′ si β 6= 0 atunci

V =A(1, 1)

f6. Return

2. % Reducerea la forma bidiagonala[ f, g, U, V ] = JQc(A, opt1, opt2)

3. % Faza iterativa

1. p = 0, q = 0

2. Cat timp q < n− 1

1. Pentru i = 1 : n− q − 1

1. Daca |gi| ≤ tol(|fi|+ |fi+1|) atuncigi ← 0

2. % Determinarea parametrului q

1. Cat timp g(n− q − 1) = 0q ← q + 1

2. Daca q = n− 1 atunci break

3. % Terminarea fazei iterative

1. Daca q = n− 1 atunci break

4. % Determinarea parametrului p

1. p = n− q − 1

2. Cat timp g(p) = 0

1. p← p− 1

2. Daca p = 0 atunci break

5. k = p+ 1, l = n− q6. % Tratarea unui zero diagonal (daca exista)

1. j = 0

2. Pentru i = l − 1 : −1 : k

1. Daca fi = 0 atunci

1. j = i− k + 12. break

3. Daca j > 0

1. [ f(k : l), g(k : l − 1), Z ] == TZDc(f(k : l), g(k : l− 1), j, Il−k+1, opt1)

2. Daca opt1 = ′da′ atunciU(:, k : l)← U(:, k : l)Z

altfel

1. % Iteratia curentaDaca k < l − 1 atunci

[ f(k : l), g(k : l − 1), U(:, k : l), V (:, k : l) ] == IT DVSc(f(k : l), g(k : l − 1), U(:, k : l),

V (:, k : l), opt1, opt2)altfel

410 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

1. [ f(k : l), g(k : l − 1), Y, Z ] == DVS 2(f(k : l), g(k : l − 1))

2. Daca opt1 = ′da′ atunciU( : , k : l)← U( : , k : l)Y

3. Daca opt2 = ′da′ atunciV ( : , k : l)← V ( : , k : l)Z

4. % Calculul valorilor singulare ale matricei diagonale obtinute ınfaza iterativa

1. Pentru j = 1 : n

1. Daca opt2 = ′da′ atunci

1. Daca fj 6= 0 atunci

1. d =fj|fj|

2. V ( : , j) = V ( : , j)d

2. fj = |fj |5. % Ordonarea valorilor singulare

1. [ f, U, V ] = DVS ORD(f, U, V, opt1, opt2)

Comentarii. Comentariile incluse pun ın evidenta ideile care au stat la baza ela-borarii algoritmului. Din punct de vedere tehnic semnalam utilizarea instructiuniibreak de abandonare a executiei ciclurilor de tip pentru sau de tip cat timp.

O sintaxa de apel naturala a algoritmului DVSc este, evident,

[ f, U, V ] = DVSc(A, tol, opt1, opt2).

Algoritmul DVSc calculeaza DVS si pentru matrice reale 22 desi pentru date realeeste mai economica o versiune ”reala” a algoritmului, care se obtine simplu prinutilizarea corespondentelor reale ale procedurilor implicate.

De asemenea, din ratiuni de concizie si claritate, ın cele ce urmeaza vom utilizasi sintaxa (poate chiar mai semnificativa)

[U,Σ, V ] = DVSc(A, opt1, opt2),

care presupune unele ajustari minore ale algoritmului de mai sus, cum sunt introdu-cerea unei tolerante implicite (de obicei de nivelul lui εM‖A‖) si formarea matriceidiagonale Σ ∈ IRm×n din definitia DVS ale carei elemente diagonale sunt elementelevectorului f . Ordinea modificata a parametrilor de iesire sugereaza formula DVS.

Complexitatea estimata a algoritmului DVS, conform [VI ], este data ın tabelul5.1 pentru varianta reala cu date de intrare matrice reale m×n si diverse tipuri deoptiuni. De asemenea, rezultatele sunt date pentru doua versiuni ale algoritmului:prima versiune utilizeaza algoritmul de bidiagonalizare JQr (ca mai sus), iar ceade a doua algoritmul de R-bidiagonalizare (v. obs. 5.4). 3

22 Din acest motiv, ın referirile ulterioare vom renunta la caracterul c din sigla.

5.4. CONDITIONARE 411

opt1 opt2 Nop Nop

versiunea 1 versiunea 2

’nu’ ’nu’ 4mn2 − 43n

3 2mn2 + 2n3

’da’ ’nu’ 4m2n+ 8mn2 4m2n+ 13n3

’nu’ ’da’ 4mn2 + 8n3 2mn2 + 11n3

’da’ ’da’ 4m2n+ 8mn2 + 8n3 4m2n+ 22n3

Tabelul 5.1: Complexitatea algoritmului DVS

5.4 Conditionarea valorilor singulare

In aceasta sectiune vom aborda cateva aspecte privind sensibilitatea valorilor sin-gulare si a vectorilor singulari la perturbatii numerice ın matricea initiala. In acestscop se vor dovedi utile rezultatele preliminare stabilite ın continuare. Ca si panaacum, rezultatele si demonstratiile vor fi prezentate pentru cazul, mai general, al ma-tricelor complexe, particularizarea pentru matricele reale (care se reduce, ın esenta,la ınlocuirea multimii IC cu multimea IR si a operatorului hermitic H cu operatorulde transpunere T ) fiind lasata ın sarcina cititorului.

5.4.1 Rezultate preliminare

Fie matricea A ∈ ICn×n. Valorile singulare ale matricei A fiind nemijlocit legate

de valorile proprii ale matricelor hermitice AHA, AAH sau

[0 AH

A 0

]

multe din

rezultatele stabilite ın sectiunea § 4.1, referitoare la proprietatile spectrale ale ma-tricelor hermitice (ın cazul real, simetrice) ısi gasesc un corespondent direct si ime-diat ın proprietatile valorilor singulare. Fie V un subspatiu liniar al lui ICn si Smultimea vectorilor de norma euclidiana unitara din ICn, i.e. sfera de raza unitaracentrata ın origine. Notam cu VS = V ∩ S, i.e. multimea vectorilor de norma uni-tara din subspatiul V . Reamintim ca intotdeauna valorile singulare ale unei matricesunt indexate ın sens descrescator.

In primul rand, teoremei 4.3 ıi corespunde urmatorul rezultat.

Teorema 5.9 Fie A ∈ ICn×n si σ(A) = {σ1, σ2, . . . , σp}, p = min(m,n), multimeavalorilor sale singulare. Atunci avem

σmax = maxx ∈ S

‖Ax‖, σmin = minx ∈ S

‖Ax‖, (5.103)

unde ‖ · ‖ def= ‖ · ‖2.

412 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Demonstratie. Rezultatele sunt urmare directa aplicarii teoremei 4.3 matriceiB = AHA. 3

In al doilea rand, avem urmatoarea caracterizare minimax a valorilor singularecare ısi are originea ın teorema Courant-Fisher (v. § 4.1).

Teorema 5.10 Fie A ∈ ICn×n si σ(A) = {σ1, σ2, . . . , σp}, p = min(m,n), multimeavalorilor sale singulare. Atunci pentru toti k ∈ 1 : p avem

σk = maxdimV = k

minx ∈ VS

‖Ax‖ = mindimV = n− k

maxx ∈ VS

‖Ax‖, (5.104)

unde ‖ · ‖ def= ‖ · ‖2 este norma euclidiana ın ICn.

Demonstratie. Consideram matricea hermitica B = AHA. Pentru orice vectorx ∈ ICn avem xHBx = ‖Ax‖2 si, presupunand ca valorile proprii ale matricei B suntordonate descrescator, λk(B) = σ2

k. Cu aceste precizari, caracterizarile minimax(5.104) rezulta imediat din aplicarea teoremei Courant-Fisher matricei B. 3

Corespondentul teoremei de separare 4.5 are urmatorul enunt.

Teorema 5.11 (Teorema de separare a valorilor singulare) Fie A ∈ ICn×n. Notam

Akdef= A( : , 1 : k) sau Ak

def= A(1 : k, : ). Atunci valorile singulare ale matricei Ak

separa valorile singulare ale matricei Ak+1, i.e.

σ1(Ak+1) ≥ σ1(Ak) ≥ σ2(Ak+1) ≥ . . . ≥ σk(Ak+1) ≥ σk(Ak) ≥ σk+1(Ak+1),(5.105)

pentru toti k ∈ 1 : p−1, p = min(m,n).

Demonstratie. Presupunem mai ıntai ca Ak este matricea formata din primele kcoloane ale matricei A. Atunci submatricea lider principala de ordinul k a matricei

B = AHA este data de B[k] def= B(1 : k, 1 : k) = AH

k Ak si separarea (5.105) rezultadin aplicarea directa a teoremei 4.5 matricei B. Daca Ak este matricea formata dinprimele k linii ale matricei A, atunci inegalitatile (5.105) se obtin aplicand teorema4.5 matricei C = AAH . 3

Una din observatiile imediate care rezulta din teorema 5.11 este aceea ca adau-garea unei coloane sau unei linii la o matrice data are ca efect cresterea valoriisingulare maxime (i.e. a normei spectrale) si scaderea valorii singulare minime.

O relatie dintre valorile singulare a doua matrice si valorile singulare ale sumeilor, data ın teorema urmatoare, este utila ın aprecierea influentei perturbatiilornumerice ın elementele unei matrice asupra valorilor sale singulare.

Teorema 5.12 Fie matricele A,E ∈ ICn×n. Atunci, cu notatii evidente, avem

σk(A) − σ1(E) ≤ σk(A+ E) ≤ σk(A) + σ1(E) (5.106)

pentru toti k ∈ 1 : min(m,n).

5.4. CONDITIONARE 413

Demonstratie. Aplicand teorema 4.7 (v. § 4.1) matricelor hermitice B =

=

[0 AH

A 0

]

si F =

[0 EH

E 0

]

, ın ipoteza ca valorile proprii sunt ordonate

descrescator, avem

λk(B) + λm+n(F ) ≤ λk(B + F ) ≤ λk(B) + λ1(F ). (5.107)

Dar, conform propozitiei 5.1, avem λk(B) = σk(A), k = 1 : min(m,n), λ1(F ) == σ1(E) si λm+n(F ) = −σ1(E), i.e. relatia (5.107) este de fapt una si aceeasi cu(5.106). Teorema este demonstrata. 3

In sfarsit, prezentam corespondentul pentru valorile singulare al teoremei 4.8(Wielandt-Hoffmann).

Teorema 5.13 Daca A,E ∈ ICm×n si p = min(m,n), atunci

p∑

j=1

(σj(A+ E)− σj(E))2 ≤ ‖E‖2F , (5.108)

unde ‖E‖F este norma Frobenius a matricei E.

Demonstratie. Aplicand teorema Wielandt-Hofmann (v. § 4.1) matricelor her-

mitice B =

[0 AH

A 0

]

si F =

[0 EH

E 0

]

si tinand seama de relatia dintre

valorile proprii ale matricelor B si F si valorile singulare ale matricelor A si E (v.propozitia 5.1) se obtine rezultatul dorit. 3

5.4.2 Conditionarea valorilor singulare

Rezultatele prezentate mai sus permit aprecierea conditionarii valorilor singulare.In primul rand, avand ın vedere faptul ca valorile singulare ale unei matrice A ∈∈ ICn×n sunt radacinile patrate ale valorilor proprii ale matricelor hermitice AHAsau AAH , iar acestea din urma sunt perfect conditionate (v. § 4.10), rezulta ca sivalorile singulare sunt perfect conditionate, i.e. putem considera ca numerele deconditionare ale valorilor singulare sunt egale cu unitatea.

Rezultatul principal care sustine afirmatia de mai sus este dat de teorema 5.12.Intr-adevar, inegalitatile (5.106) pot fi scrise sub forma

|σk(A+ E)− σk(A)| ≤ σ1(E) = ‖E‖, (5.109)

unde, evident ‖E‖ = σ1(E) este norma spectrala a lui E. Daca privim matricea Eca o matrice de perturbatii (sau de incertitudine) ın datele initiale, atunci marginea(5.109) arata ca, ın ipoteza unui calcul exact, variatiile absolute ale valorilor sin-gulare induse de variatiile ın elementele matricei nu depasesc norma spectrala amatricei de perturbare. Desigur, daca ne referim la variatiile relative, valorile sin-gulare mari sunt avantajate, ın timp ce valorile singulare mici pot sa sufere variatiirelative mari.

414 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

De asemenea, cum era de asteptat, conditionarea ıntregului ansamblu de valorisingulare, privita ca o norma a vectorului conditionarilor valorilor singulare, estecea mai buna posibila. In sprijinul acestei afirmatii vine si teorema 5.13 care arataca norma euclidiana a vectorului variatiilor absolute ale valorilor singulare esteinferioara normei Frobenius a matricei variatiilor elementelor matricei initiale.

Exemplul 5.4 Fie matricea A =

[1.60 0.36 0.48−1.20 0.48 0.64

]

∈ IR2×3 ale carei valori

singulare exacte sunt σ1 = 2 si σ2 = 1. Valorile singulare ale matricei perturbate

F = A+E = A+ ǫG =

[1.60 0.36 0.481−1.20 0.48 0.64

]

, unde ǫ = 10−3, G =

[0 0 10 0 0

]

(cu ‖G‖ = ‖G‖F = 1), sunt σ1 ≈ 2.0000002, σ2 ≈ 1.0004800. Se observa canici variatiile absolute ale valorilor singulare individuale, nici norma euclidiana avectorului lor

(σ1 − σ1)2 + (σ2 − σ2)2 ≈ 0.48 · 10−4 nu depasesc valoarea lui ǫ. 3

Conditionarea excelenta a valorilor singulare este unul din argumentele funda-mentale ale utilizarii lor pentru rezolvarea numerica a unei multitudini de problemeaplicative de algebra liniara.

5.4.3 Conditionarea vectorilor singulari

Similar cazului matricelor hermitice (v. § 4.10), perfecta conditionare a valorilorsingulare nu implica ın mod necesar buna conditionare a vectorilor singulari si asubspatiilor generate de acestia.

Fie A ∈ ICm×n si A = UHΣV descompunerea valorilor sale singulare. Apreciereaconditionarii vectorilor singulari, i.e a coloanelor matricelor unitare de transforma-re U si V , se face prin evaluarea diferentei unghiulare dintre vectorul exact si celperturbat, definita prin

θ(ui, ui) = arccos |uHi ui|, i = 1 : m θ(vj , vj) = arccos |vHj vj |, j = 1 : n,(5.110)

raportata la norma variatiei matricei date.

Aceasta abordare poate fi extinsa la exprimarea conditionarii subspatiilor ge-nerate de vectori singulari care este apreciata prin variatia unghiulara (v. § 4.10)a subspatiilor respective. Concret, fiind data o matrice A si σI ⊂ σ(A) un set devalori singulare ale acesteia, prin conditionarea subspatiului U , generat de vectoriisingulari asociati setului λI , vom ıntelege variatia unghiulara (sau o margine supe-rioara a acesteia) a subspatiului U raportata la nivelul perturbatiilor ın elementelematricei A.

Conditionarea subspatiilor generate de vectori singulari este determinata ınmod decisiv de localizarea valorilor singulare asociate. Este posibil, si aici, ca unsubspatiu generat de vectori singulari rau conditionati sa aiba o conditionare foartebuna daca grupul corespunzator de valori singulare este bine separat de celelalte.

In contextul DVS, vom nota separarea unei valori singulare individuale σi si,respectiv a setului de valori singulare σI , de celelalte valori singulare ale aceleiasi

5.5. STABILITATEA ALGORITMULUI DVS 415

matrice, prin

gapidef= min(σi−1 − σi, σi − σi+1), gapI

def= min

i∈Ij 6∈I

|σi − σj | (5.111)

si corespondentele lor relative, prin

relgapidef= min

j∈1:pj 6=i

|σi − σj |σi + σj

, relgapIdef= min

i∈Ij 6∈I

|σi − σj |σi + σj

, (5.112)

unde p = min(m,n).Conditionarea subspatiului UI , i.e. variatia unghiulara a acestuia raportata

la nivelul perturbatiilor ın matricea initiala, se poate aprecia prin numarul deconditionare

κUI

def=

1

gapI(5.113)

si, ın particular, conditionarea unui vector singular prin numarul

κui

def=

1

gapi. (5.114)

Pentru detalii recomandam consultarea referintelor bibliografice [ IV ], [ VI ], [ VIII ].

5.5 Stabilitatea numerica a algoritmului DVS

Analiza erorilor introduse de algoritmul DVS a condus la aprecierea ca acestareprezinta un mijloc foarte fiabil de calcul al valorilor singulare si al vectorilorsingulari. Altfel spus, algoritmul DVS este un algoritm numeric stabil [ VI ], [ XV ],i.e. se poate arata ca tripletul (U , Σ, V ), care defineste DVS calculata, este o DVSexacta pentru o matrice foarte ”apropiata” de matricea data. In termeni formali,

daca A ∈ ICm×n si, prin urmare, U ∈ ICm×m, V ∈ ICn×n, Σ =

[

Σ1

0

]

sau Σ =

=[

Σ1 0], cu Σ1 = {σ1, σ2, . . . , σp}, p = min(m,n), atunci exista matricele

unitare U ∈ ICm×m, V ∈ ICn×n, astfel ıncat, notand

∆Udef= U − U , ∆A

def= U ΣV H −A, ∆V

def= U − V , (5.115)

sunt satisfacute inegalitatile

‖∆U‖ ≤ p(m,n)εM , ‖∆A‖ ≤ p(m,n)‖A‖εM , ‖∆V ‖ ≤ p(m,n)εM ,(5.116)

unde, ca si pana acum, ‖ · ‖ def= ‖ · ‖2 este norma spectrala, p(m,n) este o notatie

generica pentru o functie cu ”o crestere modesta” 23 iar εM este epsilon masinadefinind precizia de reprezentare a formatului virgula mobila utilizat.

23 Asa cum s-a precizat si ın capitolul 4, practic pentru toti algoritmii prezentati ın acestcapitol, p(m,n) sau p(n) este o functie polinomiala de un grad ”modest” (1, 2 sau, foarte rar,

3) de parametri ce definesc dimensiunea problemei. In [ XV ] se afirma ca o apreciere de genulp(n) < 10n sau p(m,n) < 10max(m,n) este adevarata ın majoritatea situatiilor practice pentrucare se foloseste formula de evaluare ”functie cu o crestere modesta”.

416 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Combinand excelenta conditionare a valorilor singulare cu stabilitatea numericaa algoritmului DVS, se poate afirma ca descompunerea valorilor singulare este celmai bun mijloc de a calcula invariantii unei matrice la transformarile de echivalenta(cum este rangul). Concret valorile singulare calculate σi satisfac inegalitatile

|σi − σi| ≤ p(m,n)‖A‖εM = p(m,n)σ1εM . (5.117)

Deci, pentru toate valorile singulare avem aceeasi margine de eroare absoluta, ceeace ınseamna ca valorile singulare mari vor avea erori relative mici.

Pentru vectorii singulari si subspatiile generate de acestia, erorile raportate lamatricea initiala pot fi amplificate de numerele de conditionare, astfel ca putemscrie

θ(ui, ui) ≤p(m,n)‖A‖εM

gapi, θ(UI , UI) ≤

p(m,n)‖A‖εMgapI

. (5.118)

In sfarsit, mentionam ca cea mai mare acumulare a erorilor are loc ın faza de re-ducere la forma bidiagonala, faza iterativa a algoritmului DVS avand o contributiemodesta ın acest sens. Prin urmare, pentru matricele bidiagonale, chiar erorile rela-tive ale tuturor valorilor singulare sunt marginite de un multiplu modest al erorilorde reprezentare. Pentru amanunte, vezi [ XV ].

5.6 Aplicatiile DVS

In prima sectiune a acestui capitol au fost introduse o serie de concepte si pro-bleme de calcul numeric conexe, probleme a caror rezolvare se poate face performantapeland la DVS a unor matrice. Cu aceasta ocazie au fost prezentate si demonstraterezultate matematice care sugereaza unele modalitati de calcul. In sectiunea defata ne propunem sa revenim asupra acestor probleme ın vederea dezvoltarii unorproceduri de calcul fiabile, pentru relevarea unor aspecte numerice semnificativeprecum si pentru extinderea unor rezultate ın contextul utilizarii algoritmului DVSpentru calculul valorilor singulare.

5.6.1 Trunchierea DVS calculate. Calculul rangului.Rangul numeric

In conformitate cu propozitia 5.2, rangul unei matrice este dat de numarul valo-rilor sale singulare nenule 24. Acest rezultat fundamental are o utilitate redusa ınaplicatiile curente ın care matricele de date sunt, ın general, rezultatul unor evaluariaproximative, iar utilizarea calculatorului pentru determinarea valorilor singulareeste ınsotita de erori. In astfel de situatii, generic, toate valorile singulare calculatesunt, ın sens strict, nenule. Prin urmare, generic, ın urma procesarii ın medii decalcul aproximativ, toate matricele devin de rang maximal si, datorita acestui fapt,

24 O alternativa viabila, cu un efort de calcul mai redus, pentru rezolvarea problemelor de rangeste data de triangularizarea unitara (ortogonala) cu pivotarea coloanelor (vezi cap. 3.). Dinpunctul de vedere al calitatilor numerice DVS constituie ınsa metoda cea mai buna (vezi exempluldin acest paragraf).

5.6. APLICATIILE DVS 417

problema determinarii rangului ramane fara obiect. De aceea, pentru aplicatii, estenecesara o modalitate coerenta de apreciere a valorilor singulare neglijabile. Ran-gul rezultat dupa deciziile de neglijare, ın conformitate cu criterii bine precizate,a valorilor singulare ”mici” va fi numit ”rangul numeric” al matricei initiale. Maiprecis avem urmatoarea definitie.

Definitia 5.6 Fie A ∈ ICm×n si A = UΣV H DVS a matricei A. Rangul numerical matricei A pentru o toleranta ǫ fixata este definit de

r = rang(A, ǫ) = min‖A−X‖ ≤ ǫX ∈ ICm×n

rangX, (5.119)

i.e. este cel mai mic dintre rangurile tuturor matricelor de aceleasi dimensiuni aflatela o distanta – definita de norma spectrala – de matricea A mai mica decat tolerantaadmisa 25.

DVS este un mijloc extrem de sigur de determinare a rangului numeric ın sensuldefinitiei de mai sus. In sprijinul acestei afirmatii avem urmatoarea teorema.

Teorema 5.14 Daca A = UΣV H este DVS a matricei A ∈ ICm×n, k < r = rangAsi

Akdef=

k∑

j=1

σjujvHj , (5.120)

atuncimin

rangX = kX ∈ ICm×n

‖A−X‖ = ‖A−Ak‖ = σk+1. (5.121)

Demonstratie. Precizam mai ıntai faptul ca, atat ın enuntul teoremei cat siın cele ce urmeaza, utilizam ın exclusivitate norma spectrala. Din (5.120) rezultaUHAkV = diag(σ1, σ2, . . . , σk, 0, . . . , 0), de unde rangAk = k. Rezulta A − Ak =∑r

j=k+1 σjujvHj , de unde avem UH(A−Ak)V = diag(0, . . . , 0, σk+1, . . . , σr, 0, . . . , 0)

si, prin urmare, ‖A−Ak‖ = σk+1.Fie acum o matrice m × n (complexa) X de rang k, altfel arbitrara. Fie, de

asemenea, subspatiile liniare X = KerX , V = ImV ( : , 1 : k+1) si W = X ⋂ V dinICn. Intrucat dimX = n − k si dimV = k + 1 avem dimW ≥ 1. Exista deci unvector unitar w ∈ W . Avem pe de o parte Xw = 0, iar pe de alta parte existaz ∈ ICk+1 cu ‖z‖2 = 1 astfel ıncat w = V ( : , 1 : k+1)z =

∑k+1i=1 zivi. Obtinem

Aw =∑k+1

i=1 ziAvi =∑k+1

i=1 ziσiui. Rezulta

‖A−X‖ def= max‖x‖ = 1

‖(A−X)x‖ ≥ ‖(A−X)w‖ = ‖Aw‖ =

√√√√

k+1∑

i=1

|zi|2σ2i .

25 In ceea ce priveste nivelul tolerantelor practicate, acesta depinde de contextul aplicativ. Deexemplu, daca matricea provine din date experimentale cu un nivel cunoscut al erorilor de masura,atunci nu are nici un sens ca ǫ sa fie inferior acestui nivel. Daca matricea initiala se consideraexacta, atunci se recomanda ǫ ≈ εM‖A‖, unde εM este epsilon masina al formatului virgula mobilaal masinii pe care se efectueaza calculele.

418 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Deoarece vectorul z are norma unitara, i.e.∑k+1

i=1 |zi|2= 1, pentru expresia de sub

radical avem evaluarea

k+1∑

i=1

|zi|2σ2i = σ2

k+1 +

k∑

i=1

|zi|2(σ2i − σ2

k+1) ≥ σ2k+1.

Din ultimele doua relatii rezulta ‖A−X‖2 ≥ σ2k+1 pentru orice matrice X ∈ ICm×n

de rang k si, cum am vazut mai sus ca marginea inferioara poate fi atinsa, ca (5.121)este adevarata. 3

Prin urmare, σk+1 este cea mai mica distanta, ın sensul normei spectrale, dintrematricea A si toate matricele m×n de rang k. In particular, cea mai mica distantadintre o matrice A ∈ ICn×n nesingulara si toate matricele singulare este data devaloarea singulara minima σn a lui A.

Exemplul 5.5 Consideram important si util, ın contextul acestui paragraf, sareluam un exemplu prezentat ın capitolul 2, exemplu menit sa ilustreze faptul caunele criterii, ınca uzitate, pentru aprecierea ”apropierii” unei matrice de o matricesingulara (cum ar fi valoarea determinantului sau cel mai mic dintre modulele valo-rilor proprii), dau informatii false si ca singurul criteriu corespunzator este dat devaloarea singulara minima. Fie matricea Toeplitz superior triunghiulara

A =

1 −1 · · · −1 −10 1 · · · −1 −1...

.... . .

......

0 0 · · · 1 −10 0 · · · 0 1

∈ IRn×n

avand, evident, detA = 1 si toate valorile proprii egale cu 1, deci min |λi(A)| = 1,independent de dimensiunea matricei. Prin urmare, ambele criterii amintite mai susindica ”indubitabil” faptul ca matricea A este suficient de ”departe” de o matricesingulara si ca, aparent, este bine conditionata la inversare. Faptul ca, cel putin ıncazul de fata, aparentele ınseala se poate constata imediat considerand matricea

A =

1 −1 · · · −1 −10 1 · · · −1 −1...

.... . .

......

0 0 · · · 1 −1− 1

2n−2 0 · · · 0 1

∈ IRn×n

care este (demonstrati!) singulara. Cum ‖A − A‖ = 12n−2 ≥ σn(A) rezulta ca

matricea A se apropie exponential de o matrice singulara odata cu cresterea dimen-siunii.

Numarul de conditionare la inversare creste si el exponential cu dimensiuneamatricei. De exemplu, utilizand ‖ · ‖∞, numarul de conditionare are expresiaκ∞ = n2n−1. Pe de alta parte, matrice avand valori proprii foarte mici si, ca

5.6. APLICATIILE DVS 419

urmare, si determinanti asijderea, pot avea o conditionare foarte buna. Pentrudetalii, vezi capitolul 2. 3

Una dintre consecintele conceptuale importante ale teoremei 5.14 este faptul camatricele m×n de rang maximal formeaza o multime deschisa si densa ın ICm×n, i.e.generic, toate matricele sunt de rang maximal. De aceea, ın problemele de calculnumeric care fac apel la notiunea de rang, utilizarea notiunii de rang numeric esteindispensabila.

Prezentam ın continuare un corolar al teoremei 5.14. In contextul lucrarii, rezul-tatul are o utilitate practica evidenta.

Corolar 5.3 Daca matricea A ∈ ICm×n are rangul numeric r = rang(A, ǫ), atunci

σ1 ≥ σ2 ≥ . . . ≥ σr > ǫ ≥ σr+1 . . . ≥ σp, (5.122)

unde p = min(m,n).

Demonstratie. Daca σr+1 > ǫ rezulta rang(A, ǫ) > r, iar daca σr ≤ ǫ, atuncirang(A, ǫ) < r. Deci, σr > ǫ ≥ σr+1. 3

Observatia 5.7 Practic toate aplicatiile care utilizeaza DVS a unei matrice, facapel la rangul acesteia. In contextul calculatoriu al lucrarii, ın continuare vom pre-supune ca este vorba implicit de rangul numeric. In consecinta, vom presupuneca s-au neglijat, prin anulare efectiva, valorile singulare inferioare tolerantei pre-cizate si vom renunta la notatii speciale care diferentiaza rangul numeric de rangulmatematic. 3

Desi, avand ın vedere corolarul 5.3 si observatia 5.7, scrierea unui algoritm pen-tru determinarea rangului numeric al unei matrice nu prezinta nici o dificultate,totusi, tinand seama de importanta aplicativa a problemei, consideram necesaraındeplinirea acestei formalitati.

Algoritmul 5.6 (Rang DVS – Calculul rangului numeric) (Datematricea A ∈ ICm×n si toleranta tol > 0, algoritmul calculeaza rangulnumeric r = rang(A, tol) al matricei A.)

1. p = min(m,n)

2. [U,Σ, V ] = DVS(A, ′nu′, ′nu′)

3. r = 0

4. Cat timp Σr+1,r+1 ≥ tol1. r← r + 1

2. Daca r = p atunci break

Comentarii. Sintaxa de apel a algoritmului este

r = Rang DVS(A, tol).

In aplicatiile care sunt prezentate ın continuare se vor ivi situatii ın care este necesaratat calculul rangului cat si calculul explicit al DVS a matricei A. Pentru a evitaun calcul dublu al aceleiasi DVS, se va utiliza secventa de apeluri

420 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

1. [U,Σ, V ] = DVS(A, opt1, opt2)

2. r = Rang DVS(Σ, tol)

la instructiunea 2 matricea argument fiind diagonal˘ nu se mai calculeaza ın faptnici o DVS.

Complexitatea algoritmului este data, ın cazul general, de complexitatea algo-ritmului DVS fara acumularea transformarilor. 3

Observatia 5.8 In definirea si calculul rangului numeric a fost utilizata, ın exclu-sivitate, norma spectrala. In unele lucrari [VI ], pentru dezvoltarea acelorasi idei, seprefera utilizarea normei Frobenius, rezultatele fiind ıntru totul similare. In aceastaobservatie prezentam rezultatul corespunzator teoremei 5.14, care ne va fi util si ınrezolvarea problemei celor mai mici patrate totala.

Teorema 5.15 Daca Σ = UAV H este DVS a matricei A ∈ ICm×n, k < r = rangA26 si Ak este matricea definita ın (5.120), atunci

minrangX=k

X∈ ICm×n

‖A−X‖2F = ‖A−Ak‖2F =r∑

i=k+1

σ2i . (5.123)

Mai mult Ak este unica matrice de rang k pentru care acest minim este atins.

Demonstratie. Fie X ∈ ICm×n o matrice de rang k arbitrara si X = UΣV H

DVS a matricei X , unde Σ =

[Σ11 00 0

]

∈ IRm×n cu Σ11 = diag(σ1, σ2, . . . , σk).

Notam B = UHAV =

[B11 B12

B21 B22

]

cu B11 ∈ ICk×k. Fie σ(B11) = {γ1, γ2, . . . , γk}.Evident, σ(A) = σ(B) si, din teorema 5.11, de separare a valorilor singulare, rezulta

imediat σi ≥ γi, i = 1 : k. Rezulta ‖B11‖2F =∑k

i=1 γ2i ≤

∑ki=1 σ

2i . Avem, ın

consecinta, urmatoarele evaluari:

‖A−X‖2F = ‖B − Σ‖2F = ‖B‖2F +

k∑

j=1

|bjj − σj |2 −k∑

j=1

|bjj |2 ≥

≥ ‖B‖2F − ‖B11‖2F ≥ ‖B‖2F −k∑

i=1

σ2i =

r∑

i=k+1

σ2i .

Pe de alta parte este evidenta egalitatea ‖A−Ak‖2F =∑r

i=k+1 σ2i , i.e. minimul

este atins pentru X = Ak. Vom arata acum ca X = Ak este singura matrice derang k astfel ıncat ‖A−X‖2F =

∑ri=k+1 σ

2i . Cu notatiile utilizate mai sus rezulta

k∑

j=1

σ2j +

k∑

j=1

|bjj − σj |2 −k∑

j=1

|bjj |2 = 0

26 Aici, la fel ca ın teorema 5.14, r este rangul matematic.

5.6. APLICATIILE DVS 421

sik∑

j=1

σ2j ≥

k∑

j=1

γ2j = ‖B11‖2F ≥k∑

j=1

|bjj |2,

de unde obtinembjj = σj , j = 1 : k.

Rezulta B11 = Σ11, de unde unicitatea se obtine imediat. 3

In lumina teoremei 5.15 putem defini rangul numeric rF , ın sensul normei ma-triceale Frobenius, ca fiind ce mai mic ıntreg k pentru care

min(m,n)∑

i=k+1

σ2i < ǫ,

unde ǫ este o toleranta precizata. Si aceasta definire a notiunii de rang numeric esteutila mai ales ın contextul calculului numeric, situatie ın care σi, din relatia de maisus, sunt valorile singulare calculate ale matricei A. 3

5.6.2 Problema generala a celor mai mici patrate

Consideram sistemul liniarAx = b (5.124)

ın cadrul general ın care matricea A ∈ ICm×n nu este de rang maximal 27 (i.e.r = rangA < min(m,n)), cu b ∈ ICm arbitrar. Formulam problema rezolvarii ınsens CMMP a acestui sistem, respectiv de calcul a vectorului x∗ ∈ ICn de normaeuclidiana minima care minimizeaza norma euclidiana a reziduului r(A, b) = b−Ax,i.e.

‖x∗‖ = min‖b−Ax‖ = minim

x ∈ ICn

‖x‖, (5.125)

numita pseudosolutie normala a sistemului (5.124). Avem urmatorul rezultat.

Propozitia 5.7 Sistemul liniar (5.124) admite o pseudosolutie normala unic de-terminata. Daca A = UΣV H este DVS a matricei A, atunci aceasta pseudosolutienormala are expresia

x∗ = A+b =r∑

j=1

uHj b

σjvj . (5.126)

Demonstratie. Fie d = UHb =

[d′

d′′

]

, y = V Hx =

[y′

y′′

]

unde d′ = d(1 : r),

d′′ = d(r+1 : m) si y′ = y(1 :r), y′′ = y(r+1 : n). Avem

‖b−Ax‖2 = ‖b− UΣV Hx‖2 = ‖d− Σy‖2 =√

‖d′ − Σ1y′‖22 + ‖d′′‖2227Pentru sistemele de rang maximal vezi capitolul 3.

422 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

care este, evident, minima pentru y′ = Σ−11 d′ si y′′ arbitrar. Dintre toti vectorii y

care minimizeaza reziduul de mai sus, cel de norma euclidiana minima corespundelui y′′ = 0. Cum ‖x‖2 = ‖y‖2, rezulta ca vectorul de norma euclidiana minima careminimizeaza reziduul ‖b−Ax‖2 este

x∗ = V

[Σ−1

1 d′

0

]

= V

[Σ−1

1 00 0

]

d = V Σ+UHb = A+b,

ultima egalitate din (5.126) obtinandu-se utilizand (5.55). Unicitatea pseudosolutieinormale rezulta din unicitatea pseudoinversei. 3

Propozitia 5.7 conduce la urmatorul algoritm.

Algoritmul 5.7 (CMMP – Rezolvarea problemei generale CMMP)(Date matricea A ∈ ICm×n, vectorul b ∈ ICm si toleranta tol > 0, algorit-mul calculeaza (pseudo)solutia x = x∗ ∈ ICn, ın sens CMMP, de normaeuclidiana minima, a sistemului liniar Ax = b.)

1. [U,Σ, V ] = DVS(A, ′da′, ′da′)

2. r = Rang DVS(Σ, tol)

3. x = 0

4. Pentru j = 1 : r

1. δ = (U( : , j))Hb

2. δ =δ

σj3. x = x+ δV ( : , j)

Comentarii. Sintaxa de apel a algoritmului este

x = CMMP(A, b, tol),

iar complexitatea sa este determinata de complexitatea algoritmului DVS cu acu-mularea transformarilor.

Algoritmul prezentat este numeric stabil, detalii privind acuratetea solutiei prob-lemei CMMP calculata mai sus putand fi gasite ın [ VI ]. 3

5.6.3 Problema celor mai mici patrate totala

Vom formula si rezolva ın cele ce urmeaza o generalizare a problemei clasice a celormai mici patrate (CMMP). Pentru a da o justificare formularii acestei generalizari,sa observam ca problema CMMP, de minimizare a normei euclidiene a reziduuluir = Ax − b, unde matricea A ∈ ICm×n si vectorul b ∈ ICn sunt date 28, poate fireformulata ın modul urmator. Putem privi reziduul r din egalitatea Ax = b+ r cao ”perturbare” a vectorului de date b sub restrictia ca b+ r = Ax pentru un anumit

28 Toate rezultatele raman valabile si ın cazul real. S-a preferat considerarea datelor complexepentru asigurarea omogenitatii tratarii materialului din acest capitol.

5.6. APLICATIILE DVS 423

x, i.e. (b+ r) ∈ ImA. In aceste conditii problema CMMP este de a determina acelreziduu r∗ ∈ ICm pentru care avem

‖r∗‖ = min(b+ r) ∈ ImA

‖r‖, (5.127)

unde ‖ · ‖ def= ‖ · ‖2 este norma euclidiana din ICm. In aceasta interpretare, daca

r∗ este o solutie a problemei de minimizare (5.127), atunci orice solutie x∗ ∈ ICn asistemului Ax = b+ r∗ este (pseudo)solutie CMMP a sistemului liniar Ax = b.

Un prim pas spre generalizare se poate face impunand o ponderare a patratelor

din expresia ‖r‖ = (∑m

i=1 |ri|2)12 , i.e. considerarea problemei minimizarii reziduului

”ponderat” ‖Cr‖ = (∑m

i=1 |ciri|2)12 , unde C = diag(c1, c2, . . . , cm) ∈ ICm×m este o

matrice nesingulara, i.e. problema (5.127) devine

‖Cr∗‖ = min(b+ r) ∈ ImA

‖Cr‖, r ∈ ICm. (5.128)

Al doilea pas de generalizare poate fi facut considerand si perturbatii la nivelulelementelor matricei A, respectiv considerand sistemul liniar (A + E)x = b + r

si impunand minimizarea normei Frobenius a reziduului cumulat Gdef= [ E r ] ∈

∈ ICm×(n+1). Introducand si matricele diagonale nesingulare C=diag(c1, c2, . . . , cm)si D = diag(d1, d2, . . . , dn+1) de ”ponderare” pe linii, respectiv pe coloane, a ma-tricei G, problema de minimizare devine

‖CG∗D‖F = min(b + r) ∈ Im(A+ E)

‖CGD‖F , E ∈ ICm×n, r ∈ ICm, (5.129)

fiind cunoscuta sub denumirea de problema celor mai mici patrate totala (CMMPT).Daca (E∗, r∗) este o solutie a problemei de minimizare (5.129), atunci orice solutiex∗ a sistemului (A+E∗)x = b+ r∗ se numeste (pseudo)solutie, ın sens CMMPT, asistemului Ax = b.

Observatia 5.9 Problema CMMPT (5.129) poate fi echivalata cu o problema deminimizare a unei functii reale de n variabile, fara restrictii suplimentare. Pentrusimplitate, consideram cazul real. Privind x ∈ IRn ca un parametru vectorial,problema (5.129) poate fi formulata, ıntr-o prima faza, ca o problema de minimizare

cu legaturi: sa se calculeze matricea G∗ ∈ IRm×(n+1) astfel ıncat

‖CG∗D‖2F = minG ∈ IRm×(n+1)

‖CGD‖2F , cu legaturile (G+ [A b ])

[x−1

]

= 0.

(5.130)Fie

h(G, λ) = ‖CGD‖2F + λT (G+ [A b ])

[x−1

]

(5.131)

functia lui Lagrange asociata problemei de extrem cu legaturi (5.131). Pentru cal-culul extremului impunem conditiile clasice

∂h(G, λ)

∂gij= 0, i = 1 : m, j = 1 : n+ 1, (5.132)

424 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

(unde, evident, gij = G(i, j)) care conduc imediat la exprimarea elementelor matri-cei G ın functie de multiplicatorii Lagrange λi = λ(i)

gijdef= eij =

−λixj2c2id

2j

, i = 1 : m, j = 1 : n, gi,n+1def= ri =

λi2c2id

2n+1

, i = 1 : m.

(5.133)Impunand satisfacerea legaturilor obtinem valoarea multiplicatorilor Lagrange core-spunzatoare punctului de extrem

λ∗ =2(Ax− b)

xT D−2x+ d−2n+1

, D = diag(d1, d2, . . . , dn). (5.134)

Pentru un vector x fixat, valoarea optima G∗(x) = [E∗(x) r∗(x) ] se obtine ınlo-cuind λ∗i ın relatiile (5.133). Obtinem

E∗(x) = −1

2C−2λ∗xT D−2, r∗(x) =

1

2C−2λ∗d−2

n+1. (5.135)

Utilizand, acum, egalitatea ‖y zT ‖F = ‖y‖ · ‖z‖, adevarata pentru orice vectori y siz (demonstrati!), obtinem valoarea minima (pentru un x fixat) a criteriului (5.130)

f(x)def= ‖CG∗(x)D‖2F = ‖CE∗(x)D‖2F + ‖Cr∗(x)dn+1‖2F =

=1

4

∑mi=1 c

−2i (aTi x− bi)2

∑ni=1 x

2i d

−2i + d−2

n+1

, (5.136)

unde aTi = A(i, : ) este linia i a matricei A. Evident, punctul de minim x∗ ∈ IRn alfunctiei f este (pseudo)solutia problemei CMMPT (5.129). Desi aceasta observatienu ofera o alternativa viabila de calcul, totusi este utila pentru interpretarea unorrezultate. 3

Observatia 5.10 Observatia 5.9 ofera posibilitatea unei interpretari geometrice aproblemei CMMPT. Fie subspatiul liniar

Px =

{ [ab

]

a ∈ IRn, b ∈ IR, aTx = b

}

⊂ IRn+1

definit pentru fiecare parametru vectorial x ∈ IRn. Utilizand aceeasi proceduraclasica, de calcul a extremelor cu legaturi, se arata (exercitiu pentru cititor) ca

distanta, ın sensul normei ‖z‖D def= ‖Dz‖, dintre un punct arbitrar z =

[ab

]

∈ IRn+1 si cel mai apropiat punct din subspatiul Px este

δ(z,Px) =|aTx− b|

√∑n

i=1 x2i d

−2i + d−2

n+1

.

In consecinta, conform observatiei 5.9, solutia x∗ a problemei CMMPT (5.129)determina acel subspatiu Px∗ pentru care suma ponderata a distantelor (ın sensul

5.6. APLICATIILE DVS 425

normei ‖ · ‖D) de la punctele z =

[(A(i, :))T

b(i)

]

∈ IRn+1 la punctele cele mai

apropiate ale lui Px∗ (vezi (5.136)) este minima. 3

A treia treapta de generalizare o introducem considerand un membru dreptmultiplu, i.e. formuland problema CMMPT pentru sistemul liniar matriceal AX == B cu B ∈ ICm×p, respectiv problema de minimizare

‖CG∗D‖ = min(B +R) ⊆ Im(A+ E)

‖CGD‖F , E ∈ ICm×n, R ∈ ICm×p, G = [E R ],

(5.137)unde matricele A ∈ ICm×n, B ∈ ICm×p, cu m ≥ n+ p, precum si matricele diagonalenesingulare C ∈ ICm×m si D ∈ IC(n+p)×(n+p) sunt date. La fel ca si pana acum,daca (E∗, R∗) este o solutie a problemei de minimizare (5.137), atunci orice matriceX∗ ∈ ICn×p care satisface sistemul liniar matriceal (A+E∗)X = B+R∗ va fi numita(pseudo)solutia, ın sens CMMPT, a sistemului AX = B.

Pentru a formula mai concis rezultatul referitor la existenta si unicitatea solutieiproblemelor de minimizare ce definesc CMMPT, vom introduce unele notatii si vomstabili un rezultat preliminar. Fie

Hdef= C[ A B ]D =

n︷︸︸︷

p︷︸︸︷

[H1 H2

](5.138)

si H = UΣV H DVS a matricei H , cu urmatoarele partitii ale matricelor U , V si Σimpuse de structura lui H

U =

n︷︸︸︷

p︷︸︸︷

m−n−p︷︸︸︷

[U1 U2 U3

], V =

n︷︸︸︷

p︷︸︸︷

[V11 V12V21 V22

]}n} p

Σ =

n︷︸︸︷

p︷︸︸︷

Σ1 00 Σ2

0 0

}n} p}m−n−p

,Σ1 = diag(σ1, σ2, . . . , σn)Σ2 = diag(σn+1, σn+2, . . . , σn+p). (5.139)

Introducem urmatoarea lema.

Lema 5.1 Daca σn(H1) > σn+1, atunci1◦. Matricea V22 din (5.139) este nesingulara.2◦. Cu notatiile din (5.139), avem inegalitatea stricta

σn > σn+1. (5.140)

Demonstratie. 1◦. Presupunem ca matricea V22 este singulara. Atunci exista unvector z ∈ ICp nenul, pe care ıl putem considera de norma euclidiana unitara, astfel

ıncat V22z = 0. Mai departe, din faptul ca matricea V2def=

[V12V22

]

are coloanele

ortogonale, i.e. V H2 V2 = Ip, obtinem ‖V2z‖ = ‖V12z‖ = 1. Pe de alta parte din

426 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

DVS a matricei H , cu partitiile din (5.139), avem U2Σ2 = H1V12 +H2V22. Acum,tinand seama de consistenta normei spectrale, putem scrie urmatoarea secventa deinegalitati

σn+1 = ‖Σ2‖ = ‖U2‖ · ‖Σ2‖ ≥ ‖U2Σ2‖ = ‖H1V12 +H2V22‖ =

= max‖y‖=1

‖(H1V12 +H2V22)y‖ ≥ ‖H1V12z‖ ≥ min‖w‖=1

‖H1w‖ = σn(H1),

ceea ce contrazice ipoteza lemei. Deci V22 este nesingulara.2◦. Conform teoremei 5.11 (de separare a valorilor singulare) avem

σn = σn(H) ≥ σn(H [n+p−1]) ≥ . . . ≥ σn(H [n])def= σn(H1), (5.141)

de unde, ın ipoteza lemei, rezulta σn ≥ σn(H1) > σn+1, obtinandu-se inegalitateastricta din enunt. 3

Formulam acum teorema de existenta si unicitate a solutiei problemei CMMPT.

Teorema 5.16 Utilizand notatiile (5.138), (5.139), daca σn(H1) > σn+1, atunci

matricea G∗ def= [ E∗ R∗ ] definita de

G∗ = [ E∗ R∗ ] = −C−1U2Σ2[ VH12 V H

22 ]D−1 (5.142)

este o solutie a problemei de minimizare CMMPT (5.137). In plus, daca notam

D1 = diag(d1, d2, . . . , dn), D2 = diag(dn+1, dn+2, . . . , dn+p), (5.143)

atunci matriceaX∗ = −D1V12V

−122 D−1

2 (5.144)

exista si este unica solutie a sistemului

(A+ E∗)X = B +R∗, (5.145)

i.e. este unica (pseudo)solutie, ın sens CMMPT, a sistemului liniar AX = B.

Demonstratie. Conditia (B +R) ⊆ Im(A+ E) este echivalenta cu existenta uneimatrice X ∈ ICn×p astfel ıncat (A + E)X = B + R. Cu notatiile din (5.137) si(5.138), ultima relatie poate fi scrisa ın urmatoarele forme echivalente

([A B

]+G

)[

X−Ip

]

= 0 ⇔ (H + CGD)D−1

[X−Ip

]

= 0. (5.146)

Intrucat matricea

[X−Ip

]

este monica, din (5.146) rezulta rang(H + CGD) ≤ n.

Notand Fdef= CGD, ın continuare aplicam teorema 5.15 matricei−F = H−(H+F ).

Obtinem

minrang(H+F )≤n

‖F‖2F =

n+p∑

i=n+1

σ2i , (5.147)

5.6. APLICATIILE DVS 427

minimul atingandu-se pentru

(H + F )∗ =

n∑

j=1

σjujvHj = U1Σ1

[V11V21

]H

. (5.148)

Rezulta

F ∗ = U1Σ1

[V11V21

]H

−H = −U2Σ2

[V21V22

]H

, (5.149)

de unde se obtine imediat (5.142). Mai mult, conform lemei 5.1, ın conditiile teore-mei avem inegalitatea stricta σn > σn+1, ceea ce asigura unicitatea matricei G = G∗

care minimizeaza expresia (5.137).In finalul demonstratiei vom arata ca X∗ din (5.144) este unica solutie a sis-

temului (A+ E∗)X = B +R∗ care, conform (5.146), poate fi scris si sub forma

(H + CG∗D)D−1

[X−Ip

]

= 0. (5.150)

Pentru aceasta, din expresia (5.142) a matricei G∗ si DVS a matricei H rezulta

H + CG∗D = U1Σ1

[V H11 V H

21

], (5.151)

de unde, datorita monicitatii matricei U1Σ1, rezulta

Ker (H + CG∗D) = Ker[V H11 V H

21

]= Im

[V12V22

]

. (5.152)

Prin urmare, din (5.150) si (5.143) rezulta ca orice solutie X satisface relatiile

D−1

[X−Ip

]

=

[V12V22

]

Y ⇒{D−1

1 X = V12YD−1

2 = V22Y.(5.153)

Deci, ın virtutea lemei 5.1, avem Y = −V −122 D−1

2 . In concluzie, ın mod necesar, din(5.153) rezulta ca unica (pseudo)solutie, ın sens CMMPT, este

X = D1V12Y = −D1V12V−122 D−1

2 = X∗,

i.e. (5.144). Teorema este demonstrata. 3

Prezentam ın continuare o modalitate de calcul a solutiei problemei CMMPTcare deriva nemijlocit din demonstratia teoremei 5.16.

Algoritmul 5.8 (CMMPT – Solutia problemei CMMPT) (Se daumatricele A ∈ ICm×n, B ∈ ICm×p, cu m ≥ n+ p, precum si matricele dia-gonale nesingulare C = diag(c1, c2, . . . , cm) ∈ ICm×m si D=diag(D1, D2)

∈ IC(n+p)×(n+p), unde D1 = diag(d1, d2, . . . , dn), D2 = diag(dn+1, dn+2,. . . , dn+p). Algoritmul calculeaza solutia (daca exista a) problemeiCMMPT, definite de cvartetul (A,B,C,D), i.e. calculeaza matriceleE = E∗ ∈ ICm×n si R = R∗ ∈ ICm×p care sunt solutia problemei de mi-nimizare (5.137) precum si solutia X∗ a sistemului liniar (A + E∗)X == B + R∗. Daca solutia nu exista sau nu este unica se tipareste unmesaj, iar elementele tripletului (E∗, R∗, X∗) raman vide.)

428 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

1. E = [ ], R = [ ], X = [ ]

2. H = C[A B ]D

3. [U,Σ, V ] = DVS(H, ′da′, ′da′)

4. [P,Γ, Q] = DVS(H( : , 1 : n), ′nu′, ′nu′)

5. Daca γn ≤ σn+1 atunci

1. Tipareste(’Problema nu admite solutie!’)

2. Return

6. Daca σn = σn+1 atunci

1. Tipareste(’Problema nu admite o solutie unica!’)

2. Return

7. Se rezolva sistemul matricealX(D2V (n+ 1 : n+ p, n+ 1 : n+ p)) = −D1V (1 : n, n+ 1 : n+ p)

8. E∗ = −C−1U2Σ2VH12D

−11 , unde U2 = U(:, n+ 1 : n+ p),

Σ2 = Σ(n+ 1 : n+ p, n+ 1 : n+ p), V12 = V (1 : n, n+ 1 : n+ p)

9. R∗ = −C−1U2Σ2VH22D

−12 , unde V22 = V (n+1 : n+p, n+1 : n+p).

Comentarii. Sintaxa de apel a algoritmului este

[X,E,R ] = CMMPT(A,B,C,D).

In cadrul algoritmului s-au folosit notatiile evidente σi = Σ(i, i) si γi = Γ(i, i).Pentru date de intrare (A,B,C,D) reale algoritmul functioneaza ca atare ıntrucatoperatorul hermitic se reduce la cel de transpunere. Evident, ıntr-un astfel decaz se utilizeaza, ın exclusivitate, o aritmetica reala. Singura problema criticaeste rezolvarea sistemului liniar matriceal de la instructiunea 7 care poate fi rauconditionat daca valorile singulare σn(H(:, 1 : n)) si σn+1 nu sunt bine separate.Inversarea matricelor diagonale nu ridica probleme numerice (si nici nu trebuieefectuata explicit). Complexitatea algoritmului este determinata, ın primul rand,de complexitatea calculului DVS. 3

Daca σn = σn+1, CMMPT poate avea solutii multiple si, ıntr-un astfel de caz,cutuma CMMP este de a calcula solutia de norma minima. Vom numi aceastasolutie CMMPT normala (CMMPTN). Avandu-se ın vedere expresia (5.154) asolutiilor, o norma adecvata este ‖ · ‖D definita de ‖Z‖D = ‖D−1

1 ZD2‖ cu careavem

‖X‖2D = ‖V12V −122 ‖2 = λmax(V

−H22 V H

12 V12V−122 ) =

= λmax(V−H22 (Ip − V H

22 V22)V−122 ) =

1− σ2min(V22)

σ2min(V22)

, (5.154)

ceea ce indica faptul ca a minimiza ‖X‖D este echivalent cu maximizarea celei maimici valori singulare a submatricei V22. Un algoritm pentru cazul important si uzualp = 1, i.e. al problemei (5.129), poate fi gasit ın [ VI ].

5.6. APLICATIILE DVS 429

5.6.4 Probleme CMMP cu restrictii

In cadrul paragrafelor anterioare relative la rezolvarea problemelor de minimizare detipul celor mai mici patrate, (pseudo)solutia era cautata ın tot spatiul ICn, respectivIRn ın cazul datelor reale. In cele ce urmeaza vom restrange aria de cautare a solutieiminimizante la un domeniu nevid X ⊂ ICn care nu coincide cu tot spatiul. Desi ma-joritatea aplicatiilor de aceasta natura opereaza cu date reale, pentru omogenitateatratarii vom considera, ca si pana acum, cazul, mai general, al datelor complexe.Cititorul interesat nu va ıntampina, cu siguranta, nici un fel de dificultati la parti-cularizarea rezultatelor si a algoritmilor pentru cazul datelor reale.

Intr-o formulare generala, problema celor mai mici patrate cu restrictii areurmatorul enunt. Date matricea A ∈ ICm×n, cu m > n, vectorul b ∈ ICm si multimeanevida X ⊂ ICn, sa se determine vectorul x∗ ∈ X (daca exista) astfel ıncat

‖r∗‖ def= ‖Ax∗ − b‖ = min

x ∈ X‖Ax− b‖, (5.155)

unde, ca ın toate problemele de tip CMMP, ‖ · ‖ este norma euclidiana.Diversele probleme CMMP cu restrictii difera, natural, prin tipurile de multimi

X . In continuare vom considera cateva cazuri frecvent ıntalnite ın aplicatii.

Problema CMMP cu restrictii liniare tip egalitate

Restrictiile liniare tip egalitate pot fi descrise prin

X = {x |x ∈ ICn, Cx = d} , (5.156)

unde C ∈ ICp×n, p < n, este o matrice epica 29 si d ∈ ICp.Problema CMMP (5.155), (5.156) poate fi rezolvata prin reducerea la rezolvarea

unei probleme CMMP fara restrictii ın modul urmator. Fie factorizarea QR amatricei monice CH , i.e.

CH = Q

[R1

0

]

= Q1R1, (5.157)

unde R1 ∈ ICp×p este superior triunghiulara nesingulara, Q ∈ ICn×n este unitara siQ1 = Q( : , 1 : p). Conditia Cx = d devine echivalenta cu RH

1 QH1 x = d, i.e.

QH1 x = (RH

1 )−1ddef= y∗. (5.158)

Pe de alta parte, considerand partitia Q = [Q1 Q2 ], avem

rdef= Ax− b = AQQHx− b = [AQ1 AQ2 ]

[QH

1 xQH

2 x

]

− b = A1y+A2z− b = A2z− b(5.159)

29 Daca C nu este epica, i.e. r = rangC < p, atunci restrictiile pot fi rescrise ın forma Cx = d,unde C ∈ ICr×n este epica. Intr-adevar, daca C = U1Σ1V H

1 este dezvoltarea DVS a matricei C,

atunci C poate fi Σ1V H1 , ın care caz d = UH

1 d. Daca p = n, atunci C este nesingulara, i.e. X areun singur element, si problema de minimizare devine triviala.

430 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

unde am utilizat notatiile

A1 = AQ1, A2 = AQ2, y = QH1 x, z = QH

2 x, b = b−A1y.

Acum, ıntrucat restrictiile sunt echivalente cu fixarea vectorului y conform (5.158),problema CMMP cu restrictiile (5.156) s-a redus la problema minimizarii normeireziduului (5.159) ın raport cu z, fara alte restrictii. Altfel spus, daca z∗ este solutiaproblemei CMMP fara restrictii

‖r∗‖ def= ‖A2z

∗ − b∗‖ = minz ∈ ICn−p

‖A2z − b∗‖, unde b∗def= b−A1y

∗, (5.160)

atunci, evident,

x∗ = Q

[y∗

z∗

]

(5.161)

este solutia problemei CMMP cu restrictii (5.155), (5.156).Rezulta urmatorul algoritm de calcul.

Algoritmul 5.9 (CMMP RLE – Solutia problemei CMMP curestrictii liniare tip egalitate) (Se considera date matricea monica A ∈∈ ICm×n, cu m > n, si vectorul b ∈ ICm, care definesc problema CMMP,precum si matricea epica C ∈ ICp×n, cu p < n, si vectorul d ∈ ICp, caredefinesc restrictiile (5.156). De asemenea se considera data toleranta tolcare este parametru de intrare pentru algoritmul CMMP fara restrictii.Algoritmul calculeaza solutia x = x∗ a problemei CMMP cu restrictii(5.155), (5.156).)

1. [Q,R ] = FQR(CH)

2. Se rezolva sistemul inferior triunghiular nesingular(R(1 : p, : ))Hy = d

3. b← b−AQ( : , 1:p) y

4. z = CMMP(AQ( : , p+1:n), b, tol)

5. x = Q

[yz

]

.

Comentarii. Apelul acestui algoritm are sintaxa

x = CMMP RLE(A, b, C, d, tol).

Pentru algoritmul de factorizare QR a se vedea capitolul 3. De asemenea, daca sestie a priori faptul ca matricea A este monica, atunci rezolvarea problemei CMMPfara restrictii se poate face cu mijloacele din capitolul 3. Daca matricea A nu estemonica, se impune utilizarea factorizarii QR cu pivotarea coloanelor sau a DVS.Algoritmul este numeric stabil iar complexitatea sa este O(n3). 3

Observatia 5.11 Problema CMMP cu restrictii liniare tip inegalitate se trateazautilizand proceduri specifice de programare patratica si nu este abordata ın aceastalucrare. 3

5.6. APLICATIILE DVS 431

Problema CMMP cu restrictii patratice

Restrictiile patratice ıntalnite ın practica problemelor CMMP sunt, ın general, detip inegalitate avand forma

X = {x |x ∈ ICn, ‖Bx− d‖ ≤ γ} , (5.162)

unde B ∈ ICp×n, d ∈ ICp, γ ≥ 0 este un scalar real, iar ‖ · ‖ este norma euclidiana.Evident, daca γ = 0, atunci restrictiile patratice (5.162) devin restrictii liniare detip egalitate, tratate ın paragraful precedent.

Pentru date reale multimea X este un (hiper)elipsoid ın IRn. Particularizarilecurente ale restrictiilor (5.162) se obtin pentru d = 0 (ın care caz elipsoidul estecentrat ın origine) sau pentru B = In (elipsoidul devine o sfera plina, i.e. o bila).In sfarsit, o categorie importanta o reprezinta restrictiile patratice de tip egalitatecare se obtin ınlocuind ın (5.162) relatia de inegalitate cu o relatie de egalitate siconsiderand γ > 0.

Vom aborda rezolvarea problemei CMMP, definite de (5.155), (5.162), mai ıntaiın cazul general, iar apoi ın cazul particular al unei bile.

Fie problema CMMP (5.155), (5.162). Avand ın vedere faptul ca sunt impli-cate doua matrice, A si B, apare ca naturala abordarea problemei prin ıncercareade diagonalizare simultana a celor doua matrice. Instrumentul adecvat este de-scompunerea valorilor singulare generalizate (DVSG, v. § 5.1). Pesupunem KerA ∩KerB = {0} 30, si, pentru fixarea ideilor si notatiilor, p ≥ n. In conformitate cuteorema 5.4, exista matricele unitare U ∈ ICm×m, V ∈ ICp×p si matricea nesingularaW ∈ ICn×n astfel ıncat

UHAW = C =

[C1

0

]

, C1 = diag(c1, c2, . . . , cn) ∈ IRn×n,

V HBW = S =

[S1

0

]

, S1 = diag(s1, s2, . . . , sn) ∈ IRn×n,

(5.163)

unde valorile singulare generalizate (ci, si) satisfac conditiile c2i + s2i = 1, i = 1 : n,si sunt ordonate conform

1 ≥ c1 ≥ c2 ≥ . . . ≥ cn ≥ 0,

0 ≤ s1 ≤ s2 ≤ . . . ≤ sn ≤ 1.(5.164)

Tinand seama de faptul ca transformarile unitare conserva norma euclidiana sinotand

W−1xdef= y (5.165)

norma reziduului asociat problemei CMMP si restrictia (5.162) se scriu ın formaechivalenta

‖r‖ = ‖Ax− b‖ = ‖UCW−1x− b‖ = ‖Cy − b‖, b = UHb,

‖Bx− d‖ = ‖V SW−1x− d‖ = ‖Sy − d‖ ≤ γ, d = V Hd,(5.166)

30 Aceste conditii nu sunt neaparat necesare, dar permit anumite simplificari (v. § 5.1).

432 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

i.e. rezolvarea problemei (5.155), (5.162), revine la a rezolva problema echivalentade calcul a (pseudo)solutiei y∗ ∈ Y =W−1X (daca exista) astfel ıncat

‖r∗‖ = ‖Cy∗ − b‖ = miny ∈ Y

‖Cy − b‖. (5.167)

Fie, acum, rA = rangA, rB = rangB ceea ce, avand ın vedere ordonarea din(5.164), ınseamna

crA+1 = crA+2 = . . . = cn = 0, s1 = s2 = . . . = sn−rB = 0. (5.168)

Rezulta

φ(y)def= ‖r‖2 = ‖Cy − b‖2 =

rA∑

i=1

|ciyi − bi|2 +m∑

i=rA+1

|bi|2 (5.169)

si, respectiv,

ψ(y)def= ‖Sy − d‖2 =

n−rB∑

i=1

|di|2 +n∑

i=n−rB+1

|siyi − di|2 +p∑

i=n+1

|di|2 ≤ γ2. (5.170)

O conditie evidenta ca multimea Y sa nu fie vida, i.e. o conditie necesara deexistenta a solutiei problemei (5.167), este

n−rB∑

i=1

|di|2 +p∑

i=n+1

|di|2 ≤ γ2. (5.171)

Avand ın vedere ca functia (5.169), care trebuie minimizata, este marginita pecompactul Y, definit de (5.170), conditia (5.171) este si suficienta pentru existentasolutiei problemei CMMP (5.167) cu restrictii patratice.

Ideea rezolvarii problemei (5.167) este reducerea acesteia la o problema cu re-strictii de tip egalitate, pentru care se pot aplica tehnici clasice de minimizare.

1. Consideram, mai ıntai, cazul particular ın care ın (5.171) avem egalitate ınlocul inegalitatii 31. Rezulta, ın mod necesar, pentru satisfacerea restrictiei,

yi =dici, i = n− rB + 1 : n. (5.172)

Intrucat, conditia c2i + s2i = 1, i = 1 : n implica rA + rB ≥ n, i.e. rA ≥ n − rB ,rezulta ca putem calcula componentele yi, i = 1 : n − rB astfel ıncat φ(y) = ‖r‖2sa fie minima. Obtinem

yi =bisi, i = 1 : n− rB. (5.173)

31 In cazul ın care matricea B, vectorul d si scalarul γ sunt stabilite din alte considerentedecat cele de asigurare a existentei solutiei problemei, este putin probabil ca ın (5.171) sa cadempeste situatia de egalitate. Totusi, ın situatia ın care nu exista solutii, un compromis posibil estecresterea scalarului γ pana la atingerea egalitatii din (5.171).

5.6. APLICATIILE DVS 433

Prin urmare, solutia problemei CMMP (5.167), ın situatia

n−rB∑

i=1

|di|2 +p∑

i=n+1

|di|2 = γ2. (5.174)

este

y∗ =

b1c1...

bn−rB

cn−rB

dn−rB+1

sn−rB+1...

dnsn

, r∗ydef= Cy∗ − b =

0...0

σn−rB+1dn−rB+1

...

σrA drAbrA+1

...

bm

, (5.175)

iar solutia corespunzatoare a problemei CMMP initiale, ın acest caz, este

x∗ =W−1y∗, r∗ = Ur∗y , (5.176)

cu valoarea minima a normei euclidiene a reziduului data de

‖r∗‖ = ‖r∗y‖ =

√√√√

rA∑

i=n−rB+1

|σidi − bi|2 +m∑

i=rA+1

|bi|2, (5.177)

unde σi =cisi, i = n−rB+1 : rA, sunt valorile singulare generalizate finite si nenule

ale perechii (A,B).

2. In continuare, studiem situatia ın care inegalitatea (5.171) este satifacutastrict, i.e.

n−rB∑

i=1

|di|2 +p∑

i=n+1

|di|2 < γ2. (5.178)

In acest caz, consideram cea mai mica valoare posibila (i.e. ın absenta oricarorrestrictii) pe care o poate lua functia criteriu φ(y) din (5.169) si anume

µ = miny ∈ ICn

φ(y) =m∑

i=rA+1

|bi|2, (5.179)

care se obtine pentru y ∈ Y unde

Y = {y | y ∈ ICn cu yi =bici, i = 1 : rA }, (5.180)

434 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

i.e. componentele yi, i = rA + 1 : n, ale vectorilor din Y sunt arbitrare.Pe de alta parte vectorul y ∈ Y care minimizeaza functia ψ(y), ce defineste

restrictia (5.170), este dat de

yi =bici, i = 1 : rA, yi =

disi, i = rA + 1 : n, (5.181)

iar valoarea minima a functiei ψ este

ν = miny ∈ Y

ψ(y) = ψ(y) =

n−rB∑

i=1

|di|2 +rA∑

i=n−rB

|sibici− di|2 +

p∑

i=n+1

|di|2. (5.182)

Pot exista doua situatii:

a. In prima situatie, caracterizata de

ν ≤ γ2, (5.183)

vectorul y∗ = y din (5.181) asigura atingerea minimului absolut al criteriului si, ınacelasi timp, satisface restrictia patratica (5.170). Prin urmare, y∗ = y reprezinta,ın acest caz, o solutie a problemei 32 (5.167). O solutie a problemei CMMP initialese obtine utilizand relatiile (5.176).

b. A doua situatie este caracterizata de

ν > γ2, (5.184)

ın care minimul absolut µ din (5.179) al functiei φ(y) nu poate fi atins. Un ratio-nament simplu, indica faptul ca, din motive de continuitate a functiei obiectiv, ınacest caz minimul lui φ se atinge pe frontiera domeniului Y. Prin urmare avem aicio problema de extrem cu legaturi tip egalitate. Concret, problema este de a calculay∗ pentru care

φ(y∗) = miny∈Y

φ(y), Y = { y | y ∈ ICn, ψ(y) = γ2 }, (5.185)

iar pentru rezolvarea ei vom utiliza metoda clasica a multiplicatorilor lui Lagrange.Hamiltonianul asociat problemei (5.185) este

h(λ, y) = φ(y) + λ(ψ(y)− γ2) = ‖Cy − b‖2 + λ(‖Sy − d‖2 − γ2), (5.186)

unde λ ∈ IR este multiplicatorul Lagrange. Introducand vectorii yR = Rey ∈ IRn

si yI = Imy ∈ IRn putem privi functia h din (5.186) ca o functie reala de 2n + 1variabile reale. Impunand conditiile cunoscute, de anulare a derivatelor partiale,

∂h

∂yRi= 0

∂h

∂yIi= 0

, i = 1 : n, (5.187)

32 Problema initiala nu impune selectia, dintre solutiile care asigura minimul absolut al functieiφ, a celei care minimizeaza functia ψ, criteriu ındeplinit de y. Prin urmare, ar putea fi utilizatesi alte criterii de selectie, cum ar fi, de exemplu, calculul vectorului y ∈ Y de norma euclidianaminima care satisface restrictia (5.170).

5.6. APLICATIILE DVS 435

se obtine sistemul liniar diagonal

(CTC + λSTS) y = ST b+ λST d (5.188)

care, considerand λ drept parametru, se rezolva imediat. Admitand a priori camatricea sistemului (5.188) este nesingulara, obtinem expresia y = y(λ) definita de

yi(λ) =

bici, i = 1 : n− rB

cibi + λsibic2i + λs2i

, i = n− rB + 1 : rA

disi, i = rA + 1 : n

(5.189)

Multiplicatorul Lagrange λ = λ∗, care defineste solutia problemei de extrem culegaturi (5.185), se obtine prin rezolvarea ecuatiei neliniare 33

η(λ)def= φ(y(λ)) − γ2 =

n−rB∑

i=1

‖d2i +rA∑

i=n−rB+1

|cisibi − cidic2i + λs2i

|2 +p∑

i=n+1

|di|2 − γ2 = 0,

(5.190)obtinuta prin impunerea conditiei ca solutia (5.189) sa satisfaca relatia de legatura.Intrucat, pentru λ > 0, η(λ) este o functie descrescatoare (ca suma de functiidescrescatoare),

η(0) =

n−rB∑

i=1

‖d2i +rA∑

i=n−rB+1

|sibi − cidi|2c2i

+

p∑

i=n+1

|di|2 − γ2 > 0, (5.191)

ın virtutea conditiei (5.184), si

limλ→∞

η(λ) =

n−rB∑

i=1

|di|2 +p∑

i=n+1

|di|2 − γ2 < 0, (5.192)

ın virtutea conditiei (5.178), ecuatia (5.190) admite o solutie reala pozitiva λ = λ∗

unica. Calculul solutiei λ∗ se face prin metode iterative standard de rezolvare aecuatiilor neliniare (cum este metoda Newton, vezi [ XVII ]). In sfarsit, ın acest caz,solutia problemei CMMP (5.185) si reziduul aferent sunt

y∗ = y(λ∗), r∗y = Cy∗ − b, (5.193)

iar solutia problemei CMMP initiale se obtine utilizand relatiile (5.176).

Pentru a scrie algoritmul de rezolvare al problemei CMMP cu restrictii patraticetip inegalitate vom admite ca dispunem de o procedura de calcul a descompuneriivalorilor singulare generalizate (exercittiul 5.22) care va fi apelata utilizand sintaxa

[ c, s, U, V,W ] = DVSG(A,B).

33 Ecuatiile de tipul (5.190) sunt cunoscute sub numele de ecuatii seculare, denumire provenitadin astronomie.

436 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

Algoritmul DVSG furnizeaza vectorii c si s ai elementelor diagonale ale matricelordiagonale C si S, precum si matricele de transformare. Evident, rangul matricei Aeste dat de numarul componentelor ”nenule” ale vectorului c, iar rangul matricei Bde cel al componentelor ”nenule” ale vectorului s. Neglijarea elementelor vectorilorc si s inferioare lui tol‖A‖, respectiv lui tol‖B‖, unde tol este o toleranta fixata, sideterminarea rangului (numeric al) celor doua matrice vor fi realizate cu algoritmulRang DVSG care poate fi scris fara dificultate de cititor (exercitiul 5.23) si careva fi apelat folosind sintaxa

[ rA, rB ] = Rang DVSG(s, c, tol).

Rezulta urmatorul algoritm.

Algoritmul 5.10 (CMMP RPI – Solutia problemei CMMP cu re-strictii patratice tip inegalitate) (Se considera date matricea A ∈ ICm×n,cu m > n, si vectorul b ∈ ICm, care definesc problema CMMP, precumsi matricea B ∈ ICp×n, cu p ≥ n, vectorul d ∈ ICp si scalarul γ > 0 caredefinesc restrictiile (5.162). De asemenea, pentru evaluarea ranguluieste utilizata toleranta tol. Algoritmul calculeaza solutia x = x∗ ∈ ICn

a problemei CMMP cu restrictii (5.155), (5.162) si reziduul r = r∗, denorma euclidiana minima, aferent.)

1. [ c, s, U, V,W ] = DVSG(A,B)

2. [ rA, rB ] = Rang DVSG(s, c, tol)

3. b← UHb

4. d← V Hd

5. ρ =∑n−rB

i=1 |di|2 +∑p

i=n+1 |di|2

6. Daca ρ > γ2 atunci

1. Tipareste ’Problema unu are solutie.’

2. Return

altfel

1. Daca ρ = γ2 atunci

1. y∗i =bici

pentru i = 1 : n− rB

2. y∗i =disi

pentru i = n− rB + 1 : n

altfel

1. ν = ρ+∑rA

i=n−rB|sibici− di|2

2. Daca ν ≤ γ2 atunci

1. y∗i =bici

pentru i = 1 : rA

2. y∗i =disi

pentru i = rA + 1 : n

altfel

5.6. APLICATIILE DVS 437

1. Se calculeaza solutia λ = λ∗ > 0 a ecuatiei seculare∑rA

i=n−rB+1 |cisibi − cidic2i + λs2i

|2 + ρ− γ2 = 0

utilizand, e.g. metoda Newton.

2. y∗i =bici

pentru i = 1 : n− rB

3. y∗i =cibi + λ∗sibic2i + λ∗s2i

pentru i = n− rB + 1 : rA

4. y∗i =disi

pentru i = rA + 1 : n

7. x∗ =Wy∗.

Comentarii. Sintaxa de apel a acestui algoritm este

x = CMMP RPI(A, b,B, d, γ, tol).

Cititorul poate completa algoritmul cu calculul reziduului optimal r = r∗ si, even-tual, a normei euclidiane a acestuia.

Complexitatea algoritmului este determinata decisiv de calculul DVSG si derezolvarea iterativa a ecuatiei seculare. 3

Observatia 5.12 Pentru rezolvarea problemei CMMP cu restrictii patratice tipegalitate se procedeaza ca ın partea a doua a deducerii algoritmului de mai sus.Intrucat algoritmul corespunzator se obtine practic prin eliminarea unor instructiunidin algoritmul 5.10, detaliile sunt lasate ın sarcina cititorului. 3

3. Incheiem acest paragraf, particularizand algoritmul 5.10 pentru rezolvareaunei probleme ıntalnite deseori ın aplicatii, si anume problema CMMP cu restrictiipatratice definite de o bila. Concret, formularea acestei probleme se obtine con-siderand ın (5.162) B = In si d = 0, i.e. restrictia devine

X = {x |x ∈ ICn, ‖x‖ ≤ γ} . (5.194)

In acest caz, matriceaB fiind diagonala de la ınceput, nu mai este necesara utilizareaDVSG ci este suficienta DVS a matricei A. Fie, deci, A = UΣV H DVS a matriceiA. Notand y = V Hx si b = UHb, problema revine la a calcula y∗ ∈ ICn astfel ıncatsa avem

‖r∗‖2 = ‖Σy∗ − b‖2 = miny∈calY

‖Σy − b‖2, Y = { y | y ∈ ICn, ‖y‖ ≤ γ} . (5.195)

Avand ın vedere faptul ca

φ(y)def= ‖Σy − b‖2 =

rA∑

i=1

|σiyi − bi|2 +m∑

i=rA+1

|bi|2, (5.196)

minimul absolut al functiei φ este

ρ =m∑

i=rA+1

|bi|2 (5.197)

438 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

si se atinge pentru

yi =

biσi, i = 1 : rA

0, i = rA + 1 : n,

(5.198)

componentele nule fiind alese ın vederea satisfacerii restrictiei. Prin urmare, dacapentru y = y restrictia este satisfacuta, i.e.

‖y‖2 =m∑

i=rA+1

|bi|2σ2i

≤ γ2, (5.199)

atunci solutia y∗ = y mentionata este optimala si solutia problemei initiale estex∗ = V y∗. Daca

m∑

i=rA+1

|bi|2σ2i

> γ2, (5.200)

atunci, procedand ca ın cazul general, solutia optimala a problemei CMMP (5.195)este definita de

y∗i =

σibiσ2i + λ∗

, i = 1 : rA

0, i = rA + 1 : n,

(5.201)

unde λ∗ este solutia pozitiva a ecuatiei seculare

rA∑

i=1

(

σi|bi|σ2i + λ

)2

− γ2 = 0. (5.202)

Solutia problemei CMMP initiale este, evident, x∗ = V y∗.Rezumam cele aratate mai sus ıntr-un algoritm.

Algoritmul 5.11 (CMMP RPB – Solutia problemei CMMP curestrictii patratice tip bila) (Se considera date matricea A ∈ ICm×n, cum > n, si vectorul b ∈ ICm, care definesc problema CMMP, precum siscalarul γ > 0 care defineste restrictia (5.194). De asemenea, pentruevaluarea rangului, este utilizata toleranta tol. Algoritmul calculeazasolutia x = x∗ a problemei CMMP cu restrictii (5.155), (5.194).)

1. [U,Σ, V ] = DVS(A, ′da′, ′da′)

2. r = Rang DVS(Σ, tol)

3. b← UHb

4. ρ =∑r

i=1

|bi|2σ2i

5. Daca ρ ≥ γ2 atunci

1. Se calculeaza vectorul y∗ ∈ ICn definit ın (5.198).

altfel

1. Se calculeaza solutia λ∗ a ecuatiei seculare (5.202).

5.6. APLICATIILE DVS 439

2. Se calculeaza vectorul y∗ ∈ ICn definit ın (5.201).

6. x∗ = V ( : , 1 : rA)y∗(1 : rA).

Comentarii. Sintaxa de apel a algoritmului va fi

x = CMMP RPI(A, b,B, d, γ, tol).

Efortul principal de calcul consta ın calculul DVS. Pentru rezolvarea ecuatiei secu-lare se poate folosi orice metoda iterativa fiabila. 3

5.6.5 Calculul pseudoinversei

Mentionam de la ınceput ca sunt putine situatiile aplicative ın care este necesarcalculul explicit al pseudoinversei unei matrice date. In cazul general, calcululpseudoinversei matricei A ∈ ICm×n face apel la DVS A = UΣV H , utilizandu-serelatia

X =r∑

j=1

vjuHj

σj, vj = V ( : , j), uj = U( : , j), (5.203)

stabilita ın § 5.1 si unde r este rangul (numeric al) matricei A. Rezulta urmatorulalgoritm.

Algoritmul 5.12 (Pinv – Calculul pseudoinversei) (Data matriceaA ∈ ICm×n si toleranta tol > 0 pentru determinarea rangului numeric,algoritmul calculeaza pseudoinversa X ∈ ICn×m a matricei A.)

1. [U,Σ, V ] = DVS(A, ′da′, ′da′)

2. r = Rang DVS(Σ, tol)

3. X = 0

4. Pentru j = 1 : r

1. vj =vjσj

2. X ← X + vjuHj

Comentarii. Sintaxa de apel a algoritmului este

X = Pinv(A, tol),

iar complexitatea sa este determinata, ın principal, de complexitatea algoritmuluiDVS cu acumularea transformarilor. 3

440 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

5.7 Rutine LAPACK si MATLAB

LAPACK. Calculul DVS al unei matrice generale este efectuat de o singura rutinade tip driver, numita xGESVD. Aceasta calculeaza valorile singulare si, optional,vectorii singulari stanga si/sau dreapta.

Rutinele de calcul care implementeaza cele doua faze ale algoritmului DVS sunturmatoarele:

• xGEBRD realizeaza reducerea unei matrice oarecare la forma bidiagonala printransformari ortogonale de echivalenta. xGBBRD efectueaza aceeasi operatiepentru matrice banda, utilizand rotatii Givens (ın loc de reflectori).

• xBDSQR implementeaza faza iterativa a algoritmului DVS, calculand valorilesingulare si, optional, vectorii singulari, ai unei matrice bidiagonale (de retinutabrevierea BD pentru matricele bidiagonale).

DVS este utilizata pentru rezolvarea problemei generale a celor mai mici patrate(calculul pseudosolutiei normale a sistemului Ax = b) ın rutina driver xGELSS.

Descompunerea valorilor singulare generalizate (DVSG) a unei perechi de ma-trice este furnizata de rutina driver xGGSVD.

MATLAB. Valorile si vectorii singulari ai unei matrice generale A pot fi cal-culati cu

[U, S, V] = svd(A)

unde U si V contin (pe coloane) vectorii singulari stanga, respectiv dreapta iar S esteo matrice diagonala continand valorile singulare. Apelul simplu svd(A) returneazaun vector continand valorile singulare.

Alte functii care utilizeaza DVS sunt:

• rank pentru calculul rangului.

• pinv care calculeaza pseudoinversa.

• norm pentru obtinerea normei spectrale ‖A‖2 = σ1.

• cond pentru calculul numarului de conditionare κ2(A) = σ1/σn.

Amintim ın final ca rezolvarea ın sens CMMP a sistemului Ax = b (de rangnemaxim) prin operatia A\b nu produce pseudosolutia normala (vezi detalii ın capi-tolul 3).

5.8 Probleme

P 5.1 Care sunt valorile singulare ale matricelor

A =

[1 −1 2−1 0 1

]

, B =

[−1 2 03 1 1

]

?

5.8. PROBLEME 441

Dar ale matricei C = A+ iB ?

P 5.2 Scrieti formulele explicite pentru calculul DVS a unei matricei A ∈ IR2×2. Aceeasiproblema pentru o matrice complexa 2× 2.

P 5.3 Fie A ∈ ICm×n. a) Demonstrati ca matricele A, AT si AH , unde A este conjugatamatricei A, au aceleasi valori singulare cu A. b) Daca P ∈ ICm×m si Q ∈ ICn×n sunt matriceunitare, atunci matricea B = PAQ are aceleasi valori singulare cu matricea A. c) Aratatica matricea αA, unde α ∈ IC, are valorile singulare |α|σi(A).

P 5.4 Fie A ∈ ICm×n, cu m ≥ n, si matricea B =

[

0 AH

A 0

]

∈ IC(m+n)×(m+n).

Exprimati vectorii proprii ai matricei B ın functie de vectorii singulari ai matricei A.

P 5.5 Se considera date matricele reale A,B ∈ IRm×n. Fie matricea complexa C =

= A + iB ∈ ICm×n si matricea reala D =

[A −BB A

]

∈ IR2m×2n. Stabiliti relatiile de

legatura dintre DVS ale matricelor C si D.

P 5.6 a) Fie A ∈ ICn×n o matrice normala, i.e. care satisface conditia AHA = AAH (v.cap.4), (ın particular hermitica, iar ın cazul real, simetrica) si λ(A) = {λ1, λ2, . . . , λn }, cu|λ1| ≥ |λ2| ≥ . . . ≥ |λn|. Aratati ca valorile singulare ale matricei A sunt σi = |λi|, i = 1:n.

b) Care sunt valorile proprii si valorile singulare ale matricei A =

[6 3 11 3 33 −1 3

]

?

P 5.7 Care sunt valorile singulare ale unei matrice n× n unitare (ortogonale) ?

P 5.8 Fie V ∈ ICm×k o matrice avand coloanele ortogonale si P = V V H proiectorulortogonal pe ImV .

a) Aratati ca matricea Q = I − 2P este unitara.b) Care sunt valorile singulare ale unui proiector ortogonal ?

P 5.9 Aratati ca daca A ∈ ICm×n, atunci ‖A‖2 ≤ ‖A‖F ≤√rangA ‖A‖2.

P 5.10 Demonstrati ca daca Q ∈ ICm×n este o matrice cu coloanele ortogonale, i.e.QHQ = In, si P este o matrice obtinuta din Q prin eliminarea a cel mult n − 1 linii(oricare), atunci ‖P‖2 = 1.

P 5.11 Aratati ca daca A ∈ ICm×n are rangul n, atunci ‖A(AHA)−1AH‖2 = 1.

P 5.12 Demonstrati ca daca σ1 este cea mai mare valoare singulara a matricei A, atunci

σ1 = maxy ∈ IRm \ {0}x ∈ IRn \ {0}

yTAx

‖y‖2‖x‖2.

P 5.13 a) Fie vectorii u ∈ ICm, v ∈ ICnsi matricea A = uvH . Care este DVS a matriceiA ? Care este rangul lui A ? b) Aratati ca orice matrice A ∈ ICm×n de rang 1 poate fiscrisa sub forma A = uvH , unde u ∈ ICm, v ∈ ICn.

P 5.14 Elaborati un algoritm pentru calculul DVS a matricei A = In + uvT , undeu, v ∈ IRn sunt doi vectori necoliniari.

442 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

P 5.15 Elaborati un algoritm, similar algoritmului JQ, care sa calculeze reducerea uneimatrice complexe A ∈ ICm×n la o forma superior bidiagonala reala prin transformari unitarebilaterale.

P 5.16 Fie o matrice superior bidiagonala J ∈ ICn×n definita prin vectorul f ∈ ICn alelementelor diagonale si vectorul g ∈ ICn−1 al elementelor sale supradiagonale. Aratatica daca J are doua valori singulare egale σi = σi+1, atunci f si/sau g au cel putin ocomponenta nula.

P 5.17 Adaptati algoritmul JQ pentru reducerea eficienta a unei matrice A ∈ ICn×n supe-rior triunghiulare la forma superior bidiagonala prin transformari unitare de echivalenta.

P 5.18 Fie A =

[A1 A2

0 A3

]

, unde A ∈ ICm×n, A1 ∈ ICp×p. Elaborati un algoritm pentru

reducerea eficienta a matricei A la forma bidiagonala prin transformari unitare bilaterale.

P 5.19 Adaptati algoritmul JQ pentru reducerea eficienta a unei matrice A ∈ ICn×n

tridiagonale la forma superior bidiagonala prin transformari unitare de echivalenta.

P 5.20 Fie A ∈ ICm×n, cu m < n. Elaborati un algoritm pentru calculul matricelorunitare U ∈ ICm×m, V ∈ ICn×n astfel ıncat UHAV =

[B 0

]cu B ∈ ICm×m superior

bidiagonala.

P 5.21 Demonstrati ca orice matrice m×n este limita unui sir de matrice m×n de rangmaximal. Interpretati importanta acestui rezultat pentru practica numerica.

P 5.22 Elaborati un algoritm de calcul al descompunerii valorilor singulare generalizate(DVSG) a unei perechi de matrice (A,B) ∈ ICm×n × ICp×n date.

P 5.23 Scrieti un algoritm de calcul simultan al rangurilor numerice a doua matriceA ∈ ICm×n si B ∈ ICp×n date, utilizand descompunerea valorilor singulare generalizate aperechii (A,B).

P 5.24 Elaborati un algoritm de calcul al descompunerii polare a unei matrice A ∈ ICm×n

date.

P 5.25 Elaborati un algoritm de calcul al descompunerii CS a unei matrice unitareQ ∈ ICm×m date.

P 5.26 Se dau matricele A ∈ ICm×m, B ∈ ICn×n si C,D ∈ ICm×n. a) Aratati ca sistemulde ecuatii matriceale {

AX − Y B = CXBH − AHY = D

are solutie unica (X,Y ) ∈ ICm×n × ICm×n daca si numai daca σ(A)∩ σ(B) = ∅. b) Scrietiun algoritm pentru rezolvarea sistemului de mai sus.

P 5.27 Fie date matricea A ∈ IRm×n si vectorul b ∈ IRm. a) Aratati ca pentru oriceα > 0 problema de minimizare

minx ∈ IRn

{‖b − Ax‖2 + α‖x‖2

}

5.8. PROBLEME 443

are o solutie unica x∗α. b) Elaborati un algoritm de calcul al solutiei x∗

α. c) Ce se ıntamplacand αց 0 ? d) Aratati ca sistemul

(ATA+ αIn)(ATA+ βIn)y = (β − α)AT b

este satisfacut de ynot= x∗

α − x∗β.

P 5.28 Aratati ca o matrice patrata are (cel putin) o valoare singulara nula daca si numaidaca are (cel putin) o valoare proprie nula.

P 5.29 Fie matricele patrate A,B ∈ ICn×n. Se stie (vezi exercitiul 4.5 din cap.4) camatricele AB si BA au aceleasi spectre de valori proprii. Este adevarat acest lucru sipentru multimile lor de valori singulare?

P 5.30 Fie matricele A,B ∈ ICm×n, p = min(m,n) si σ(A), σ(B) multimile (nu uitati,ordonate descrescator!) ale valorilor singulare ale matricei A, respectiv B.

a) Demonstrati si interpretati inegalitatea

σ1(A+B) ≤ σ1(A) + σ1(B).

Este adevarata inegalitatea σi(A+B) ≤ σi(A)+σi(B) si pentru i ∈ 2 : p ? Daca raspunsuldv. este afirmativ, atunci prezentati o demonstratie, iar daca este negativ prezentati uncontraexemplu.

b) Demonstrati inegalitatea

σi+j−1(A+B) ≤ σi(A) + σj(B),

unde i, j ∈ 1 : p, cu i+ j ≤ p+ 1.

P 5.31 Fie matricele A,B ∈ ICm×n, p = min(m,n) si σ(A), σ(B) multimile ale valorilorsingulare ale matricei A, respectiv B.

a) Demonstrati si interpretati inegalitatea

σ1(ABH) ≤ σ1(A)σ1(B).

Este adevarata inegalitatea σi(ABH) ≤ σi(A)σi(B) si pentru i ∈ 2 : p ? Daca raspunsuldv. este afirmativ, atunci prezentati o demonstratie, iar daca este negativ prezentati uncontraexemplu.

b) Demonstrati inegalitatea

σi+j−1(ABH) ≤ σi(A)σj(B),

unde i, j ∈ 1 : p, cu i+ j ≤ p+ 1.

P 5.32 Fie matricea A ∈ ICn×n si matricea B = AP ∈ ICn×n unde P este o matricede permutare. Presupunem ca P a fost aleasa astfel ıncat matricea B sa aiba coloaneleordonate ın sensul descrescator al normelor lor euclidiene, i.e. daca κj = ‖B(:, j)‖2, atunciκ1 ≥ κ2 ≥ . . . ≥ κn. Demonstrati ca

n∑

j=k

σ2j ≤

n∑

j=k

κ2j , k = 1 : n,

unde σi sunt valorile singulare ale matricei A. Formulati un rezultat analog pentru linii.Trageti, printre alte concluzii, pe aceea ca o matrice care are o coloana (sau o linie) denorma euclidiana ”mica” are, ın mod necesar, si o valoare singulara ”mica”.

444 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE

P 5.33 Se considera matricea

A(ǫ) =

[0 In−1

ǫ 0

]

∈ IRn×n, ǫ ≥ 0.

a) Calculati valorile proprii si valorile singulare ale matricei A.b) Pentru n=10, care sunt variatiile absolute ale modulelor valorilor proprii si ale

valorilor singulare atunci cand ǫ variaza de la 0 la 10−10?c) Trageti concluzia ca ın timp ce valorile proprii ale unei matrice pot fi (foarte) rau

conditionate, valorile singulare sunt ıntotdeauna perfect conditionate. Retineti ca aceastaconcluzie este de o importanta capitala ın rezolvarea numerica pe calculator a problemelorde algebra liniara ın sensul ca metodele care fac apel la valorilor singulare sunt cele maibune.

P 5.34 Aratati ca o matrice A ∈ ICn×n este normala, i.e. AHA = AAH , daca si numaidaca ın descompunerea polara A = PW ”modulul” P = UΣUH ∈ ICn×n (hermitic sipozitiv semidefinit) si ”factorul de faza” W = UV H (unitar) comuta. (In relatiile de maisus s-a utilizat DVS A = UΣV H a matricei A.)

Capitolul 6

Calculul valorilor sivectorilor proprii generalizati

Valorile proprii generalizate si vectorii proprii generalizati asociati caracterizeaza dinpunct de vedere structural perechile de matrice patrate si reprezinta o generalizarenaturala a conceptelor de valoare proprie si vector propriu.

Metoda de calcul a valorilor proprii generalizate care s-a impus reprezinta oadaptare performanta a algoritmului QR la noul cadru structural.

6.1 Formularea problemei

6.1.1 Valori si vectori proprii generalizati

Fie matricele patrate A,B ∈ ICn×n. Multimea de matrice

F = {F ∈ ICn×n | F = A− λB, λ ∈ IC} (6.1)

se numeste fascicol matriceal asociat perechii (A,B) 1.

Definitia 6.1 Fie F fascicolul matriceal definit de perechea (A,B) ∈ ICn×n× ICn×n.Un numar λ ∈ IC se numeste valoare caracteristica a fascicolului F sau, ınca, valoareproprie generalizata a perechii (A,B), daca exista un vector nenul x ∈ ICn astfelıncat

Ax = λBx. (6.2)

Orice vector x 6= 0 care satisface (6.2) se numeste vector principal al fascicoluluiF sau, ınca, vector propriu generalizat al perechii (A,B) asociat valorii propriigeneralizate λ.

Sistemul liniar omogen (6.2), scris sub forma

(A− λB)x = 0, (6.3)

1 Fascicolele matriceale se definesc si pentru perechile de matrice nepatrate.

445

446 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

admite solutii nenule numai daca matricea sistemului A− λB este singulara. Prinurmare, valorile proprii generalizate ale perechii (A,B) sunt zerourile polinomului

p(λ) = det(A− λB), (6.4)

numit polinomul caracteristic al fascicolului F 2. Daca matricele A si B sunt reale,atunci polinomul caracteristic are coeficientii reali si valorile proprii generalizatecomplexe apar ın perechi complex-conjugate. Multiplicitatea ni a radacinii λi apolinomului caracteristic se numeste multiplicitate algebrica a valorii proprii gene-ralizate λi.

Evident, valorile si vectorii proprii ai matricei A coincid cu corespondentii lorgeneralizati ai perechii (A, In).

Vom nota cu λ(A,B) spectrul generalizat, i.e. multimea valorilor proprii gene-ralizate ale perechii (A,B).

Prezentam principalele proprietati ale valorilor si vectorilor proprii generalizatisub forma urmatoarei propozitii.

Propozitia 6.1 Fie perechea (A,B) ∈ ICn×n × ICn×n.1◦ Daca matricea B este nesingulara, atunci gradul polinomului caracteristic

este n, deci numarul valorilor proprii generalizate ale perechii (A,B), incluzandmultiplicitatile, este egal cu ordinul n al matricelor. Mai mult,

λ(A,B) = λ(B−1A) = λ(AB−1). (6.5)

2◦ Daca λ ∈ λ(A,B) si λ 6= 0, atunci1

λ∈ λ(B,A).

Demonstratie. 1◦ In acest caz polinomul caracteristic (6.4) este p(λ) = det(A−−λB) = det(B)det(B−1A − λIn) = det(AB−1 − λIn)det(B) cu det(B) 6= 0, i.e.are aceleasi radacini cu polinoamele caracteristice ale matricelor B−1A si AB−1.Rezulta ca p(λ) este un polinom de gradul n cu coeficienti complecsi si, ın consecinta,are exact n valori proprii complexe, nu neaparat distincte. 2◦ Daca λ 6= 0, atunci(6.3) implica (B − 1

λA)x = 0. 3

Observatia 6.1 Daca matricea B este singulara, atunci numarul valorilor propriigeneralizate al perechii (A,B) poate lua orice valoare din multimea (0 : n−1)∪{∞}.Intr-adevar, sa consideram situatiile:

a) A nesingulara si B = 0, caz ın care perechea (A,B) nu are nici o valoareproprie generalizata;

b) A = diag(A1, A2), B = diag(B1, 0) cu A1, B1 ∈ ICk×k, k = 1 : n − 1, si A2,B1 nesingulare; ın acest caz perechea (A,B) are exact k valori proprii generalizate;

c) polinomul caracteristic al fascicolului definit de perechea (A,B) este identicnul (e.g. A singulara si B = 0), situatie ın care orice numar complex este valoareproprie generalizata a perechii (A,B).

Aceste situatii nu sunt exclusive, vezi exemplul de mai jos. 3

2 Ecuatia p(λ) = 0 se numeste ecuatia caracteristica a fascicolului F .

6.1. FORMULAREA PROBLEMEI 447

Exemplul 6.1 Perechea de matrice

(

A =

[1 00 3

]

, B =

[0 01 0

])

nu are nici

o valoare proprie generalizata, perechea

(

A =

[1 20 3

]

, B =

[1 00 0

])

are una

singura si orice numar λ ∈ IC este valoare proprie generalizata pentru perechea(

A =

[1 20 0

]

, B =

[1 00 0

])

. 3

Pentru a elimina cazul nedeterminat, cand toate numerele complexe sunt valoriproprii generalizate, caz care nu poate fi obiectul unei probleme de calcul, vompresupune ın continuare ca polinomul caracteristic al fascicolului definit de perechea(A,B) nu este identic nul. In acest caz fascicolul se numeste regulat 3. De asemenea,vom conveni ca un fascicol regulat de ordinul n avand gradul polinomului caracte-ristic k < n (i.e. avand k valori proprii generalizate finite, nu neaparat distincte)are n − k valori proprii infinite 4. Cu aceasta conventie, spectrul de valori propriiλ(A,B) al unui fascicol regulat de ordinul n va avea ıntotdeauna exact n elemente.

Daca matricea B (sau A) este nesingulara fascicolul definit de perechea (A,B)poate fi numit nesingular. Un fascicol se numeste hermitic (ın cazul real, simetric)pozitiv definit daca matricele A si B sunt hermitice (simetrice), iar matricea B estepozitiv definita.

Vectorii proprii generalizati, introdusi prin definitia 6.1, satisfac sistemul liniaromogen singular (6.3). Prin urmare, fiecarei valori proprii generalizate finite ıicorespunde cel putin un vector propriu. Daca perechea (A,B) este reala, vectoriiproprii generalizati asociati valorilor proprii generalizate complex conjugate pot fialesi complex conjugati. Multimea vectorilor proprii generalizati asociati unei valoriproprii generalizate finite λi formeaza subspatiul liniar Ui = Ker(A − λiB) ⊂ ICn acarui dimensiune νi constituie multiplicitatea geometrica a lui λi.

6.1.2 Subspatii de deflatie

Corespondentul generalizat al conceptului de subspatiu invariant este subspatiul dedeflatie, definit ın felul urmator.

Definitia 6.2 Fie o pereche (A,B) ∈ ICn×n × ICn×n, un subspatiu liniar k-dimen-sional S din ICn si subspatiul liniar

V def= AS +BS = {z ∈ ICn | z = Ax+By, cu x, y ∈ S}.

Subspatiul S se numeste subspatiu de deflatie al perechii (A,B) daca

dimV ≤ dimS. (6.6)

Pentru proprietatile subspatiilor de deflatie ale fascicolelor de matrice recomandamconsultarea referintei [ VI ].

3 In caz contrar (i.e. polinomul caracteristic este identic nul sau matricele nu sunt patrate)fascicolul se numeste singular.

4 Justificarea acestei conventii va deveni limpede mai tarziu.

448 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Problema de calcul care face obiectul acestui capitol este determinarea valorilorproprii generalizate ale unui fascicol regulat dat. Problema calculului vectorilorproprii generalizati va fi tratata ın subsidiar tinand seama si de faptul ca, ın multeaplicatii, calculul explicit al acestora poate fi (si este bine sa fie) evitat. Acestdemers calculatoriu se bazeaza ın mare masura pe urmatorul rezultat.

Propozitia 6.2 Fie (A,B) ∈ ICn×n × ICn×n. Daca exista un subspatiu de deflatiek-dimensional S ⊂ ICn al perechii (A,B), atunci exista matricele unitare Q,Z ∈∈ ICn×n astfel ıncat

QHAZ =

[S11 S12

0 S22

]

, QHBZ =

[T11 T120 T22

]

, (6.7)

cu S11, T11 ∈ ICk×k.Perechea (S11, T11) se numeste restrictia perechii (A,B) la subspatiul S.

Demonstratie. Fie Z1def= [z1 z2 · · · zk ] o matrice n× k ale carei coloane formeaza

o baza ortogonala a subspatiului de deflatie S, Z2 ∈ ICn×(n−k) o completare unitaraa lui Z1 si Z = [Z1 Z2 ]. Fie acum subspatiul V = AS + BS, a carui dimensiuner satisface, prin definitie, conditia r ≤ k , Q1 o matrice n × r ale carei coloaneformeaza o baza ortogonala a acestui subspatiu, Q2 o completare unitara a lui Q1

si Q = [Q1 Q2 ]. Intrucat AS ⊂ V si BS ⊂ V avem AS ⊥ ImQ2 si BS ⊥ ImQ2, i.e.QH

2 AZ1 = 0 si QH2 BZ1 = 0 care, ımpreuna cu inegalitatea r ≤ k , conduc imediat

la (6.7), q.e.d. 3

Observatia 6.2 Calculul matricelor unitare de transformare Q si Z este condi-tionat esential de cunoasterea unei baze a subspatiului de deflatie S. In cazul ıncare se dispune de o baza a lui S, constructia unei baze ortogonale Z1 si a uneicompletari ortogonale Z2 (si, similar, a matricei Q) se face dupa recomandarile dincapitolul 3 (vezi si obs. 4.3). 3

6.1.3 Fascicole echivalente

Ca si ın cazul valorilor proprii ordinare, suntem interesati sa evidentiem trans-formarile matriceale care conserva spectrul unui fascicol dat.

Definitia 6.3 Doua fascicole definite de perechile de matrice (A1, B1), (A2, B2) ∈∈ ICn×n × ICn×n se numesc echivalente 5 daca exista matricele nesingulare P,R ∈∈ ICn×n astfel ıncat

A1 = PA2R, B1 = PB2R. (6.8)

Daca matricele de transformare P si R sunt unitare, atunci perechile (A1, B1) si(A2, B2) se numesc unitar echivalente. In cazul real, daca matricele de transformareP , R sunt ortogonale, cele doua perechi se numesc ortogonal echivalente.

5 Un fascicol A − λB poate fi privit ca o matrice polinomiala. Din acest punct de vedereechivalenta definita aici coincide cu echivalenta stricta a matricelor polinomiale (vezi [ I ]).

6.1. FORMULAREA PROBLEMEI 449

Proprietatea principala a relatiei de echivalenta a doua fascicole este data depropozitia ce urmeaza.

Propozitia 6.3 Daca perechile (A1, B1) si (A2, B2) sunt echivalente ın sensul de-finitiei 6.2, i.e. satisfac (6.8), atunci

λ(A1, B1) = λ(A2, B2). (6.9)

In plus, daca x este un vector propriu generalizat al perechii (A1, B1) asociat valoriiproprii generalizate λ, atunci

y = Rx (6.10)

este un vector propriu generalizat al perechii (A2, B2) asociat aceleiasi valori proprii.

Demonstratie. Daca A1 = PA2R si B1 = PB2R, cu P si R nesingulare, atunci(A1 − λB1)x = 0 cu x 6= 0 implica, evident, (A2 − λB2)Rx = (A2 − λB2)y = 0 siy 6= 0, q.e.d. 3

6.1.4 Fascicole hermitice (simetrice).Fascicole hermitice congruente

Fie perechea de matrice patrate (A,B) ∈ ICn×n × ICn×n care defineste fascicolulmatriceal

F = {F = A− λB | λ ∈ IR}. (6.11)

Vom spune ca fascicolul F este hermitic (ın cazul matricelor A si B reale, simetric)si, echivalent, ca perechea (A,B) este hermitica (simetrica), daca ambele matriceA si B sunt hermitice (simetrice) 6. Este usor de vazut ca un fascicol hermitic arespectrul generalizat o multime simetrica (dar nu, ın mod necesar, real), iar ın cazulreal, un fascicol simetric are spectrul generalizat real.

Daca F este un fascicol hermitic, vom spune ca F este de semn (semi)definitdaca una dintre matricele A sau B este de semn (semi)definit (i.e. pozitiv saunegativ (semi)definita). Pentru precizare, ın continuare, vom spune ca un fascicolhermitic este pozitiv (negativ) (semi)definit daca matricea B este pozitiv (negativ)(semi)definita.

Un fapt important pe care dorim sa-l remarcam este acela ca, ın general, trans-formarile de echivalenta, definite ın pararagraful anterior, nu conserva nici propri-etatea de a fi hermitic (ın cazul real, simetria) nici definirea semnului unui fascicol.De aceea, tehnicile de calcul ale valorilor proprii generalizate si ale vectorilor propriigeneralizati nu beneficiaza de facilitatile si de dezvoltarile elegante din cazul ordinar(v. cap. 4). In acest context, vom fi interesati sa definim clasa transformarilor deechivalenta care conserva proprietatile mentionate.

Vom spune ca doua fascicole F1 si F2 definite de perechile (A1, B1) si (A2, B2)sunt congruente daca exista o matrice nesingulara T astfel ıncat

(A2, B2) = (THA1T, THB1T ), (6.12)

6 Datorita faptului ca ın (6.11) λ este real, toate matricele dintr-un fascicol hermitic sunthermitice.

450 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

(ın cazul real, T se considera reala). Este usor de constatat ca doua fascicole con-gruente sunt simultan hermitice (ın cazul real, simetrice) sau nu, iar doua fascicolehermitice (simetrice) congruente sunt simultan pozitiv definite sau nu. In sectiuneaurmatoare vom vedea ın ce conditii un fascicol hermitic poate fi adus printr-o trans-formare de congruenta la forma diagonala.

∗ ∗∗

In cazul general, structura ”fina” a unei perechi de matrice, care poate fi dezva-luita prin transformari de echivalenta corespunzatoare, este data de asa numitaforma canonica Kronecker [ I ]. La fel ca si ın cazul formei canonice Jordan, rolulformei canonice Kronecker ın calculul numeric este mult diminuat de sensibilitateaei la perturbatii ın elementele matricelor initiale, perturbatii inerente ın aritmeticaın virgula mobila. Acesta este motivul pentru care ın toate dezvoltarile numericese prefera o structura mult mai robusta si anume forma Schur (complexa sau reala)generalizata a perechii (A,B) prezentata ın continuare.

6.2 Forma Schur generalizata

Transformarile de echivalenta unitare, respectiv ortogonale ın cazul real, prezintaproprietati numerice remarcabile si, de aceea, sunt utilizate ın exclusivitate pentrucalculul performant al valorilor proprii generalizate. Pe de alta parte, structurilecanonice, cum este forma Kronecker, nu se pot obtine, ın general, prin astfel detransformari. De aceea, ca si ın cazul determinarii valorilor proprii ordinare, seutilizeaza, practic ın exclusivitate, structurile triunghiulare sau cvasi-triunghiulare.Rezultatul principal al acestui paragraf arata ca orice pereche de matrice (A,B)este unitar echivalenta cu o pereche de matrice triunghiulare numita forma Schurgeneralizata. Vom trata distinct cazul perechilor de matrice reale.

6.2.1 Forma Schur generalizata (complexa)

Calculul valorilor proprii generalizate este intim legat de calculul vectorilor propriigeneralizati asociati. Daca λ ∈ λ(A,B) este cunoscuta, atunci vectorul propriuasociat este o solutie nenula a unui sistem liniar omogen. Daca se cunoaste unvector propriu generalizat x al perechii (A,B), cu B nesingulara, atunci valoareaproprie generalizata asociata poate fi calculata cu relatia 7

λ =xHB−1Ax

xHx. (6.13)

Daca gradul polinomului caracteristic al fascicolului este superior lui patru, calcululvalorilor proprii generalizate, ın absenta cunoasterii vectorilor proprii asociati, este,

7 O alta relatie ce poate fi utilizata pentru calculul unei valori proprii generalizate finite a unui

fascicol regulat este λ =xHBHAx

xHBHBx, care exprima faptul ca λ este solutia ın sensul celor mai mici

patrate a sistemului λBx = Ax (vezi si exercitiul 6.7).

6.2. FORMA SCHUR GENERALIZATA 451

ın mod necesar, un proces (iterativ) infinit, aceeasi situatie aparand si la calcululvectorilor proprii generalizati fara a se cunoaste valorile proprii asociate. Existasi aici metode corespondente pentru metodele puterii si puterii inverse de calculiterativ al unui vector propriu generalizat pe care le propunem spre elaborare citi-torului (v. exercitiul 6.6). Pentru asigurarea eficientei acestor procese iterative esteesentiala exploatarea rezultatelor structurale partiale care se face prin reducereacorespunzatoare a dimensiunii problemei. Baza teoretica a acestor reduceri estedata de propozitia 6.2.

Pentru k = 1 propozitia 6.2 se particularizeaza ıntr-un corespondent ”genera-lizat” al lemei de deflatie unitara 4.2. Aplicarea consecventa a acesteia ne conduce laurmatorul rezultat important a carui demonstratie, fiind similara cu demonstratiateoremei 4.12, este lasata ın sarcina cititorului.

Teorema 6.1 (Forma Schur generalizata) Oricare ar fi perechea (A,B) ∈ ICn×n××ICn×n exista matricele unitare Q,Z ∈ ICn×n astfel ıncat

QHAZ = S, QHBZ = T, (6.14)

unde matricele S, T sunt superior triunghiulare. Perechile de elemente diagonale(sii, tii) cu tii 6= 0 ale matricelor S si T determina valorile proprii generalizate(finite)

λi =siitii

(6.15)

ale perechii (A,B). Cele n perechi de elemente diagonale pot fi dispuse ın oriceordine predeterminata.

Perechea (S, T ) se numeste forma Schur generalizata (FSG) a perechii (A,B),iar coloanele qi, respectiv zi, ale matricelor de transformare Q si Z se numescvectori Schur generalizati ai perechii (A,B) la stanga, respectiv la dreapta, asociatiFSG (S, T ).

Daca matricea B este nesingulara, atunci si T este nesingulara, i.e. tii 6= 0pentru toti i ∈ 1 :n. Daca B este singulara, perechilor (sii, tii) cu sii 6= 0 si tii = 0le corespund valorile proprii generalizate pe care am convenit sa le consideraminfinite. Justificarea acestei conventii este, acum, evidenta daca avem ın vedere(6.15). Pentru fascicolele regulate, considerate aici, nu este posibil sa avem simultansii = 0 si tii = 0 pentru nici un i.

In practica, pentru a se evita introducerea valorilor infinite, se recomanda de-finirea valorilor proprii generalizate prin intermediul perechilor (sii, tii). In multeaplicatii acestea pot fi utilizate fara a efectua explicit ımpartirea din (6.15).

Fie, acum, S11 = S(1 :k , 1 :k), T11 = T (1 :k , 1 :k) submatricele lider principalede ordinul k ∈ 1 : n ale matricelor superior triunghiulare S si T din (6.14) caredefinesc FSG a perechii (A,B). Daca notam Q1 = Q( : , 1 : k) si Z1 = Z( : , 1 : k),atunci din (6.14) avem

AZ1 = Q1S11, BZ1 = Q1T11.

Fie subspatiul S = ImZ1 ⊂ ICn. Intrucat din relatiile de mai sus rezulta AS ⊂ ImQ1,BS ⊂ ImQ1 avem

V = AS +BS ⊂ ImQ1.

452 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Deci, dimV ≤ k, adica S este un subspatiu de deflatie k-dimensional al perechii(A,B). Cu alte cuvinte, primele k coloane ale matricei de transformare Z, i.e.primii k vectori Schur la dreapta ai perechii (A,B), formeaza o baza ortogonala asubspatiului de deflatie k-dimensional asociat valorilor proprii generalizate definitede perechile (sii, tii), i = 1 : k. In acest mod, prin ordonarea corespunzatoare aelementelor diagonale ale matricelor S si T , se pot construi baze ortogonale pentrusubspatii de deflatie asociate unor grupuri impuse de valori proprii generalizate (vezisectiunea 6.4).

6.2.2 Forma Schur reala generalizata

In cazul ın care matricele A, B sunt reale se obtine un spor important de eficientadaca se utilizeaza ın exclusivitate o aritmetica reala. Corespondentul generalizat alformei Schur reale este introdus prin urmatoarea teorema pe care o prezentam farademonstratie.

Teorema 6.2 (Forma Schur reala generalizata) Oricare ar fi perechea (A,B) ∈∈ IRn×n × IRn×n exista matricele ortogonale Q,Z ∈ IRn×n astfel ıncat

QTAZ = S, QTBZ = T, (6.16)

unde matricea S este ın forma Schur reala iar matricea T este superior triunghiu-lara. Perechile de blocuri diagonale (Sii, Tii), i = 1:p, de dimensiuni 1×1 sau 2×2ale matricelor S si T determina valorile proprii generalizate ale perechii (A,B), maiprecis daca blocul diagonal i al lui S are ordinul ni, atunci

∑pi=1 ni = n si

λ(A,B) = ∪pi=1λ(Sii, Tii). (6.17)

Perechile de blocuri diagonale pot fi dispuse ın orice ordine predeterminata.Perechea (S, T ) se numeste forma Schur reala generalizata (FSRG) a perechii

(A,B), iar coloanele qi, respectiv zi, ale matricelor ortogonale de transformare Qsi Z se numesc vectori Schur generalizati ai perechii (A,B) la stanga, respectiv ladreapta, asociati FSRG.

Conform (6.17), daca dispunem de FSRG a unei perechi (A,B), calculul valorilorproprii generalizate se reduce la rezolvarea ecuatiilor algebrice

det(Sii − λTii) = 0, i = 1:p, (6.18)

de grad cel mult doi.Toate consideratiile facute ın legatura cu FSG au un corespondent transparent

pentru FSRG. De exemplu, daca dimensiunea cumulata a primelor l blocuri diago-nale ale matricei S este k, atunci primele k coloane ale matricei ortogonale de trans-formare Z formeaza o baza ortogonala a unui subspatiu de deflatie k-dimensional(din IRn) al perechii (A,B) asociat ”primelor” k valori proprii generalizate.

Din cele de mai sus rezulta ca problema de calcul a valorilor proprii generalizatese reduce, ın esenta, la obtinerea formei Schur (reale) generalizate. Cum acest lucrunu este posibil, ın cazul general, printr-o secventa finita de operatii elementare,calculul va fi bazat, ın mod necesar, pe trunchierea unui proces infinit, similaralgoritmuluiQR. In forma sa cea mai performanta aceasta procedura este cunoscutasub numele de algoritm QZ si este prezentata ın sectiunea ce urmeaza.

6.2. FORMA SCHUR GENERALIZATA 453

6.2.3 Forma diagonala a fascicolelor hermiticepozitiv definite

In cazul fascicolelor hermitice (ın cazul real, simetrice) vom fi interesati de conditiileın care transformarile de congruenta pot fi utilizate pentru reducerea la forma Schurgeneralizata. Daca o astfel de posibilitate exista, atunci, avand ın vedere ca rezul-tatul este o forma Schur generalizata hermitica, rezulta ca ambele matrice sunt di-agonale. Vom numi aceasta structura forma diagonala generalizata. Aceste conditiisunt prezentate ın teorema urmatoare. Tinand seama de faptul ca rezultatul nueste o generalizare directa a unui rezultat similar din cazul ordinar, prezentam sidemonstratia.

Teorema 6.3 (Forma diagonala generalizata) Fie un fascicol hermitic definit deperechea (A,B) ∈ ICn×n × ICn×n si matricea (hermitica)

C(µ) = µA+ (1− µ)B, µ ∈ IR. (6.19)

Daca exista un scalar µ ∈ [0, 1], astfel ıncat matricea C(µ) este pozitiv semidefinita,i.e. xHC(µ)x ≥ 0, ∀x ∈ IC, si

KerC(µ) = KerA ∩KerB, (6.20)

atunci exista o matrice nesingulara T ∈ ICn×n astfel ıncat perechea congruenta

(F,G) = (THAT, THBT ) (6.21)

are matricele F si G diagonale, i.e. este ın forma diagonala generalizata.In cazul real, toate matricele implicate sunt reale.

Demonstratie. Fie µ ∈ [ 0, 1 ] astfel ıncat matricea C(µ) este pozitiv semidefinitasi este satisfacuta conditia (6.20). Intrucat matricea C(µ) este hermitica si pozitivsemidefinita, forma Schur a lui C(µ) este diagonala cu elementele diagonale realesi nenegative care pot fi ordonate. Altfel spus, exista o matrice unitara U1 ∈ ICn×n

astfel ıncat

UH1 C(µ)U1 =

[D 00 0

]

, D = diag(d1, d2, . . . , dk), di > 0, i = 1 : k. (6.22)

Fie ∆ = D12 = diag(

√d1,√d2, . . . ,

√dk), ∆1 =

[∆ 00 In−k

]

si matricea nesingu-

lara T1 = U1∆−11 . Consideram transformarea de congruenta

(A1, B1) = (TH1 AT1, T

H1 BT1) (6.23)

si matricea

C1(µ) = TH1 C(µ)T1 = ∆−1

1 UH1 C(µ)U1∆

−11 =

[Ik 00 0

]

= µA1+(1−µ)B1. (6.24)

In continuare avem, evident,

KerC(µ) = KerA ∩KerB ⇔ KerC1(µ) = KerA1 ∩KerB1. (6.25)

454 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Cum x ∈ KerC1(µ) implica ın mod necesar x(1 : k) = 0, rezulta ca KerC1(µ) == ImE, unde E = [ ek+1, ek+2, . . . , en ]. Dar KerC1(µ) ⊂ KerA1. Deci A1E = 0, i.e.A1(:, k + 1 : n) = 0, si cum A1 este hermitica, rezulta ca are urmatoarea structura(din exact aceleasi motive aceasta structura o are si matricea B)

A1 =

[A11 00 0

]

, B1 =

[B11 00 0

]

, A11, B11 ∈ ICk×k. (6.26)

Din (6.24) rezultaµA11 + (1− µ)B11 = Ik. (6.27)

Distingem doua situatii:a) Daca µ = 0, atunci B11 = Ik si consideram forma Schur (diagonala)

F11 = QH11A11Q11 = diag(f1, f2, . . . , fk)

a blocului A11. Luand matricea unitara Q = diag(Q11, In−k) si definind matriceade transformare T = T1Q, avem

F = THAT = QHA1Q = diag(F11, 0), G = THBT = QHB1Q = diag(Ik, 0),(6.28)

i.e. forma diagonala generalizata a perechii initiale.b) Daca µ 6= 0, atunci consideram forma Schur (diagonala)

G11 = QH11B11Q11 = diag(g1, g2, . . . , gk)

a blocului B11. Luand din nou matricea unitara Q = diag(Q11, In−k) si definindmatricea de transformare T = T1Q, avem

F = THAT =1

µTH(C(µ)− (1− µ)B)T =

=1

µ

([Ik 00 0

]

− (1 − µ)[G11 00 0

])

=

= diag(f1, f2, . . . , fk, 0, . . . , 0),

G = THBT = QHB1Q = diag(g1, g2, . . . , gk, 0, . . . , 0),

(6.29)

unde

fi =1

µ− 1− µ

µgi.

Am obtinut si ın acest caz forma diagonala generalizata a perechii initiale.In cazul real demonstratia este identica, cu mentiunea ca toate matricele care

apar sunt reale. Teorema este demonstrata. 3

In aplicatii, de cele mai multe ori, apar fascicole hermitice (simetrice) de semndefinit. Evident, ıntr-un astfel de caz, conditiile teoremei de mai sus sunt ındeplinite:daca B este pozitiv definita, atunci pentru µ = 0, iar daca A este pozitiv definita,atunci pentru µ = 1. Deci fascicolele hermitice pozitiv definite sunt ıntotdeaunageneralizat diagonalizabile.

6.3. ALGORITMUL QZ 455

6.3 Algoritmul QZ

Algoritmul QZ, elaborat de C.B. Moler si G.W. Stewart ın anul 1973 [ 44 ], este, ınesenta, o procedura de deflatie iterativa care construieste (recurent) un sir de perechide matrice unitar echivalente cu perechea initiala, sir care, ın conditii precizate, esteconvergent catre forma Schur generalizata. In cazul real se poate impune exclusiv oaritmetica reala pe baza unei strategii a pasilor dubli. In aceasta situatie termeniisirului sunt perechi ortogonal echivalente, iar limita sa este o forma Schur realageneralizata a perechii initiale.

Algoritmul QZ este organizat, ca si algoritmul QR, ın doua faze:a) Faza a I-a, de reducere, prin calcul direct, a perechii (A,B) initiale la o

pereche unitar echivalenta (H,T ) avand matricea H ın forma superior Hessenbergsi matricea T ın forma superior triunghiulara, structura cea mai apropiata de FSG cepoate fi obtinuta printr-un calcul finit. Vom numi perechea (H,T ) forma Hessenberggeneralizata a lui (A,B).

b) Faza a II-a, de deflatie iterativa, prin care elementele subdiagonale alematricei superior Hessenberg H sunt anulate asimptotic (simultan cu conservareastructurii superior triunghiulare a matricei T ), utilizand transformari unitare deechivalenta.

Intr-o caracterizare sintetica, algoritmul QZ aplicat perechii (A,B) (cu B nesin-gulara) poate fi considerat drept o varianta ”mascata” a algoritmului QR aplicatmatricei AB−1 si de aici rezulta remarcabilele sale performante numerice si deconvergenta.

6.3.1 Reducerea la forma Hessenberg generalizata

Corespondentul generalizat al teoremei 4.8 are urmatoarea formulare.

Teorema 6.4 Oricare ar fi perechea (A,B) ∈ ICn×n× ICn×n, ce defineste un fascicolregulat, exista matricele unitare Q,Z ∈ ICn×n, calculabile printr-o secventa finita deoperatii aritmetice, astfel ıncat perechea

(H,T ) = (QHAZ,QHBZ) (6.30)

are matricea H superior Hessenberg si matricea T superior triunghiulara. Dacamatricele A, B sunt reale, atunci si matricele H si T sunt reale, iar matricele detransformare Q si Z sunt ortogonale.

Demonstratie. Vom da o demonstratie constructiva explicita ın vederea elaborariiunui algoritm performant. In primul rand, exista o matrice unitara Q ∈ ICn×n astfelıncat matricea B ← T = QHB este superior triunghiulara (vezi capitolul 3), i.e.perechea unitar echivalenta

(A,B)← (A, T ) = (QHAZ,QHBZ),

cu Z = In, are matricea A densa si T superior triunghiulara. In continuare vomaduce matricea A la forma superior Hessenberg pastrand structura superior tri-unghiulara a matricei B. Procedura are n− 2 pasi.

456 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Pasul 1◦. In cadrul pasului initial vom anula elementele A(3 : n, 1) din primacoloana a matricei A, ın ordinea n :−1 :3, prin transformari unitare de echivalentadefinite de doua secvente de rotatii (complexe) conform schemei de calcul

HT- 1 1. Pentru i = n :−1:31. Se determina rotatia Q

(1)i−1,i astfel ıncat ((Q

(1)i−1,i)

HA)(i, 1) = 0

2. A← (Q(1)i−1,i)

HA

3. B ← (Q(1)i−1,i)

HB % Se altereaza zeroul din pozitia (i, i− 1) a

matricei superior triunghiulare B

4. Q← QQ(1)i−1,i

5. Se determina rotatia Z(1)i−1,i astfel ıncat (BZ

(1)i−1,i)(i, i− 1) = 0

6. A← AZ(1)i−1,i

7. B ← BZ(1)i−1,i

8. Z ← ZZ(1)i−1,i

Intrucat premultiplicarea unei matrice cu o rotatie din planul (i−1, i) afecteaza nu-mai liniile i−1 si i, executia instructiunii 1.3 are ca efect o posibila alterare 8 a struc-turii superior triunghiulare a matricei B prin alterarea zeroului din pozitia (i, i−1).Refacerea structurii superior triunghiulare a lui B se realizeaza la instructiunea 1.6prin postmultiplicarea matricei B cu o rotatie calculata corespunzator la instruc-tiunea 1.5. Postmultiplicarea cu o rotatie plana din planul (i−1, i), afectand numaicoloanele i−1 si i, nu are nici un efect (ıntrucat i > 2) asupra zerourilor create ınprima coloana a matricei A 9. In acest fel, pe masura crearii zerourilor din primacoloana a lui A, elementul alterant al structurii superior triunghiulare a lui B sedeplaseaza pe o traiectorie subdiagonala ascendenta pana la parasirea matricei dinpozitia (3, 2) dupa cum se poate vedea si din urmatoarea exemplificare pentru n = 4.In diagramele structurale de mai jos zeroul nou creat a fost marcat cu ∅, elementulalterant cu +, iar ıncadrarile indica liniile si coloanele afectate la pasul respectiv.

(A,B) = (

× × × ×× × × ×× × × ×× × × ×

,

× × × ×0 × × ×0 0 × ×0 0 0 ×

),

(A,B)← ((Q(1)34 )

HA, (Q

(1)34 )

HB) = (

× × × ×× × × ×× × × ×∅ × × ×

,

× × × ×0 × × ×0 0 × ×0 0 + ×

),

8 Alterarea are efectiv loc daca elementul diagonal (i−1, i−1) al matricei curente B este nenul,care este cazul obisnuit.

9 De observat ca ıncercarea de anulare a elementului (2, 1) a lui A este sortita esecului ıntrucat

postmultiplicarea cu rotatia Z(1)1,2 poate altera toate zerourile create ın prima coloana.

6.3. ALGORITMUL QZ 457

(A,B)← (AZ(1)34 , BZ

(1)34 ) = (

× ×× ×× ×0 ×

× ×× ×× ×× ×

,

× ×0 ×0 00 0

× ×× ×× ×∅ ×

),

(A,B)← ((Q(1)23 )

HA, (Q

(1)23 )

HB) = (

× × × ×× × × ×∅ × × ×0 × × ×

,

× × × ×0 × × ×0 + × ×0 0 0 ×

),

(A,B)← (AZ(1)23 , BZ

(1)23 ) = (

××00

× ×× ×× ×× ×

××××

,

×000

× ×× ×∅ ×0 0

××××

).

Cumuland transformarile din acest exemplu se obtine

(A,B)← ((Q(1)23 )

H(Q

(1)34 )

HAZ

(1)34 Z

(1)23 , (Q

(1)23 )

H(Q

(1)34 )

HBZ

(1)34 Z

(1)23 )

def=

def= ((Q(1))

HAZ(1), (Q(1))

HBZ(1)).

Prin urmare, schema de calcul de mai sus produce matricele

A← A(1) = (Q(1)23 )

H· · · (Q(1)

n−2,n−1)H(Q

(1)n−1,n)

HAZ

(1)n−1,nZ

(1)n−2,n−1 · · ·Z

(1)23

def=

def= (Q(1))

HAZ(1), (6.31)

B ← B(1) = (Q(1)23 )

H· · · (Q(1)

n−2,n−1)H(Q

(1)n−1,n)

HBZ

(1)n−1,nZ

(1)n−2,n−1 · · ·Z

(1)23

def=

def= (Q(1))

HBZ(1), (6.32)

cu A(1)(3 : n, 1) = 0 si B(1) superior triunghiulara, realizandu-se astfel obiectivulpasului 1. Evident, matricele unitare de transformare

Q(1) def= Q

(1)n−1,nQ

(1)n−2,n−1 · · ·Q

(1)23 , Z(1) def

= Z(1)n−1,nZ

(1)n−2,n−1 · · ·Z

(1)23 (6.33)

cumuleaza cele doua secvente de rotatii utilizate la pasul 1.Pasul k◦. Presupunem ca ın cadrul primilor k − 1 pasi am obtinut o pereche

(A(k−1), B(k−1)) – ce suprascrie (A,B) – cu A(k−1) avand o structura superiorHessenberg ın primele k − 1 coloane si B(k−1) superior triunghiulara:

A← A(k−1) def= (Q(k−1))

H · · · (Q(2))H(Q(1))

HAZ(1)Z(2) · · ·Z(k−1), (6.34)

B ← B(k−1) def= (Q(k−1))

H · · · (Q(2))H(Q(1))

HBZ(1)Z(2) · · ·Z(k−1). (6.35)

Este usor de vazut ca adaptand schema de calcul de la pasul 1, i.e. efectuand

458 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

HT- k 1. Pentru i = n :−1:k + 2

1. Se determina rotatia Q(k)i−1,i astfel ıncat ((Q

(k)i−1,i)

HA)(i, k) = 0

2. A← (Q(k)i−1,i)

HA

3. B ← (Q(k)i−1,i)

HB % Se altereaza zeroul din pozitia (i, i− 1)

a matricei superior triunghiulare B

4. Q← QQ(k)i−1,i

5. Se determina rotatia Z(k)i−1,i astfel ıncat (BZ

(k)i−1,i)(i, i− 1) = 0

6. A← AZ(k)i−1,i

7. B ← BZ(k)i−1,i

8. Z ← ZZ(k)i−1,i

se obtin matricele

A←A(k)=(Q(k)k+1,k+2)

H· · ·(Q(k)

n−2,n−1)H(Q

(k)n−1,n)

HA(k−1)Z

(k)n−1,nZ

(k)n−2,n−1· · ·Z

(k)k+1,k+2

def= (Q(k))

HA(k−1)Z(k) (6.36)

si

B←B(k)=(Q(k)k+1,k+2)

H· · ·(Q(k)

n−2,n−1)H(Q

(k)n−1,n)

HB(k−1)Z

(k)n−1,nZ

(k)n−2,n−1· · ·Z

(k)k+1,k+2

def= (Q(k))

HB(k−1)Z(k) (6.37)

cu A(k)(k+2 : n, k) = 0, cu structura primelor k−1 coloane ale matricei A(k−1)

ramasa nealterata si cu B(k) superior triunghiulara, realizandu-se astfel obiectivulpasului k. Evident, matricele unitare de transformare

Q(k) def= Q

(k)n−1,nQ

(k)n−2,n−1 · · ·Q

(k)k+1,k+2, Z(k) def

= Z(k)n−1,nZ

(k)n−2,n−1 · · ·Z

(k)k+1,k+2

(6.38)cumuleaza cele doua secvente de rotatii utilizate la pasul k.

In concluzie, pasul 1 de mai sus permite initierea procedurii de reducere aperechii (A,B) la forma Hessenberg generalizata, iar pasul k arata ca aceasta redu-cere poate fi continuata. Dupa n−2 pasi se obtine rezultatul dorit, i.e.

A← H = (Q(n−2))H · · · (Q(2))

H(Q(1))

HAZ(1)Z(2) · · ·Z(n−2) def

= QHAZ, (6.39)

B ← T = (Q(n−2))H · · · (Q(2))

H(Q(1))

HBZ(1)Z(2) · · ·Z(n−2) def

= QHBZ (6.40)

cu H superior Hessenberg si T superior triunghiulara, i.e. cu perechea (H,T ) ınforma Hessenberrg generalizata. Evident, matricele unitare de transformare

Qdef= Q(1)Q(2) · · ·Q(n−2), Z

def= Z(1)Z(2) · · ·Z(n−2) (6.41)

cumuleaza toate transformarile efectuate.

6.3. ALGORITMUL QZ 459

In cazul real toate rotatiile sunt reale si, aplicate unor matrice initiale reale, con-duc la o pereche rezultat reala. De asemenea, matricele de transformare cumulatesunt reale ca produse de matrice reale.

Caracterul finit al calculului este evident. Demonstratia este completa. 3

Demonstratia teoremei de mai sus conduce imediat la urmatoarea structura aalgoritmului de reducere a unei perechi (A,B) la forma Hessenberg generalizata.

HT 1. Se calculeaza triangularizarea unitara a matricei B, i.e. matricea unitaraQ si B ← QHB astfel ıncat noul B este superior triunghiular

2. A← QHA3. Pentru k = 1 : n−2

1. Se executa procedura HT- k

Pentru scrierea formala a algoritmului vom utiliza o procedura de triangularizareunitara a unei matrice complexe utilizand reflectori hermitici, prezentata ın capitolul3. Pentru scopurile noastre, sintaxa de apel a acestei proceduri va fi 10

[B,U, b ] = TUN(B),

i.e. procedura suprascrie matricea argument B cu rezultatul triangularizarii silivreaza, ın matricea U ∈ ICn×(n−1) si vectorul b ∈ IRn−1, elementele definitorii

ale reflectorilor complecsi hermitici Uk = In −1

b(k)U(:, k)(U(:, k))H utilizati. (Pre-

cizam ca U(1 : k−1, k) = 0, k = 2 : n−1.) De asemenea, vom folosi procedurile dintabelul 4.3 (vezi capitolul 4), la care vom adauga o procedura suplimentara necesarapentru procesarile legate de anularea elementelor alterante ale structurii superiortriunghiulare a matricei B si anume procedura Gcm pentru calculul unei rotatii

complexe bidimensionale Z12 =

[c s−s c

]

”modificate” care aplicata pe dreapta

unui vector linie a ∈ IC1×2 anuleaza primul element al lui a. Vom numi aceastatransformare rotatie (complexa) ”modificata”. Este simplu de vazut ca elementeledefinitorii ale acestei rotatii sunt

c =

1, daca a1 = 0,0, daca a1 6= 0, a2 = 0,

|a2|r, daca a1 6= 0, a2 6= 0,

s =

0, daca a1 = 0,1, daca a1 6= 0, a2 = 0,

a1a2|a2|r

, daca a1 6= 0, a2 6= 0.

(6.42)

unde r =

|a1|2 + |a2|2. Calculul elementelor definitorii pentru rotatia de mai susva fi ınsotit de calculul a ← d = aZ12, astfel ıncat sintaxa propusa pentru aceastaprocedura este

[ d, c, s ] = Gcm(a)

10Corespondentul real este procedura de triangularizare ortogonala pe care, ın consens, o vomnumi TOR. Atragem atentia ca, din dorinta de a asigura o claritate maxima, aici s-au facutunele rabaturi la eficienta, cum ar fi memorarea vectorilor Householder ıntr-o matrice distincta.De aceea, sintaxa si denumirile generice folosite difera de cele din capitolul 3. Implementarile deperformanta maxima vor trebui sa respecte ınsa toate recomandarile explicit formulate ın capitolul3.

460 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

suprascrierea (interna a) lui a realizandu-se cu apelul [ a, c, s ] = Gcm(a). Cu acesteprecizari obtinem urmatorul algoritm.

Algoritmul 6.1 (HTQZc – Reducerea la forma Hessenberg genera-lizata) (Data o pereche (A,B) ∈ ICn×n × ICn×n, precum si matriceleunitare Q,Z ∈ ICn×n, algoritmul calculeaza perechea unitar echivalenta(A,B) ← (H,T ) = (QHAZ, QHBZ) avand forma superior Hessenberggeneralizata. Optional se acumuleaza matricele unitare de transformareQ← QQ, Z ← ZZ. Optiunea se exprima prin intermediul unei variabilelogice opt de tipul sir de caractere ce poate lua valorile ′da′ sau ′nu′. Dacaopt = ′nu′, algoritmul returneaza matricele Q si Z nemodificate.)

1. [B,U, b ] = TUN(B)

2. Pentru k = 1 : n−11. A(k : n, :) = Hcs(U(k : n, k), b(k), A(k : n, :))

3. Daca opt = ′da′ atunci

1. Pentru k = n−1 : −1 : 1

1. Q(:, k : n) = Hcd(Q(:, k : n), U(k : n, k), b(k))

4. Pentru k = 1 : n−21. Pentru i = n : −1 : k+2

1. [A(i−1 : i, k), c, s ] = Gc(A(i−1 : i, k))

2. A(i−1 : i, k+1 : n) = Gcs(c, s, A(i−1 : i, k+1 : n))

3. B(i−1 : i, i−1 : n) = Gcs(c, s, B(i−1 : i, i−1 : n))

4. Daca opt = ′da′ atunciQ( : , i−1 : i) = Gcd(Q( : , i−1 : i), c, s)

5. [B(i, i−1 : i), c, s ] = Gcm(B(i, i−1 : i))

6. A( : , i−1 : i) = Gcd(A( : , i−1 : i), c, s)

7. B(1 : i−1, i−1 : i) = Gcd(B(1 : i−1, i−1 : i), c, s)8. Daca opt = ′da′ atunciZ( : , i−1 : i) = Gcd(Z( : , i−1 : i), c, s)

Comentarii. In acest capitol, pentru apelul algoritmului HTQZc va fi utilizatasintaxa

[H,T,Q, Z ] = HTQZc(A,B,Q,Z, opt).

Similar cu cele prezentate la calculul valorilor proprii ordinare din capitolul 4, acu-mularea transformarilor se face ıntotdeauna prin ınmultirea la dreapta cu matriceade transformare curenta, i.e. utilizand procedurile Hcd sau Gcd. Totusi, dacainitial Q este matricea unitate (e.g. ın situatiile ın care perechea (A,B) nu provinedin prelucrari anterioare), atunci se obtine un spor important de eficienta dacainstructiunea 3 se ınlocuieste cu instrutiunea

3. Daca opt = ′da′ atunci

1. Pentru k = n−1 : −1 : 1

1. Q(k : n, k : n) = Hcs(U(k : n, k), b(k), Q(k : n, k : n))

6.3. ALGORITMUL QZ 461

i.e. acumularea relectorilor se face ın ordine inversa, realizand o ”umplere progre-siva” a matricei Q (vezi si comentariile la algoritmul HQc din capitolul 4).

In cazul real, atat matricele rezultat (A,B) ← (H,T ) = (QTAZ,QTBZ) cat simatricele de transformare Q, Z vor fi reale. Aceasta particularizare este imediataprin ınlocuirea procedurilor de transformare complexe utilizate cu corespondentelelor reale. Ca sa marcam diferenta, sintaxa de apel va fi

[H,T,Q, Z ] = HTQZr(A,B,Q,Z, opt).

Complexitatea algoritmului este O(n3), executia sa implicand, ın cazul real,Nop ≈ 8n3 operatii ın format virgula mobila. Acumularea matricelor de transfor-

mare necesita N′

op ≈ 4n3 operatii suplimentare pentru Q si N′

op ≈ 3n3 operatiisuplimentare pentru Z.

Algoritmul HTQZ este numeric stabil, i.e. forma Hessenberg generalizata cal-culata ıntr-o aritmetica ın virgula mobila este o pereche exact unitar (ortogonal)echivalenta cu o pereche usor perturbata (A+E,B+F ), unde matricele de pertur-bare E si F satisfac conditiile ‖E‖ ≤ p(n)εM‖A‖ si ‖F‖ ≤ p(n)εM‖B‖ cu p(n) ofunctie cu o crestere ”modesta” de dimensunea n a problemei (v. si § 6.5, § 6.6). 3

6.3.2 Evidentierea valorilor proprii generalizate infinite

Fie perechea (H,T ) ∈ ICn×n× ICn×n ın forma Hessenberg generalizata, obtinuta e.g.cu algoritmul HTQZc, care defineste un fascicol regulat. Daca T este singulara,i.e. T are (cel putin) un element diagonal nul, atunci perechea (H,T ) are (celputin) o valoare proprie generalizata infinita. Intr-un astfel de caz, valorile propriigeneralizate infinite pot fi evidentiate folosind o secventa finita de transformari deechivalenta unitare (ın cazul real, ortogonale), simultan cu conservarea formei Hes-senberg generalizate. Concret, exista matricele unitare Q si Z astfel ıncat matriceleperechii (H,T )← (H, T ) = (QHHZ, QHT Z) au structura

H =

[H11 H12

0 H22

]

, T =

[T11 T120 T22

]

, (6.43)

cu perechea (H11, T11) ın forma superior Hessenberg generalizata avand T11 nesin-gulara, H22 superior triunghiulara nesingulara si T22 strict superior triunghiulara,i.e. cu toate elementele diagonale nule (toate submatricele de aceiasi indici auaceleasi dimensiuni). Evident, valorile proprii generalizate ale perechii (H11, T11)sunt valorile proprii generalizate finite ale perechii initiale, ın timp ce valorile pro-prii generalizate ale perechii (H22, T22) sunt valorile proprii generalizate infinite aleacesteia.

Detaliile de constructie a structurii (6.43) sunt urmatoarele.Presupunem mai ıntai ca matricea T are un singur element diagonal nul. Acesta

poate fi ”deplasat” ın pozitia (n, n), simultan cu conservarea formei Hessenberggeneralizate a perechii (H,T ) si cu anularea elementului (n, n−1) al matricei H ,prin aplicarea unei transformari unitare de echivalenta sub forma unei secvente derotatii. Concret, daca tkk = 0, k ∈ 2 : n−1 11, este zeroul urmarit, atunci scopuleste atins executand schema de calcul

11 Daca zeroul se afla deja ın ultima pozitie diagonala se executa numai instructiunea 2 din

462 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

DZ - k, n

% Deplasarea zeroului diagonal al matricei T din pozitia (k, k) ın pozitia (n, n)1. Daca k < n

1. Pentru i = k+1 : n

1. Se determina rotatia Q(kn)i−1,i astfel ıncat ((Q

(kn)i−1,i)

HT )(i, i) = 0

2. H ← (Q(kn)i−1,i)

HH % Se altereaza zeroul din pozitia (i, i−2) a lui H

3. T ← (Q(kn)i−1,i)

HT

4. Se determina rotatia Z(kn)i−2,i−1 astfel ıncat (HZ

(kn)i−2,i−1)(i, i−2) = 0

5. H ← HZ(kn)i−2,i−1

6. T ← TZ(k)i−2,i−1

2. % Ultima rotatie:

1. Se determina rotatia Z(kn)n−1,n astfel ıncat (HZ

(kn)n−1,n)(n−1, n) = 0

2. H ← HZ(kn)n−1,n

3. T ← TZ(kn)n−1,n

Aceasta schema se completeaza corespunzator cu eventuala actualizare a ma-tricelor de transformare. Pentru a dezvalui mai clar mecanismul schemei de calculde mai sus consideram un exemplu cu n = 4 si k = 2. In diagramele structurale demai jos am marcat cu ∅ anularile curente de elemente si cu + alterarile temporarede zerouri. Incadrarile marcheaza liniile si coloanele afectate ın etapa respectiva.

(H,T ) = (

× × × ×× × × ×0 × × ×0 0 × ×

,

× × × ×0 0 × ×0 0 × ×0 0 0 ×

),

(H,T )←((Q(24)23 )

HH, (Q

(24)23 )

HT ) = (

× × × ×× × × ×+ × × ×0 0 × ×

,

× × × ×0 0 × ×0 0 ∅ ×0 0 0 ×

),

(H,T )← (HZ(24)12 , TZ

(24)12 ) = (

× ×× ×∅ ×0 0

× ×× ×× ×× ×

,

× ×0 00 00 0

× ×× ×0 ×0 ×

),

schema de calcul DZ - k, n pentru anularea elementului H(n − 1, n). Daca zeroul se afla ın

pozitia (1, 1) deplasarea sa ın pozitia (n, n) are un ınceput atipic a carui prezentare ar fi complicatschema de calcul. Cititorul interesat poate desprinde acest caz din algoritmul 6.2, prezentat maideparte.

6.3. ALGORITMUL QZ 463

(H,T )←((Q(24)34 )

HH, (Q

(24)34 )

HT ) = (

× × × ×× × × ×0 × × ×0 + × ×

,

× × × ×0 0 × ×0 0 0 ×0 0 0 ∅

),

(H,T )← (HZ(24)23 , TZ

(24)23 ) = (

××00

× ×× ×× ×∅ ×

××××

,

×000

× ×+ ×0 00 0

×××0

)

(H,T )← (HZ(24)34 , TZ

(24)34 ) = (

× ×× ×0 ×0 0

× ×× ×× ×∅ ×

,

× ×0 ×0 00 0

× ×× ×+ ×0 0

).

Prin urmare, ın exemplul considerat, deplasarea zeroului din pozitia (2, 2) ın pozitia(4, 4) a matricei T se realizeaza cu secventa

(H,T )← ((Q(24)34 )

H(Q

(24)23 )

HHZ

(24)12 Z

(24)23 Z

(24)34 , (Q

(24)34 )

H(Q

(24)23 )

HTZ

(24)12 Z

(24)23 Z

(24)34 )

def= ((Q(24))

HHZ(24), (Q(24))

HTZ(24)).

In cazul general, deplasarea unui zero din pozitia (k, k), k ∈ 2 :n−1, ın pozitia(n, n) se face cu secventa

H ← (Q(kn)n−1,n)

H· · · (Q(kn)

k+1,k+2)H(Q

(kn)k,k+1)

HHZ

(kn)k−1,kZ

(kn)k,k+1 · · ·Z

(kn)n−2,n−1Z

(kn)n−1,n

def= (Q(kn))

HHZ(kn), (6.44)

T ← (Q(kn)n−1,n)

H· · · (Q(kn)

k+1,k+2)H(Q

(kn)k,k+1)

HTZ

(kn)k−1,kZ

(kn)k,k+1 · · ·Z

(kn)n−2,n−1Z

(kn)n−1,n

def= (Q(kn))

HTZ(kn). (6.45)

Daca matricea superior triunghiulara T are un singur zero diagonal, atunci dupadeplasarea sa pe ultima pozitie diagonala 12 perechea (H,T ) transformata va aveastructura

H =

[

H h0 hnn

]

, T =

[

T t0 0

]

, (6.46)

cu perechea (H, T ) ın forma Hessenberg generalizata si cu T nesingulara. Fascicolulinitial este regulat daca si numai daca ın (6.46) hnn 6= 0. In acest caz procedura apus ın evidenta o valoare proprie generalizata infinita.

12 Vezi nota de picior precedenta.

464 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Daca matricea T are mai multe zerouri diagonale, acestea pot fi deplasate suc-cesiv ın coltul din dreapta jos al lui T prin aplicarea repetata a schemei de cal-cul DZ - k, n adaptate la necesitatile curente ın forma DZ - i, j . Procedura este

urmatoarea 13.

DZ % Deplasarea zerourilor diagonale ale matricei T ın coltul din dreapta jos1. i = n, j = n2. Cat timp i > 0

1. Daca T (i, i) = 0 atunci

1. Executa DZ - i, j

2. j ← j − 13. i← j − 1

altfel

1. i← i− 1

Dupa executia procedurii de mai sus perechea (H,T ) transformata va avea struc-tura (6.43). Fascicolul initial este regulat daca si numai daca H22 este nesingulara.Intr-un astfel de caz, numarul valorilor proprii generalizate infinite este dat de or-dinul blocurilor H22 si T22.

Prezentam algoritmul care implementeaza schema de calcul DZ .

Algoritmul 6.2 (DZc – Deplasarea zerourilor diagonale.)(Date o pereche (H,T ) ∈ ICn×n × ICn×n ın forma Hessenberg generali-zata si matricele unitare Q,Z ∈ ICn×n, algoritmul suprascrie perechea(H,T ) cu o pereche echivalenta, tot ın forma Hessenberg generalizata,dar avand toate zerourile diagonale ale matricei T situate ın coltul dindreapta jos. Optional, se actualizeaza matricele unitare de transformareQ,Z ∈ ICn×n. Optiunea se exprima prin intermediul unei variabile logi-ce opt de tipul sir de caractere ce poate lua valorile ′da′ sau ′nu′. Dacaopt = ′nu′, algoritmul returneaza matricele Q si Z nemodificate.)

1. i = n, j = n

2. Cat timp i > 0

1. Daca T (i, i) = 0 atunci

1. Daca i < j atunci

1. Pentru l = i+1 : j

1. [T (l−1: l, l), c, s ] = Gc(T (l−1: l, l))2. k = max(l−2, 1)3. H(l−1: l, k :n) = Gcs(c, s,H(l−1: l, k :n))4. Daca l < n atunci

T (l−1: l, l+1 : n) = Gcs(c, s, T (l−1: l, l+1:n))

13 Dupa deplasarea unui zero diagonal ın ultima pozitie diagonala curenta este posibil ca struc-tura zerourilor diagonale ”ınca nedeplasate” sa se modifice, e.g. numarul lor sa scada. De aceeeadupa deplasarea tuturor zerourilor diagonale ın coltul din dreapta jos este posibil ca numarul lorsa fie diferit de numarul initial al zerourilor diagonale ale matricei T . De asemenea, asa cum s-aprecizat, pentru aspectele specifice ale tratarii zerourilor din pozitiile diagonale terminale, cititoruleste invitat sa consulte algoritmul formal.

6.3. ALGORITMUL QZ 465

5. Daca opt = ′da′ atunciQ( : , l−1: l) = Gcd(Q( : , l−1: l), c, s)

6. [H(l, k :k+1), c, s ] = Gcm(H(l, k :k+1))7. H(1 : l−1, k :k+1) = Gcd(H(1 : l−1, k :k+1), c, s)8. Daca l = 2 atunci

H(3, k :k+1) = Gcd(H(3, k :k+1), c, s)9. T (1 : l−1, k :k+1) = Gcd(T (1 : l−1, k :k+1), c, s)10. Daca opt = ′da′ atunci

Z( : , k :k+1) = Gcd(Z( : , k :k+1), c, s)

2. Daca j > 1 atunci

1. % Ultima rotatie din secventa curenta:

1. (H(j, j−1:j), c, s) = Gcm(H(j, j−1:j))2. H(1 :j−1, j−1:j) = Gcd(H(1 :j−1, j−1:j), c, s)3. T (1 :j−1, j−1:j) = Gcd(T (1 :j−1, j−1:j), c, s)4. Daca opt = ′da′ atunci

Z( : , j−1:j) = Gcd(Z( : , j−1:j), c, s)3. j ← j − 1

4. i← j

altfel

1. i← i− 1

Comentarii. Sintaxa cu care algoritmul de mai sus va fi apelat este

[H,T,Q, Z ] = DZc(H,T,Q, Z, opt ).

Complexitatea algoritmului este cel mult O(n3), numarul efectiv de operatii fiinddecisiv influentat de numarul si dispunerea zerourilor diagonale ale matricei T .Utilizand exclusiv transformari unitare (ortogonale), algoritmul DZc este numericstabil.

In cazul real se utilizeaza exact aceleasi secvente de rotatii, de data aceastareale, ceea ce are ca efect obtinerea ca rezultat a unei perechi transformate reale,iar efortul de calcul este sensibil diminuat. Pentru a distinge cazul real vom utilizasintaxa

[H,T,Q, Z ] = DZr(H,T,Q, Z, opt ).

Formal, varianta reala a algoritmului se obtine ınlocuind ın numele procedurilorutilizate sigla c cu sigla r. 3

6.3.3 Faza iterativa a algoritmului QZ

Etapa iterativa a algoritmului QZ construieste un sir de perechi de matrice unitar(ortogonal) echivalente convergent catre forma Schur (reala) generalizata. In esenta,ın cazul ın care matricea B este nesingulara, iteratiile QZ reprezinta o implementarespecifica a iteratiilor QR pentru matricea C = AB−1. Concret, perechea curenta(Ak, Bk) a sirului QZ este astfel calculata ıncat matricea Ck = AkB

−1k sa fie ma-

tricea curenta a sirului QR pentru matricea C. Asa cum s-a mai precizat, eficienta

466 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

fazei iterative a algoritmului QZ este determinant asigurata de reducerea prelimi-nara a perechii (A,B) la forma Hessenberg generalizata folosind algoritmii HTQZcsau HTQZr si de conservarea acestei structuri de iteratiile QZ. Pentru a sublinia ınmod imperativ acest lucru, ın continuare vom presupune aceasta reducere efectuatasi vom folosi notatia generica (H,T ) pentru perechea curenta, desi, natural, orice im-plementare ıngrijita utilizeaza suprascrierea perechii (A,B) initiale. De asemenea,pentru situatiile ın care matricea B (i.e. T ) este singulara vom presupune efectuatasi evidentierea valorilor proprii generalizate infinite cu ajutorul algoritmului DZcsau DZr.

Nu vom mai dezvolta aici variantele cu deplasare explicita ci ne vom limita lavariantele profesionale cu deplasare implicita cu pas simplu pentru cazul datelorcomplexe, respectiv cu pas dublu pentru cazul datelor reale.

Fie data perechea (H,T ) ∈ ICn×n × ICn×n ın forma Hessenberg generalizata sipresupunem ca matricea T este nesingulara. Avand ın vedere observatia de mai sus,privitoare la substratul conceptual al iteratiilor QZ, pentru implementarea unui pasQR cu deplasare implicita pentru matriceaG = HT−1 avem nevoie, pentru a utilizateorema 4.15, ca matricea superior Hessenberg G sa fie ireductibila (i.e. cu toateelementele subdiagonale nenule). Este usor de vazut (v. exercitiul 6.8) ca aceastaconditie este ındeplinita daca si numai daca H este ireductibila. In acest context,vom spune ca perechea (H,T ) se afla ın forma Hessenberg generalizata ireductibiladaca H este ireductibila si T este nesingulara.

Pentru a evidentia ”partile” ireductibile 14 ale perechii (H,T ) vom partitionamatriceleH si T ın acord cu zerourile subdiagonale ale matricei superior HessenbergH . Astfel, daca H are un singur zero subdiagonal ın pozitia (k + 1, k), atunciconsiderand partitia

H =

[H11 H12

0 H22

]

, T =

[T11 T120 T22

]

, (6.47)

avem perechile (H11, T11) ∈ ICk×k× ICk×k si (H22, T22) ∈ IC(n−k)×(n−k)× IC(n−k)×(n−k)

ın forma Hessenberg generalizata ireductibila carora li se pot aplica iteratiile QZ ınvarianta cu deplasare implicita. Cum, evident,

λ(H,T ) = λ(H11, T11) ∪ λ(H22, T22) (6.48)

rezulta ca problema initiala a calculului valorilor proprii generalizate se reduce larezolvarea a doua probleme de aceeasi natura, dar de dimensiuni mai mici. Analogse procedeaza cand matricea H are mai multe zerouri subdiagonale. Gestionareaacestor zerouri si aplicarea tehnicii iterative cu deplasare implicita numai partilorireductibile va fi prezentata ın cadrul formei finale a algoritmului QZ.

In cadrul acestui paragraf vom considera data perechea (H,T ), cu T nesingulara,ın forma Hessenberg generalizata ireductibila si vom stabili algoritmul de calcul alperechii succesor al perechii curente din sirulQZ. Vom trata distinct situatia datelorcomplexe si a celor reale.

Reamintim ca ideea de baza a iteratiei QZ consta ıntr-o implementare specificaa iteratiei QR cu deplasare implicita pentru matricea G = HT−1 si anume ın

14 Cazul real se trateaza identic.

6.3. ALGORITMUL QZ 467

constructia sirului de perechi (Hk, Tk) astfel ıncat matricea Gk = HkT−1k sa fie

matricea corespunzatoare a sirului QR pentru matricea G. Principalul avantajde natura numerica al acestei abordari consta ın evitarea inversarii matricei Tk sieliminarea, datorita acestui fapt, a unei posibile instabilitati numerice cauzate de oconditionare necorespunzatoare a lui Tk.

Precizam de la ınceput doua consecinte ale faptului ca iteratiile QZ reprezinta oforma mascata a iteratiilor QR (pentru a caror motivare recomandam consultareacapitolului 4):

a) conservarea formei Hessenberg generalizate pe parcursul procesului iterativ;b) excelente proprietati de convergenta catre forma Schur (reala) generalizata.

A. Un pas QZ pentru perechi complexe

Conform celor prezentate ın capitolul 4, un pas simplu QR cu deplasare implicitapentru matricea Gk = HkT

−1k realizeaza urmatoarea secventa de calcule.

1. Se calculeaza prima coloana q(k)1 a matriceiQk ce defineste transfor-

marea unitara aferenta unui pas simplu QR cu deplasare explicita.

2. Se determina o matrice unitara P astfel ıncat prima coloana a lui

P sa fie q(k)1 , i.e. Pe1 = q

(k)1 .

3. Se calculeaza matricea F = PHGkP (a carei structura nu mai estesuperior Hessenberg).

4. Se aplica algoritmulHQ de reducere a matricei F la forma superiorHessenberg rezultand matricea succesor Gk+1 = Hk+1T

−1k+1.

Fie, pentru simplificarea notatiilor, (Hk, Tk)not= (H,T ) perechea curenta a sirului

QZ, presupusa ireductibila, (Hk+1, Tk+1)not= (H ′, T ′) perechea succesor precum si

G = HT−1, G′ = H ′(T ′)−1. Urmand etapele din schema de calcul de mai sus vom

transfera transformarile matricei G perechii (H,T ). Avem urmatoarele particula-ritati.

1. Expresia deplasarii curente µ = gnn ın raport cu elementele matricelor H siT este

µ =hn,ntn,n

− hn,n−1tn−1,n

tn−1,n−1tn,n. (6.49)

Daca µ 6∈ λ(G), i.e. G − µIn este nesingulara, atunci prima coloana a matricei

de transformare Qknot= Q este

q1 = Qe1 = ρ

h11t11− µ

h21t110...0

, (6.50)

468 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

unde ρ este un factor real de normare. Vom numi vectorul

w =

h11t11− µ

h21t11

, (6.51)

al elementelor nenule ale vectorului q1/ρ vector de deplasare implicita asociat pasuluisimplu QZ.

2. Matricea unitara P de la instructiunea 2 a schemei de calcul de mai sus este,cel mai simplu, o rotatie (complexa), avand structura

P =

[

P 00 In−2

]

(6.52)

cu P ∈ IC2×2 astfel calculata ıncat

PHw = νe1. (6.53)

3. Este usor de vazut ca aplicarea transformarii de asemanare de la punctul 2al schemei de calcul de mai sus este echivalenta cu aplicarea rotatiei PH ambelormatrice din perechea (H,T ). Intr-adevar, daca (H, T ) = (PHH,PHT ), atunciHT−1 = PHHT−1P = PHGP . Alterarea structurii superior Hessenberg a matriceiG ın pozitia (3, 1) se transfera ın alterarea structurala a perechii (H,T ). Concret,datorita structurii (6.52) a lui P , matricea H ramane superior Hessenberg, pe candT are un element nenul suplimentar ın pozitia (2, 1).

4. Refacerea structurii Hessenberg generalizate a perechii (H, T ) printr-o trans-formare unitara de echivalenta poate fi asimilata cu refacerea formei Hessenberg amatricei G. Intr-adevar, daca (H ′, T ′) = (QHHZ, QH TZ) este ın forma Hessenberggeneralizata, atunci G′ = H ′T ′−1

= QHHZZH T−1Q = QHHT−1Q = QHGQ esteo matrice superior Hessenberg (ca produs dintre o matrice superior Hessenberg sio matrice superior triunghiulara). Concret, readucerea perechii alterate la formaHessenberg generalizata se face utilizand algoritmul HTQZ adaptat, pentru asigu-rarea eficientei necesare, la situatia structurala prezenta. Detaliile sunt precizateprin urmatoarea schema de calcul.

HTQZ1

1. Pentru k = 2:n1. Se calculeaza rotatia modificata Zk−1,k astfel ıncat

(TZk−1,k)(k, k−1) = 02. H ← HZk−1,k % Apare un element nenul ın pozitia (k+1, k−1)

a lui H (pentru k < n)3. T ← TZk−1,k % Se anuleaza elementul T (k, k−1)4. Daca k < n atunci

1. Se calculeaza rotatia Qk,k+1 astfel ıncat (QHk,k+1H)(k+1, k−1) = 0

2. H ← QHk,k+1H % Se anuleaza elementul H(k+1, k−1)

3. T ← QHk,k+1T % Apare un element nenul ın pozitia (k+1, k) a lui T

6.3. ALGORITMUL QZ 469

Aceasta schema realizeaza deplasarea elementelor alterante ale structurilor ma-tricelor H si T de-a lungul unor trasee paralele cu diagonala principala pana laeliminarea lor din matricele respective utilizand ın acest scop doua secvente derotatii.

Pentru exemplificare prezentam evolutia structurala a perechii (H,T ) ın cazuln = 4. Ca si ın exemplele anterioare, ıncadrarile marcheaza liniile si coloaneleafectate de operatia curenta.

(H,T )← (PHH,PHT ) = (

× × × ×× × × ×0 × × ×0 0 × ×

,

× × × ×+ × × ×0 0 × ×0 0 0 ×

),

(H,T )← (HZ12, TZ12) = (

× ×× ×+ ×0 0

× ×× ×× ×× ×

,

× ×∅ ×0 00 0

× ×× ×× ×0 ×

),

(H,T )← (QH23H,Q

H23T ) = (

× × × ×× × × ×∅ × × ×0 0 × ×

,

0 × × ×0 × × ×0 + × ×0 0 0 ×

),

(H,T )← (HZ23, HZ23) = (

××00

× ×× ×× ×+ ×

××××

,

×000

× ×× ×∅ ×0 0

××××

),

(H,T )← (QH34H,Q

H34T ) = (

× × × ×× × × ×0 × × ×0 ∅ × ×

,

× × × ×0 × × ×0 0 × ×0 0 + ×

),

(H,T )← (HZ34, TZ34) = (

× ×× ×0 ×0 0

× ×× ×× ×× ×

,

× ×0 ×0 00 0

× ×× ×× ×∅ ×

).

Aplicarea rotatiei PH care asigura prima coloana impusa a matricei de trans-formare corespunzatoare pasului QR curent pentru matricea HT−1 si apoi reface-rea structurii Hessenberg generalizate cu ajutorul variantei adaptate a algoritmului

470 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

HTQZ, data de schema de calcul de mai sus, conduc la obtinerea perechii succesor

{

H ← H ′= QHn−1,n · · ·QH

23PHHZ12Z23 · · ·Zn−1,n,

T ← T ′= QHn−1,n · · ·QH

23PH TZ12Z23 · · ·Zn−1,n,

(6.54)

din sirul QZ. Perechea (H ′, T ′) suprascrie perechea (H,T ), i.e. toate calculele afe-rente unui pas simplu QZ cu deplasare implicita se desfasoara pe loc, ın tablourileH si T .

Din motive de organizare judicioasa a algoritmului QZ si, mai ales, a algo-ritmului de ordonare a formei Schur generalizate (vezi sectiunea 6.4) vom scrie oprocedura distincta pentru calculul vectorului de deplasare implicita.

Algoritmul 6.3 (VD1 – Calculul vectorului de deplasare implicitapentru un pas simplu QZ) (Date o pereche (H,T ) ∈ ICn×n × ICn×n ınforma Hessenberg generalizata cu T nesingulara, algoritmul calculeazavectorul w ∈ IC2 de deplasare implicita pentru un pas simplu QZ.)

1. µ =hn,ntn,n

− hn,n−1tn−1,n

tn−1,n−1tn,n

2. w =

h11t11− µ

h21t11

Comentarii. Sintaxa de apel a acestui algoritm va fi

w = VD1(H,T ),

iar complexitatea sa este, evident, O(1). 3

Cu aceste precizari putem prezenta algoritmul de implementare al unui passimplu QZ cu deplasare implicita. Sunt utilizate proceduri cuprinse ın tabelul 4.3si procedura Gcm, de calcul al unei rotatii modificate, introdusa ın acest capitol.

Algoritmul 6.4 (IT QZ1 - Un pas simplu QZ cu deplasare im-plicita) (Date o pereche (H,T ) ∈ ICn×n × ICn×n ın forma Hessenberggeneralizata ireductibila, matricele unitare Q,Z ∈ ICn×n si vectorul dedeplasare implicita w ∈ IC2, algoritmul suprascrie perechea (H,T ) cuperechea succesor (H ′, T ′) = (QH

k HZk, QHk TZk) din sirul QZ. Optional,

se actualizeaza matricele unitare de transformare Q si Z. Optiunea seexprima cu ajutorul variabilei logice opt de tipul sir de caractere carepoate lua valorile ′da′ sau ′nu′. Daca opt = ′nu′, algoritmul returneazamatricele Q si Z nemodificate.)

1. [w, c, s ] = Gc(w)

2. H(1 :2, :) = Gcs(c, s,H(1 :2, :))

3. T (1 :2, :) = Gcs(c, s, T (1 :2, :))

4. Daca opt = ′da′ atunci1. Q( : , 1:2) = Gcd(Q( : , 1:2), c, s)

6.3. ALGORITMUL QZ 471

5. Pentru k = 2 : n

1. [T (k, k−1 : k), c, s ] = Gcm(T (k, k−1 : k))

2. l = min(k+1, n)

3. H(1 : l, k−1 : k) = Gcd(H(1 : l, k−1 : k), c, s)

4. T (1 : k−1, k−1 : k) = Gcd(T (1 : k−1, k−1 : k), c, s)

5. Daca opt = ′da′ atunci1. Z( : , k−1 : k) = Gcd(Z( : , k−1 : k), c, s)

6. Daca k < n atunci

1. [H(k : k+1, k−1), c, s ] = Gc(H(k : k+1, k−1))2. H(k : k+1, k : n) = Gcs(c, s,H(k : k+1, k : n))

3. T (k : k+1, k : n) = Gcs(c, s, T (k : k+1, k : n))

4. Daca opt = ′da′ atunci1. Q( : , k : k+1) = Gcd(Q( : , k : k+1), c, s)

Comentarii. Vom utiliza urmatoarea sintaxa de apel a algoritmului de mai sus

[H,T,Q, Z ] = IT QZc(H,T,Q, Z,w, opt).

Complexitatea unui pas simplu QZ este O(n2). Concret, pentru executia algoritmu-lui 6.3 sunt necesari Nop ≈ 12n2 flopi fara acumularea transformarilor, N ′

op ≈ 12n2

flopi suplimentari pentru acumularea transformarilor, la care se adauga cele 2(n−1)extrageri de radical. 3

B. Algoritmul QZ pentru matrice complexe

Provenind din adaptarea algoritmului QR algoritmul QZ utilizeaza toate ideileacestuia pentru exploatarea evolutiei structurale a elementelor sirului QZ. Concret,algoritmul QZ pentru matrice complexe se obtine prin iterarea pasului simplu QZ,anularea efectiva a elementelor subdiagonale ale matricei H devenite neglijabile si,pe aceasta baza, reducerea succesiva a dimensiunii problemei pana la obtinerearezultatului dorit.

Pentru deciziile de anulare a elementelor subdiagonale ale matricei H se uti-lizeaza criteriul cunoscut de la algoritmul QR

|hk+1,k| < tol(|hkk|+ |hk+1,k+1|), (6.55)

unde scalarul pozitiv tol defineste nivelul de toleranta si are, uzual, un ordin demarime comparabil cu eroarea de reprezentare din formatul virgula mobila al masiniitinta.

De asemenea, pentru monitorizarea evolutiei structurale a matricelor din sirulQZ, la fiecare iteratie, dupa anularea elementelor subdiagonale care satisfac conditia(6.55), se va determina cel mai mic ıntreg p si cel mai mare ıntreg q astfel ıncatperechea curenta (H,T ) sa aiba structura

H =

H11 H12 H13

0 H22 H23

0 0 H33

} p}n− p− q} q

, T =

T11 T12 T130 T22 T230 0 T33

} p}n− p− q} q

,

(6.56)

472 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

cu perechea (H22, T22) ∈ IC(n−p−q)×(n−p−q)× IC(n−p−q)×(n−p−q) ın forma Hessenberggeneralizata ireductibila si H33, T33 ∈ IRq×q superior triunghiulare. Astfel, iteratiaQZ (complexa) se va aplica, de fapt, numai perechii (H22, T22)

(H22, T22)← (H ′22, T

′22) = (QH

22H22Z22, QH22T22Z22), (6.57)

echivalenta cu aplicarea asupra perechii de matrice (H,T ) a transformarii de echi-valenta unitare

Q = diag(Ip, Q22, Iq), Z = diag(Ip, Z22, Iq). (6.58)

Aceasta transformare afecteaza celelalte blocuri ale matricelor H , T din (6.56) ınfelul urmator:

H ′ =

H11 H12Z22 H13

0 QH22H22Z22 QH

22H23

0 0 H33

, T ′ =

T11 T12Z22 T13

0 QH22T22Z22 QH

22T23

0 0 T33

.

(6.59)Algoritmul QZ se termina ın momentul ın care se anuleaza toate elementele

subdiagonale ale matricei H , i.e. q devine n − 1. Utilizand, pentru claritate, sin-taxele de apel mentionate ale algoritmilor 6.1–6.4, algoritmul QZ cu pas simplu, cudeplasare implicita, se scrie astfel.

Algoritmul 6.5 (QZ1 – Algoritmul QZ cu pasi simpli si deplasariimplicite) (Date un fascicol matriceal definit de perechea (A,B)∈ICn×n××ICn×n, matricele unitare Q,Z ∈ ICn×n si un nivel de toleranta tolpentru anularea elementelor subdiagonale, algoritmul calculeaza formaSchur generalizata (A,B)← (S, T )=(QHAZ,QHBZ) a perechii (A,B).Toate calculele se efectueaza pe loc, ın locatiile de memorie ale tablouri-lor A si B. Optional, se acumuleaza transformarile prin actualizareamatricelor Q si Z. Optiunea se exprima cu ajutorul variabilei logice optde tipul sir de caractere care poate lua valorile ′da′ sau ′nu′. Daca nuse doreste acumularea, matricele Q si Z se returneaza nemodificate.)

1. % Reducerea la forma Hessenberg generalizata

1. [A,B,Q,Z ] =HTQZc(A,B,Q,Z, opt)

2. % Deplasarea zerourilor diagonale ale matricei B si evidentiereavalorilor proprii infinite.

1. [A,B,Q,Z ] =DZc(A,B,Q,Z, opt)

3. % Faza iterativa

1. p = 0, q = 0, cont it = 0

2. Cat timp q < n

1. % Anularea elementelor subdiagonale neglijabilePentru i = p+ 1 : n− q − 1

1. Daca |ai+1,i| ≤ tol(|aii|+ |ai+1,i+1|) atunci ai+1,i = 0

6.3. ALGORITMUL QZ 473

2. % Determinarea lui qCat timp an−q,n−q−1 = 01. q ← q + 12. cont it = 03. % Terminarea algoritmuluiDaca q = n− 1 atunci return.

3. % Determinarea lui p

1. p = n− q − 1

2. Cat timp ap+1,p 6= 01. p← p− 12. Daca p = 0 atunci break

4. % Iteratia curenta

1. k = p+1, l = n−q2. w = VD1(A(k : l, k : l), B(k : l, k : l))

3. [A(k : l, k : l), B(k : l, k : l), Qc, Zc ] =IT QZc(A(k : l, k : l), B(k : l, k : l), Il−p, Il−p, w, opt)

4. Daca q > 0 atunci

1. A(k : l, l+1:n) = QcA(k : l, l+1:n)2. B(k : l, l+1:n) = QcB(k : l, l+1:n)

5. Daca p > 0 atunci

1. A(1 :p, k : l) = A(1 :p, k : l, )Zc

2. B(1 :p, k : l) = B(1 :p, k : l)Zc

5. % Acumularea transformarilor

1. Daca opt=’da’ atunci

1. Q( : , k : l) = Q( : , k : l)Qc

2. Z( : , k : l) = Z( : , k : l)Zc

6. cont it← cont it+ 1

7. Daca cont it > 30 atunci

1. Tipareste ’S-au atins 30 de iteratii fara sa sepoata anula un element subdiagonal.Este posibil ca pentru aceste datealgoritmul QZ sa nu fie convergent.’

2. Return

Comentarii. In aspectele sale esentiale, algoritmul de mai sus sta la baza tuturorprogramelor profesionale de calcul al valorilor proprii generalizate ale unui fascicolmatriceal complex. Utilizarea lui pentru calculul formei Schur generalizate a unuifascicol real este posibila 15, dar este mai putin eficienta ın raport cu varianta specialelaborata pentru acest caz si prezentata mai jos.

15 Pentru probleme de mica dimensiune diferenta de eficienta nu este decisiva astfel ca acestalgoritm poate fi folosit cu succes. Atragem ınsa atentia ca procedura Gc de calcul a unei rotatiicomplexe cu relatiile (6.42), aplicata unui vector real, calculeaza de fapt o rotatie reala astfel ıncat,pentru date reale, acest algoritm va lucra exclusiv cu numere reale privite ca numere complexesi nu va fi capabil sa reduca perechile de blocuri diagonale 2 × 2. Pentru a depasi acest impasse poate proceda, de exemplu, la identificarea situatiei si monitorizarea blocurilor diagonale ca ınalgoritmul special destinat cazului real (vezi mai departe).

474 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Sintaxa de apel este

[S, T,Q, Z] = QZ1(A,B,Q,Z, tol, opt),

perechea (S, T ) ın FSG putand suprascrie (intern) perechea (A,B).La fel ca ın cazul algoritmului QR, exista date de intrare pentru care algoritmul

nu este convergent, desi acest lucru se ıntampla extrem de rar ın practica. Aici,dupa 30 de iteratii fara progresul parametrului structural q se declara esecul desi maiexista sanse de convergenta printr-o modificare empirica a vectorului de deplasare(v. cap. 4).

Printre rafinarile posibile care nu au fost incluse este optiunea de a fi calcu-lata numai una din matricele de transformare (de obicei Z, ale carei prime coloanereprezinta o baza pentru spatiul de deflatie asociat primelor valori proprii general-izate, vezi sectiunea urmatoare). De asemenea, din ratiuni de claritate a prezentarii,s-a preferat acumularea transformarilor ın cadrul unei iteratii ın matricele de trans-formare ”curente” Qc si Zc si apoi aplicarea lor celorlalte blocuri afectate si ma-tricelor de transformare Q si Z sub forma unor ınmultiri cu matrice dense fapt carepoate conduce la o anumita reducere (totusi putin semnificativa) a eficientei.

Datorita procesului iterativ, complexitatea algoritmului depinde de datele deintrare. Viteza de convergenta a procesului iterativ este similara cu cea a algorit-mului QR. Evaluarile experimentale converg catre aprecierea ca, ın medie, douaiteratii sunt suficiente pentru a pune ın evidenta o valoare proprie generalizata. Inaceasta situatie, pentru fascicole de ordin superior (e.g. n > 100) se poate apreciaca algoritmul QZ are o complexitate O(n3). Evaluari mai fine sunt date la variantareala.

Utilizarea exclusiva a transformarilor unitare confera algoritmului QZ1 o foartebuna stabilitate numerica. Se arata ca forma Schur generalizata (S, T ) calculataeste forma Schur generalizata exacta a unei perechi foarte apropiate de perechea(A,B) data. Concret, avem

S = QH(A+ E)Z, T = QH(B + F )Z,

unde Q, Z sunt matrice riguros unitare, iar matricele de perturbatie E si F satisfacconditiile

‖E‖2 ≈ εM‖A‖2, ‖F‖2 ≈ εM‖B‖2,cu ǫ precizia masinii tinta. Pentru consideratii suplimentare vezi sectiunea 6.5. 3

C. Un pas QZ pentru matrice reale

In cazul perechilor (H,T ) reale un spor important de eficienta se obtine utilizand oaritmetica reala care impune utilizarea une strategii a pasilor dubli. In conformitatecu cele aratate ın capitolul 4, un pas dublu QR cu deplasare implicita pentrumatricea Gk = HkT

−1k consta ın efectuarea urmatoarelor operatii:

1. Se calculeaza prima coloana q(k)1 a matricei Qk ce defineste trans-

formarea ortogonala aferenta unui pas dublu QR cu deplasare ex-plicita.

6.3. ALGORITMUL QZ 475

2. Se determina o matrice ortogonala U astfel ıncat prima coloana a

lui UT sa fie q(k)1 , i.e. UT e1 = q

(k)1 .

3. Se calculeaza matricea F = UTGkU (a carei structura nu mai estesuperior Hessenberg).

4. Se aplica algoritmulHQ de reducere a matricei F la forma superiorHessenberg rezultand matricea succesor Gk+2 = Hk+2T

−1k+2.

Daca matricea superior Hessenberg Gk este ireductibila, atunci, conform teo-remei 4.9, rezultatul Gk+2 al aplicarii schemei de calcul de mai sus va fi esentialacelasi cu cel dat de un pas dublu QR cu deplasare explicita. Notam si aici,

pentru simplificare, (Hk, Tk)not= (H,T ) perechea curenta a sirului QZ, presupusa

ireductibila, (Hk+2, Tk+2)not= (H ′, T ′) perechea succesor ın cazul utilizarii pasului

dublu precum si G = HT−1, G′ = H ′(T ′)−1. Urmand etapele din schema de cal-

cul de mai sus vom transfera transformarile matricei G perechii (H,T ). Mai mult,exploatand corespunzator avantajele structurale date de forma Hessenberg genera-lizata a perechilor initiala si finala, complexitatea pasului dublu va fi O(n2), ceea ceın economia ıntregului algoritm este esential, reducand complexitatea algoritmuluiQZ cu deplasare implicita la cea a variantei cu deplasare explicita si asigurand,ın acelasi timp, posibilitatea utilizarii exclusive a aritmeticii reale. Detaliile suntprezentate ın continuare.

1. Daca notam cu µ1 si µ2 valorile proprii (posibil complexe) ale matriceiG(n−1 : n, n−1 : n), atunci ın expresia primei coloane a matricei de transformare

Qknot= Q acestea apar sub forma sumei si produsului (ıntotdeauna reale). Tinandu-

se seama de structura Hessenberg a matricelor G si H , vom calcula elementeleblocului matriceal X = G(n− 1 : n, n− 2 : n) ∈ IR2×3 ca solutie a sistemuluitriunghiular

XT (n−2 : n, n−2 : n) = H(n−1 : n, n−2 : n),

care se rezolva recurent, pe linii (exercitiu pentru cititor)

x11 =hn−1,n−2

tn−2,n−2

x12 =hn−1,n−1 − tn−2,n−1x11

tn−1,n−1

x13 =hn−1,n − tn−2,nx11 − tn−1,nx12

tn,n

x21 = 0

x22 =hn,n−1

tn−1,n−1

x23 =hnn − tn−1,nx22

tn,n,

(6.60)

dupa care valorile cautate ale sumei si produsului se obtin imediat{

σdef= µ1 + µ2 = x12 + x23,

πdef= µ1µ2 = x12x23 − x13x22.

(6.61)

476 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Daca µ1, µ2 6∈ λ(G), i.e. matricea M = (G − µ1In)(G − µ2In) = G2 − σG + πIn

este nesingulara, atunci prima coloana a matricei de transformare Qknot= Q (ınca

un exercitiu pentru cititor) este

q1 = Qe1 = ρ

h11t11

(h11t11− h21t12t11t22

− σ) + h21h12t11t22

+ π

h21t11

(h11t11

+h22t22− h21t12t11t22

− σ)

h21h32t11t220...0

, (6.62)

unde ρ este un factor real de normare. Elementele nenule w = q1(1 : 3)/ρ ale luiq1/ρ, i.e.

w =

h11t11

(h11t11− h21t12t11t22

− σ) + h21h12t11t22

+ π

h21t11

(h11t11

+h22t22− h21t12t11t22

− σ)

h21h32t11t22

, (6.63)

definesc vectorul de deplasare implicita asociat pasului dublu QZ.

2. Matricea ortogonala U de la instructiunea 2 a schemei de calcul de mai suseste, cel mai recomandat, un reflector (real) avand structura

U =

[

U 00 In−3

]

, (6.64)

cu U ∈ IR3×3 reflectorul care asigura

Uw = νe1, ν ∈ IR. (6.65)

3. Se constata si aici imediat ca aplicarea transformarii de asemanare de lapunctul 3 al schemei de calcul de mai sus este echivalenta cu aplicarea trans-formarii U = UT ambelor matrice din perechea (H,T ). Intr-adevar, daca (H, T ) == (UTH,UTT ), atunci HT−1 = UTHT−1U = UTGU = G. Alterarea structuriisuperior Hessenberg a matricei G ın pozitiile (3, 1), (4, 1), (4, 2) se transfera ın al-terarea structurala a perechii (H,T ). Concret, datorita structurii (6.64) a lui U ,structura matricei H va diferi de o structura superior Hessenberg prin elementulnenul din pozitia (3, 1) iar structura matricei T va diferi de o structura superiortriunghiulara prin elementele nenule din pozitiile (2, 1), (3, 1) si (3, 2).

4. Restaurarea structurii Hessenberg generalizate a perechii (H, T ) printr-otransformare ortogonala de echivalenta poate fi asimilata cu refacerea formei Hessen-berg a matricei G. Motivatia este aceeasi cu cea de la iteratia QZ complexa. Con-cret, readucerea perechii alterate la forma Hessenberg generalizata se face cu algo-ritmul HTQZ adaptat, pentru asigurarea eficientei necesare, la situatia structurala

6.3. ALGORITMUL QZ 477

actuala. Pentru adaptarea algoritmului HTQZ vom utiliza reflectori ”modificati”pe care ıi definim prin expresia cunoscuta

V = In −vvT

β, β =

1

2‖v‖2,

unde vectorul v se calculeaza astfel ıncat sa se asigure anularea primelor n− 1elemente ale unui vector a ∈ IRn dat 16, i.e. (V a)(1 : n− 1) = 0 (si, ıntrucatreflectorul este o matrice simetrica, (aTV )(1 : n−1) = 0). Conform celor prezentateın capitolul 3, nu este greu de vazut ca elementele definitorii ale acestui reflector sisuprascrierea vectorului a cu V a se calculeaza economic cu schema:

HM 1. σ = sgn(an)‖a‖2. vi = ai, i = 1 : n−13. vn = an + σ4. β = anσ5. ai = 0, i = 1 : n−16. an = −σ

Vom introduce o procedura cu sintaxa

[ d, v, β ] = Hrm(a)

pentru calculul reflectorilor modificati de ordin dat de dimensiunea vectorului asi calculul vectorului d = V a sau d = aV dupa cum vectorul argument este unvector coloana sau un vector linie. Suprascrierea (interna) a lui a cu d se face cuapelul [a, v, β] = Hrm(a). Procedurile de premultiplicare si postmultiplicare a uneimatrice cu un reflector modificat sunt identice cu cele care opereaza cu reflectoriinemodificati, i.e. vom folosi procedurile Hrs si Hrd din tabelul 4.3. De asemenea,daca U ∈ IRp×p este un reflector (modificat) vom nota

U(p)k =

Ik−1 0 00 U 00 0 In−p−k+1

care este, la randul sau, un reflector de ordinul n pe care ıl vom numi reflector(modificat) de ordin n si indici (k, p).

Cu aceste precizari putem prezenta detaliile adaptarii algoritmului HTQZ prinurmatoarea schema de calcul.

HTQZ2

1. Pentru k = 1 : n−31. Se calculeaza reflectorul modificat Z

(3)k astfel ıncat

(TZ(3)k )(k+2, k : k+1)=0

2. H ← HZ(3)k % Apar doua elemente nenule ın pozitiile (k+3, k : k+1)

16 Prin reflectori ”nemodificati” vom ıntelege pe parcursul acestui capitol reflectorii care aplicatiunui vector n-dimensional anuleaza ultimele n−1 componente ale acestuia.

478 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

3. T ← TZ(3)k % Se anuleaza elementele T (k+2, k : k+1)

4. Se calculeaza reflectorul modificat Z(2)k astfel ıncat (TZ

(2)k )(k+1, k)=0

5. H ← HZ(2)k

6. T ← TZ(2)k % Se anuleaza elementul T (k+1, k)

7. Se calculeaza reflectorul Q(3)k+1 astfel ıncat (Q

(3)k+1H)(k+2 : k+3, k) = 0

8. H ← Q(3)k+1H % Se anuleaza elementele H(k+2 : k+3, k)

9. T ← Q(3)k+1T % Apar elemente nenule ın pozitiile (k+3, k+1)

si (k+3, k+1 : k+2)2. % Ultimele transformari

1. Se calculeaza reflectorul modificat Z(3)n−2 astfel ıncat

(TZ(3)n−2)(n, n−2 : n−1) = 0

2. H ← HZ(3)n−2

3. T ← TZ(3)n−2 % Se anuleaza elementele T (n, n−2 : n−1)

4. Se calculeaza reflectorul modificat Z(2)n−2 astfel ıncat (TZ

(2)n−2)(n−1, n−2) = 0

5. H ← HZ(2)n−2

6. T ← TZ(2)n−2 % Se anuleaza elementul T (n−1, n−2)

7. Se calculeaza reflectorul Q(2)n−1 astfel ıncat (Q

(2)n−1H)(n, n−2) = 0

8. H ← Q(2)n−1H % Se anuleaza elementul H(n, n−2)

9. T ← Q(2)n−1T % Apare un element nenul ın pozitia (n, n−1) a lui T

10. Se calculeaza reflectorul modificat Z(2)n−1 astfel ıncat (TZ

(2)n−2)(n, n−1)=0

11. H ← HZ(2)n−1

12. T ← TZ(2)n−1 % Se anuleaza elementul T (n, n−1)

Aceasta schema realizeaza deplasarea elementelor alterante ale structurilor ma-tricelor H si T de-a lungul unor trasee paralele cu diagonala principala pana laeliminarea lor din matricele respective, utilizand ın acest scop secvente de reflec-tori.

Pentru exemplificare prezentam prima parte a evolutiei structurale a perechii(H,T ) ın cazul n = 5.

(H,T )← (UH,UT ) = (

× × × × ×× × × × ×+ × × × ×0 0 × × ×0 0 0 × ×

,

× × × × ×+ × × × ×+ + × × ×0 0 0 × ×0 0 0 0 ×

),

(H,T )←(HZ(3)1 , TZ

(3)1 )=(

× × ×× × ×+ × ×+ + ×0 0 0

× ×× ×× ×× ×× ×

,

× × ×+ × ×∅ ∅ ×0 0 00 0 0

× ×× ×× ×× ×0 ×

),

6.3. ALGORITMUL QZ 479

(H,T )←(HZ(2)1 , TZ

(2)1 )=(

× ×× ×+ ×+ +0 0

× × ×× × ×× × ×× × ×× × ×0 × ×

,

× ×∅ ×0 00 00 0

× × ×× × ×× × ×0 × ×0 0 ×

),

(H,T )←(Q(3)2 H,Q

(3)2 T )=(

× × × × ×× × × × ×∅ × × × ×∅ + × × ×0 0 0 × ×

,

× × × × ×0 × × × ×0 + × × ×0 + + × ×0 0 0 0 ×

),

etc. Se observa ca s-a obtinut deplasarea cu o pozitie spre dreapta jos a celor douagrupuri de elemente alterante, proces care poate fi continuat pana la eliminarea lor.

Aplicarea reflectorului U = UT care asigura prima coloana impusa a matriceide transformare corespunzatoare pasului QR curent pentru matricea HT−1 si apoirefacerea structurii Hessenberg generalizate cu ajutorul variantei adaptate a algo-ritmului HTQZ, data de schema de calcul de mai sus, conduc la obtinerea perechiisuccesor

H ← H ′= Q(2)n−1Q

(3)n−2 · · ·Q

(3)1 UHZ

(3)1 Z

(2)1 · · ·Z

(3)n−2Z

(2)n−2Z

(2)n−1

T ← T ′= Q(2)n−1Q

(3)n−2 · · ·Q

(3)1 UTZ

(3)1 Z

(2)1 · · ·Z

(3)n−2Z

(2)n−2Z

(2)n−1

(6.66)

din sirulQZ. Prima coloana a matricei U nu este afectata de multiplicarea la dreapta

cu matricea Q(3)1 · · ·Q

(3)n−2Q

(2)n−1.

Tinand seama de (6.61), (6.63) calculul economic al vectorului de deplasareimplicita se poate face cu urmatorul algoritm.

Algoritmul 6.6 (VD2 – Calculul vectorului de deplasare implicitapentru un pas dublu QZ) (Date o pereche (H,T ) ∈ IRn×n × IRn×n ınforma Hessenberg generalizata cu T nesingulara algoritmul calculeazavectorul w ∈ R3 de deplasare implicita pentru un pas dublu QZ.)

1. Se calculeaza σ si π cu relatia (6.61).

2. α =h11t11

, β =h22t22

, γ =h21t11

, δ =γ

t22, η = α− δt12 − σ

3. w =

αη + δh12 + πγ(β + η)δh32

Comentarii. Sintaxa de apel a a acestui algoritm va fi

w = VD2(H,T ),

iar complexitatea sa ramane, evident, O(1). 3

480 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Suntem ın masura sa prezentam acum algoritmul formal de implementare aunui pas dublu QZ cu deplasare implicita. Sunt utilizate procedurile de calculal reflectorilor cuprinse ın tabelul 4.3, la care se adauga procedurile introduse ınaceasta sectiune.

Algoritmul 6.7 (IT QZ2 – Un pas dublu QZ cu deplasare im-plicita) (Date o pereche (H,T ) ∈ IRn×n × IRn×n ın forma Hessen-berg generalizata ireductibila, vectorul de deplasare implicita w ∈ IR3

si matricele ortogonale Q,Z ∈ IRn×n, algoritmul suprascrie perechea(H,T ) cu perechea succesor (H ′, T ′) = (QT

kHZk, QTk TZk) din sirul QZ.

Optional, se actualizeaza matricele de transformare Q si Z. Optiunease exprima cu ajutorul variabilei logice opt de tipul sir de caractere carepoate lua valorile ′da′ sau ′nu′. Daca opt = ′nu′, algoritmul returneazamatricele Q si Z nemodificate.)

1. [w, u, β ] = Hr(w)

2. H(1 :3, :) = Hrs(u, β,H(1 :3, :))

3. T (1 :3, :) = Hrs(u, β, T (1 :3, :))

4. Daca opt = ′da′ atunci Q( : , 1:3) = Hrd(Q( : , 1:3), u, β)

5. % Refacerea structurii superior Hessenberg generalizatePentru k = 1 : n−31. [T (k+2, k : k+2), u, β ] = Hrm(T (k+2, k : k+2))

2. H(1 : k+3, k : k+2) = Hrd(H(1 : k+3, k : k+2), u, β)

3. T (1 : k+1, k : k+2) = Hrd(T (1 : k+1, k : k+2), u, β)

4. Daca opt = ′da′ atunciZ( : , k : k+2) = Hrd(Z( : , k : k+2), u, β)

5. [T (k+1, k : k+1), u, β ] = Hrm(T (k+1, k : k+1))

6. H(1 : k+3, k : k+1) = Hrd(H(1 : k+3, k : k+1), u, β)

7. T (1 : k, k : k+1) = Hrd(T (1 : k, k : k+1), u, β)

8. Daca opt = ′da′ atunciZ( : , k : k+1) = Hrd(Z( : , k : k+1), u, β)

9. [H(k+1 : k+3, k), u, β ] = Hr(H(k+1 : k+3, k))

10. H(k+1 : k+3, k+1 : n) = Hrs(u, β,H(k+1 : k+3, k+1 : n))

11. T (k+1 : k+3, k+1 : n) = Hrs(u, β, T (k+1 : k+3, k+1 : n))

12. Daca opt = ′da′ atunciQ( : , k+1 : k+3) = Hrd(Q( : , k+1 : k+3), u, β)

6. % Ultimele transformari

1. [T (n, n−2 : n), u, β ] = Hrm(T (n, n−2 : n))2. H( : , n−2 : n) = Hrd(H( : , n−2 : n), u, β)

3. T (1 : n−1, n−2 : n) = Hrd(T (1 : n−1, n−2 : n), u, β)4. Daca opt = ′da′ atunciZ( : , n−2 : n) = Hrd(Z( : , n−2 : n), u, β)

5. [T (n−1, n−2 : n−1), u, β ] = Hrm(T (n−1, n−2 : n−1))

6.3. ALGORITMUL QZ 481

6. H( : , n−2 : n−1) = Hrd(H( : , n−2 : n−1), u, β)7. T (1 : n−2, n−2 : n−1) = Hrd(T (1 : n−2, n−2 : n−1), u, β)8. Daca opt = ′da′ atunciZ( : , n−2 : n−1) = Hrd(Z( : , n−2 : n−1), u, β)

9. [H(n−1 : n, n−2), u, β ] = Hr(H(n−1 : n, n−2))10. H(n−1 : n, n−1 : n) = Hrs(u, β,H(n−1 : n, n−1 : n))

11. T (n−1 : n, n−1 : n) = Hrs(u, β, T (n−1 : n, n−1 : n))

12. Daca opt = ′da′ atunciQ( : , n−1 : n) = Hrd(Q( : , n−1 : n), u, β)

13. [T (n, n−1 : n), u, β ] = Hrm(T (n, n−1 : n))14. H( : , n−1 : n) = Hrd(H( : , n−1 : n), u, β)

15. T (1 : n−1, n−1 : n) = Hrd(T (1 : n−1, n−1 : n), u, β)16. Daca opt = ′da′ atunci

Z( : , n−1 : n) = Hrd(Z( : , n−1 : n), u, β)

Comentarii. Sintaxa de apel a algoritmului de mai sus va fi

[H,T,Q, Z ] = IT QZ2(H,T,Q, Z,w, opt).

Complexitatea unui pas dubluQZ ın implementarea de mai sus este O(n2). Concret,pentru executia algoritmului 6.7 sunt necesari Nop ≈ 32n2 flopi fara acumulareatransformarilor, N ′

op ≈ 20n2 pentru calculul matricei Z, N ′′op ≈ 12n2 pentru calculul

matricei Q, la care se adauga cele 2(n− 1) extrageri de radical. 3

D. Algoritmul QZ pentru matrice reale

Algoritmul QZ pentru matrice reale reproduce structura algoritmului omonim pen-tru matrice complexe cu urmatoarele aspecte specifice:

a) ın faza iterativa monitorizarea structurii matricei H are loc cu evidentiereablocurilor diagonale 2× 2;

b) faza iterativa a algoritmului QZ se termina ın momentul ın care ordinulsubmatricii H22 scade la cel mult 2, i.e. q devine mai mare decat n− 3.

c) dupa terminarea fazei iterative, algoritmul se completeaza cu reducerea laforma superior triunghiulara a perechilor de blocuri diagonale 2 × 2 care au valoriproprii generalizate reale.

Rezolvarea problemelor ridicate de primele doua aspecte este imediata. In ceeace priveste punctul c), triangularizarea perechilor de blocuri diagonale 2×2 cu valoriproprii reale se face ın felul urmator.

Fie perechea (H, T ) ∈ IR2×2 × IR2×2 cu h21 6= 0 si valorile proprii generalizatereale λ1 si λ2. Atunci

v =

[λ1 t22 − h22

h21

]

(6.67)

este un vector propriu generalizat asociat lui λ1, i.e. H v = λ1T v si S = Im veste un subspatiu de deflatie al fascicolului (H, T ). Matricele Q si Z care definesc

482 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

transformarea ortogonala de echivalenta ce aduce perechea (H, T ) la forma Schurgeneralizata se pot construi procedand ca ın demonstratia propozitiei 6.2. Concret,(vezi exercitiul 6.9), Z este reflectorul care asigura (Zv)(2) = 0, iar apoi Q estereflectorul care asigura (QT (T Z(:, 1))(2) = 0.

Daca blocul diagonal ce trebuie triangularizat se afla pe liniile si coloanele k sik+1, atunci rezultatul dorit se obtine aplicand perechii (H,T ), de ordinul n, trans-formarea ortogonala de echivalenta definita de matricele Q = diag(Ik−1, Q, In−k−1)si diag(Ik−1, Z, In−k−1).

In vederea unei scrieri mai concise a algoritmuluiQZ prezentam aici un algoritmpreliminar care proceseaza perechea bloc-diagonala 2× 2 aflata ın pozitia (k, k+1).

Algoritmul 6.8 (TRID2g -Triangularizarea unei perechi de blocuridiagonale 2× 2) (Date o pereche (S, T ) ∈ IRn×n× IRn×n, cu S ın formacvasi-superior triunghiulara si T superior triunghiulara nesingulara siıntregul k ∈ 1:n−1, algoritmul testeaza daca perechea de blocuri diago-nale (S(k : k+1, k : k+1), T (k : k+1, k : k+1)) are valorile proprii gene-ralizate reale si, ın caz afirmativ, calculeaza triangularizarea ortogonalaa perechii bloc-diagonale vizate, rezultatul suprascriind perechea (S, T ).De asemenea, algoritmul returneaza elementele definitorii (uQ, βQ) si

(uZ , βZ) ale celor doi reflectori calculati. In caz contrar perechea (S, T )ramane nemodificata si, pentru identificarea acestei situatii, se retur-neaza βZ = 0.)

1. βZ = 0

2. α = tk,ktk+1,k+1, β = sk,ktk+1,k+1 + sk+1,k+1tk,k − sk+1,ktk,k+1,γ = sk,ksk+1,k+1 − sk,k+1sk+1,k, ∆ = β2 − 4αγ

3. Daca ∆ ≥ 0 atunci

1. λ1 = (β + sgn(β)√∆)/2α

2. v =

[λ1tk+1,k+1 − sk+1,k+1

sk+1,k

]

3. [ v, uZ , βZ ] = Hr(v)

4. S(1 : k+1, k :k+1) = Hrd(S(1 : k+1, k :k+1), uZ, βZ)

5. T (1 : k+1, k :k+1) = Hrd(T (1 : k+1, k :k+1), uZ, βZ)

6. [T (k :k+1, k), uQ, βQ ] = Hr(T (k :k+1, k))

7. S(k :k+1, k :n) = Hrs(uQ, βQ, S(k : k+1, k :n))

8. S(k+1, k) = 0 % zeroul calculat se seteaza la un zero efectiv

9. T (k :k+1, k+1:n) = Hrs(uQ, βQ, T (k : k+1, k+1:n))

Comentarii. Sintaxa de apel a acestui algoritm va fi

[S, T, uQ, βQ, uZ , βZ ] = TRID2g(S, T, k),

iar complexitatea sa este O(n). 3

Cu aceste precizari si tinand seama de aspectele comune cu cazul complex putemscrie algoritmul QZ standard cu pas dublu, cu deplasare implicita, pentru calcululformei Schur reale generalizate.

6.3. ALGORITMUL QZ 483

Algoritmul 6.9 (QZ2 – Algoritmul QZ cu pasi dubli si deplasariimplicite) (Date un fascicol matriceal definit de perechea (A,B)∈IRn×n××IRn×n, matricele ortogonale Q,Z ∈ IRn×n si un nivel de toleranta tolpentru anularea elementelor subdiagonale, algoritmul calculeaza formaSchur reala generalizata (A,B) ← (S, T ) = (QTAZ, QTBZ) a perechii(A,B). Toate calculele se efectueaza pe loc, ın locatiile de memorieale tablourilor A si B. Optional, se acumuleza transformarile prin ac-tualizarea matricelor Q ← QQ si Z ← ZZ. Optiunea se exprima cuajutorul variabilei logice opt de tipul sir de caractere care poate luavalorile ′da′ sau ′nu′. Daca nu se doreste acumularea transformarilor,matricele Q si Z se returneaza nemodificate.)

1. % Reducerea la forma Hessenberg generalizata

1. [A,B,Q,Z ] =HTQZr(A,B,Q,Z, opt)

2. % Deplasarea zerourilor diagonale ale matricei B si evidentiereavalorilor proprii infinite.

1. [A,B,Q,Z ] =DZr(A,B,Q,Z, opt)

3. % Faza iterativa

1. p = 0, q = 0, cont it = 0.

2. Cat timp q < n

1. % Anularea elementelor subdiagonale neglijabilePentru i = p+ 1 : n− q − 1

1. Daca |ai+1,i| ≤ tol(|aii|+ |ai+1,i+1|) atunci ai+1,i = 0

2. % Determinarea lui q1. continua = ′da′

2. Cat timp continua = ′da′

1. Daca q ≥ n− 2 atunci break

2. Daca an−q,n−q−1 = 0 atunci

1. q ← q + 12. cont it = 0

altfel

1. Daca an−q−1,n−q−2 = 0atunci

1. q ← q + 22. cont it = 0

altfel continua = ′nu′.

3. % Terminarea normala a fazei iterativeDaca q ≥ n− 2 atunci break

4. % Determinarea lui p

1. p = n− q − 1

2. Cat timp ap+1,p 6= 01. p← p− 12. Daca p = 0 atunci break

484 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

5. % Iteratia curenta

1. k = p+1, l = n−q2. w = VD2(A(k : l, k : l), B(k : l, k : l))

3. [A(k : l, k : l), B(k : l, k : l), Qc, Zc ] =IT QZ2(A(k : l, k : l), B(k : l, k : l), Il−p, Il−p, w, opt)

4. 1. Daca q > 0 atunci

1. A(k : l, l+1:n) = QcA(k : l, l+1:n)2. B(k : l, l+1:n) = QcB(k : l, l+1:n)

5. 1. Daca p > 0 atunci

1. A(1 :p, k : l) = A(1 :p, k : l)Zc

2. B(1 :p, k : l) = B(1 :p, k : l)Zc

6. cont it← cont it+ 1

6. Daca opt=’da’ atunci

1. Q( : , k : l) = Q( : , k : l)Qc

2. Z( : , k : l) = Z( : , k : l)Zc

7. % Terminarea prin esec a algoritmului1. Daca cont it > 30atunci

1. Tipareste ’S-au consumat 30 iteratii QZ pentruevidentierea unui bloc diagonal fara a se atingeacest obiectiv. Este posibil ca, pentru aceste datede intrare, algoritmul QZ sa nu fie convergent.’

2. Return

4. % Triangularizarea blocurilor 2 × 2 cu valori proprii generalizatereale

1. k = 1

2. Cat timp k < n

1. Daca ak+1,k = 0 atunci k ← k + 1altfel

1. [A,B, uQ, βQ, uZ , βZ ] =TRID2g(A,B, k)

2. Daca opt=’da’ si βZ 6= 0 atunci

1. Q( : , k :k+1) = Hrd(Q( : , k :k+1), uQ, βQ)2. Z( : , k :k+1) = Hrd(Z( : , k :k+1), uZ , βZ)

3. k ← k + 2

Comentarii. In aspectele sale esentiale, algoritmul de mai sus sta la baza tuturorprogramelor profesionale de calcul al valorilor proprii generalizate ale unui fasci-col matriceal real. Precizarile referitoare la aspectele de organizare a algoritmuluifacute la varianta complexa raman valabile. In acest sens s-au pastrat identificatoriivariabilelor cu aceeasi semnificatie.

Sintaxa de apel este

[S, T,Q, Z] = QZ2(A,B,Q,Z, tol, opt),

6.3. ALGORITMUL QZ 485

perechea (S, T ) ın FSG putand suprascrie (intern) perechea (A,B).La fel ca ın cazul algoritmului QR, exista date de intrare pentru care algoritmul

nu este convergent, desi acest lucru se ıntampla extrem de rar ın practica. Aici, dupa30 de iteratii fara progresul parametrului structural q se declara esecul algoritmuluidesi mai exista sanse de convergenta printr-o modificare empirica a vectorului dedeplasare dupa un numar precizat de iteratii, e.g. 10 sau 20 (v. cap. 4).

Acceptand evaluarea conform careia sunt suficiente, ın medie, doua iteratii pen-tru a pune ın evidenta o valoare proprie generalizata, algoritmul necesita un numarde NA

op = 30n3 flopi fara acumularea transformarilor, NQop = 16n3 flopi suplimentari

pentru calculul lui Q si NZop = 20n3 flopi pentru acumularea lui Z. Putem, deci,

considera ca pentru fascicole de ordin superior (e.g. n > 100) algoritmul QZ are ocomplexitate O(n3).

Si aici, utilizarea exclusiva a transformarilor ortogonale confera algoritmuluiQZo foarte buna stabilitate numerica. Concret, perechea calculata (S, T ) satisface

S = QT (A+ E)Z, T = QT (B + F )Z,

unde Q, Z sunt matrice riguros ortogonale, iar matricele de perturbatie E si Fsatisfac conditiile

‖E‖2 ≈ εM‖A‖2, ‖F‖2 ≈ εM‖B‖2.Pentru consideratii suplimentare vezi sectiunea 6.5. 3

∗ ∗∗

Incheiem acest paragraf cu regretul lipsei de spatiu tipografic pentru prezentareaalgoritmilor de calcul al formei diagonale generalizate a fascicolelor hermitice (ıncazul real, simetrice) pozitiv definite. Pentru introducerea ın problema recomandamrezolvarea exercitiului 6.10, iar pentru detalii si indicatii bibliografice suplimentareconsultarea lucrarii [ VI ].

6.3.4 Calculul vectorilor proprii generalizati

Consideram important sa precizam de la ınceput ca ın multe aplicatii vectorii propriigeneralizati pot fi ınlocuiti cu succes de catre vectorii Schur corespunzatori, i.e. decatre coloanele matricelor de transformare Z si Q.

Daca se doreste totusi determinarea explicita a vectorilor proprii generalizatiacestia pot fi calculati, dupa executia algoritmului QZ corespunzator, ın douamodalitati:

a) prin rezolvarea sistemelor liniare singulare corespunzatoare;b) prin cateva iteratii (teoretic, ıntr-o singura iteratie) ale metodei puterii in-

verse generalizate.Prezentam succint prima varianta pentru cazul complex (pentru cazul real vezi

exercitiul 6.11). Un vector propriu generalizat xk ∈ ICn, asociat valorii proprii ge-neralizate finite λk = skk/tkk este un vector nenul care satisface sistemul singular

Axk = λkBxk. (6.68)

486 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

Tinand seama de faptul ca (A,B) = (QSZH , QTZH), vectorul xk se calculeaza curelatia

xk = Zy, (6.69)

unde y este o solutie nenula a sistemului singular triunghiular

tkkSy = skkTy. (6.70)

Daca λk este o valoare proprie distincta, atunci solutiile nenule ale sistemului (6.70)au structura

y = [ yT α 0 . . . 0 ]T, y ∈ ICk−1, (6.71)

unde α este un scalar nenul altfel arbitrar, e.g. α = 1. Cu aceasta alegere a lui αdin (6.70) rezulta ca y este solutia sistemului triunghiular nesingular

(tkkS(1 : k−1, 1 : k−1)−skkT (1 : k−1, 1 : k−1))y = skkT (1 : k−1, k)−tkkS(1 : k−1, k).(6.72)

Cu y astfel obtinut vectorul propriu generalizat xk se obtine din (6.69) cu relatia

xk = Z(:, 1 : k−1)y + Z(:, k). (6.73)

In situatia ın care valoarea proprie nu este distincta, calculul se poate proceda fieextinzand ideile din situatia corespunzatoare din cazul calculului vectorilor propriiordinari, fie apeland la o ”grupare” a valorilor proprii generalizate identice printehnici de ordonare care fac obiectul sectiunii urmatoare.

6.4 Forma Schur generalizata ordonata.Calculul subspatiilor de deflatie

Conceptul de subspatiu de deflatie a fost introdus prin definitia 6.2 si folosit pen-tru a demonstra posibilitatea reducerii unei perechi (A,B) ∈ ICn×n × ICn×n, printransformari de echivalenta, la forma Schur generalizata.

Reciproc, fie un fascicol regulat, definit de o pereche (A,B) ∈ ICn×n × ICn×n siforma sa Schur generalizata (S, T ) cu urmatoarele partitii ale matricelor S si T

S = QHAZ =

k︷︸︸︷

n−k︷︸︸︷

[S11 S12

0 S22

]} k}n− k , T = QHBZ =

k︷︸︸︷

n−k︷︸︸︷

[T11 T120 T22

]} k}n− k .

(6.74)Fie, de asemenea, partitiile corespondente ale matricelor unitare de transformare

Q =

k︷︸︸︷

n−k︷︸︸︷

[Q1 Q2

], Z =

k︷︸︸︷

n−k︷︸︸︷

[Z1 Z2

]. (6.75)

Daca, acum, consideram S = ImZ1, atunci V1 def= AS = Im(AZ1) = Im(QSZHZ1)

de unde, tinand seama de relatiile (6.74), (6.75), precum si de faptul ca ZH1 Z1 = Ik,

6.4. CALCULUL SUBSPATIILOR DE DEFLATIE 487

ZH2 Z1 = 0, rezulta

V1 = Im([Q1 Q2 ]

[S11 S12

0 S22

] [ZH1

ZH2

]

Z1) = Im(Q1S11) ⊆ ImQ1,

cu egalitate ın ultima relatie daca si numai daca S11 este nesingulara. In acest dinurma caz coloanele lui Q1 formeaza o baza unitara a lui V1. Absolut analog avem

V2 def= BS = Im(BZ1) = Im(QTZHZ1) de unde rezulta

V2 = Im(Q1T11) ⊆ ImQ1,

cu egalitate ın ultima relatie daca si numai daca T11 este nesingulara.In consecinta,

V def= AS +BS = V1 + V2 ⊆ ImQ1. (6.76)

cu egalitate ın ultima relatie daca una din matricele S11 sau T11 este nesingulara.In toate situatiile avem

dimV ≤ dimS (6.77)

ceea ce ınseamna, conform definitiei 6.2, ca S = ImZ1 este un un subspatiu dedeflatie al fascicolului matriceal definit de perechea (A,B), subspatiu pe care ıl aso-ciem, ın mod natural, cu setul de valori proprii generalizate λ(S11, T11) ⊂ λ(A,B).

In cazul real, toate consideratiile de mai sus raman valabile cu singurul amen-dament ca subspatiile de deflatie reale ale unui fascicol real se asociaza ıntotdeaunaunor seturi simetrice de valori proprii generalizate 17 fapt indus de posibilitateaunor partitii de forma (6.74) unde, de data aceasta, S este ın forma Schur reala.

Tinand seama de cele de mai sus, un subspatiu de deflatie al unui fascicol (A,B)este complet definit de un set de valori proprii generalizate, iar calculul sau (i.e.calculul unei baze ortogonale) se reduce, ın definitiv, la obtinerea unei forme Schurgeneralizate (S, T ) = (QHAZ,QHBZ) ın care setul de valori proprii precizat co-incide cu spectrul de valori proprii al subfascicolului lider principal de dimensiunecorespunzatoare. O data obtinuta aceasta forma Schur, baza cautata este data deprimele coloane ale matricei Z. Prin urmare, dupa aplicarea algoritmului QZ siobtinerea unei prime forme Schur, ın care perechile diagonale nu au o ordine pre-determinata, calculul unui subspatiu de deflatie se reduce la ordonarea perechilordiagonale (i.e. aducerea ın primele pozitii diagonale a valorilor proprii vizate), printransformari unitare de echivalenta, si actualizarea matricei de transformare Z.

La fel ca ın cazul valorilor proprii ordinare, mecanismul de ordonare a formeiSchur generalizate se va baza pe procedurile de permutare a doua perechi (deblocuri, ın cazul real) diagonale adiacente.

6.4.1 Ordonarea formei Schur generalizate (complexe)

Vom considera mai ıntai cazul complex. Fie un fascicol matriceal de ordinul doi(S, T ) ∈ IC2×2 × IC2×2 ın forma Schur generalizata cu valorile proprii distincte, i.e.

17 Reamintim ca prin set simetric ıntelegem o multime numerica ın care elementele complexeapar ın perechi complex conjugate.

488 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

s11t22 6= s22t11. Continuand analogia cu problema valorilor proprii ordinare, fiex2 un vector propriu generalizat unitar al fascicolului (S, T ) asociat valorii propriiλ2 = (s22, t22), i.e. un vector care satisface conditiile

t22Sx2 = s22Tx2, x2 6= 0. (6.78)

De asemenea, fie w ∈ IC2 un vector ortogonal cu x2 si matricea unitara de transfor-mare Z = [x2 w ]. Concret, vectorul propriu generalizat din (6.78) are expresia

x2 = ρ y, cu y =

[s22t12 − s12t22s11t22 − s22t11

]

, (6.79)

unde ρ ∈ IR este un factor scalar de normare, iar matricea unitara Z poate fi rotatia(complexa) care realizeaza (ZHy)(2) = 0.

Daca Q ∈ IC2×2 este o matrice unitara astfel ıncat

(QHSZ)(2, 1) = 0 sau (QHTZ)(2, 1) = 0, (6.80)

atunci obtinem (exercitiu pentru cititor)

S′ = QHSZ =

[s22 ×0 s11

]

, T = QHTZ =

[t22 ×0 t11

]

, (6.81)

unde cu × s-au notat elementele lipsite de semnificatie. S-a realizat astfel per-mutarea celor doua valori proprii generalizate. Alegerea uneia din cele doua alter-native de calcul a matricei Q se face din considerente de asigurare a unei stabilitatinumerice maxime a algoritmului de ordonare. In [ VI ] se arata ca decizia trebuieluata ın raport cu modulele elementelor s22 si t22. Daca |s22| ≥ |t22|, atunci Q va firotatia care anuleaza al doilea element al primei coloane a matricei SZ, iar ın cazcontrar rotatia care anuleaza al doilea element al primei coloane a matricei TZ.

Pentru un fascicol de ordinul n, permutarea valorilor proprii adiacente (skk, tkk)si (sk+1,k+1, tk+1,k+1) ale formei Schur generalizate (S, T ) ∈ ICn×n × ICn×n se reali-zeaza folosind transformarea unitara de echivalenta (S′, T ′) = (QHSZ,QHTZ) cu

Q = diag(Ik−1, Q, In−k−1), Z = diag(Ik−1, Z, In−k−1), (6.82)

unde transformarea definita de matricele de ordinul doi Q si Z asigura permutareavalorilor proprii ale perechii (S(k : k + 1, k : k + 1), T (k : k + 1, k : k + 1)).

Rezumand cele prezentate mai sus, rezulta urmatoarea schema de calcul:

PG11 c 1. Daca skktk+1,k+1 6= sk+1,k+1tkk atunci

1. Se calculeaza vectorul y =

[sk+1,k+1tk,k+1 − sk,k+1tk+1,k+1

skktk+1,k+1 − sk+1,k+1tkk

]

2. Se calculeaza rotatia Z12 astfel ıncat (ZH12y)(2) = 0

3. S ← S diag(Ik−1, Z12, In−k−1)4. T ← T diag(Ik−1, Z12, In−k−1)5. Z ← Z diag(Ik−1, Z12, In−k−1)6. Daca |tk+1,k+1| ≥ |sk+1,k+1| atunci y = S(k : k + 1, k)altfel y = T (k : k + 1, k)

6.4. CALCULUL SUBSPATIILOR DE DEFLATIE 489

7. Se calculeaza rotatia Q12 astfel ıncat (QH12y)(2) = 0

8. S ← diag(Ik−1, QH12, In−k−1)S

9. T ← diag(Ik−1, QH12, In−k−1)T

10. Q← Q diag(Ik−1, Q12, In−k−1)

iar algoritmul corespunzator, bazat pe utilizarea procedurilor devenite familiarepentru cititor, este

Algoritmul 6.10 (PG11c – Permutarea a doua valori proprii ge-neralizate adiacente) (Date o pereche (S, T ) ∈ ICn×n × ICn×n ın formaSchur generalizata, matricele unitare Q,Z∈ICn×n si ıntregul k∈1:n−1,algoritmul suprascrie perechea de matrice (S, T ) cu perechea (S′, T ′) == (QHSZ, QHT Z) care realizeaza permutarea valorilor proprii genera-lizate definite de perechile (skk, tkk), (sk+1,k+1, tk+1,k+1) si actualizeazamatricele de transformare Q si Z.)

1. Daca skktk+1,k+1 6= sk+1,k+1tkk atunci

1. y =

[sk+1,k+1tk,k+1 − sk,k+1tk+1,k+1

skktk+1,k+1 − sk+1,k+1tkk

]

2. [ y, c, s ] = Gc(y)

3. S(1 : k + 1, k : k + 1) = Gcd(S(1 : k + 1, k : k + 1), c, s)

4. T (1 : k + 1, k : k + 1) = Gcd(T (1 : k + 1, k : k + 1), c, s)

5. Z(:, k : k + 1) = Gcd(Z(:, k : k + 1), c, s)

6. Daca |tk+1,k+1| ≥ |sk+1,k+1| atunci1. y = S(k : k + 1)

altfel

1. y = T (k : k + 1, k)

7. [ y, c, s ] = Gc(y)

8. S(k : k + 1, k + 1 : n) = Gcs(c, s, S(k : k + 1, k + 1 : n))

9. sk+1,k = 0 % zeroul calculat este setat efectiv

10. T (k : k + 1, k : n) = Gcs(c, s, T (k : k + 1, k : n))

11. tk+1,k = 0 % zeroul calculat este setat efectiv

12. Q(:, k : k + 1) = Gcd(Q(:, k : k + 1, c, s))

Comentarii. Sintaxa de apel a algoritmului de mai sus va fi

[S, T,Q, Z ] = PG11c(S, T,Q, Z, k).

Complexitatea unei permutari a doua valori proprii generalizate vecine este 24nfiind independenta de k. 3

Din momentul ın care dispunem de procedura de permutare a doua valori pro-prii ınvecinate, algoritmul propriu-zis de ordonare a formei Schur generalizate (com-plexe) se reduce, ın esenta, la un algoritm de sortare al unei multimi ordonate bazatpe interschimbarea elementelor adiacente. Procedand ca ın cazul formei Schur or-dinare, prezentam o varianta care dispune valorile proprii ale unei forme Schur

490 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

generalizate (S, T ) ale fascicolului (A,B) ın ordinea impusa de permutarea dataπ = {i1, i2, . . . , in} ın sensul ca perechea diagonala aflata initial ın pozitia (k, k) vafi plasata ın final ın pozitia (ik, ik) (vezi si comentariul la algoritmul ce urmeaza).Prin actualizarea matricei unitare de transformare Z se calculeaza si baze ortogo-nale pentru subspatiile de deflatie asociate unor grupuri impuse de valori propriigeneralizate. Concret, coloanele matricei actualizate Z(: , 1 : k) formeaza o bazaortogonala a subspatiului de deflatie Sk asociat setului de valori proprii Λk == {λi = (sii, tii) | i = 1 : k}} (ın numerotarea finala). Actualizarea matriceiunitare de transformare Q nu este necesara. Daca se efectueaza totusi, atuncicoloanele matricei actualizate Q(: , 1 :k) formeaza o baza ortogonala a subspatiuluiVk = ASk +BSk ın situatia ın care dimVk = dimSk = k.

Algoritmul 6.11 (FSG ORD – Ordonarea formei Schur genera-lizate (complexe)) (Date o pereche (S, T ) ∈ ICn×n × ICn×n ın formaSchur generalizata, matricele unitare Q,Z ∈ ICn×n si permutarea π == {i1, i2, . . . , in}, algoritmul suprascrie perechea (S, T ) cu perechea uni-tar echivalenta (S′, T ′) = (QHSZ, QHT Z) care are (s′ik,ik , t

′ik,ik

) == (skk, tkk), k = 1 : n si actualizeaza matricele de transformare Qsi Z.)

1. Pentru k = 1 : (n− 1)

1. muta =’nu’

2. l = k

3. Pentru j = (k + 1) : n

1. Daca ij < il atunci

1. l = j

2. muta=’da’

4. Daca muta =’da’ atunci

1. Pentru j = (l − 1) : −1 : k

1. [S, T,Q, Z ] = PG11c(S, T,Q, Z, j)

2. ij ↔ ij+1

Comentarii. Sintaxa naturala de apel a algoritmului prezentat este

[S, T,Q, Z ] = FSG ORD(S, T,Q, Z, π).

Complexitatea unei ordonari este dictata esential de natura permutarii. Cazurilelimita sunt permutarea identica pentru care nu se face nici o operatie aritmetica siinversiunea pentru care se efectueaza 1

2n(n− 1) apelari ale procedurii PG11c careconduc la o complexitate de O(n3).

Algoritmul de mai sus realizeaza o ordonare totala a perechilor diagonale. Dacase urmareste exclusiv constructia unei baze unitare pentru un subspatiu de deflatiek-dimensional (k < n) este suficienta o ordonare partiala constand ın aducerea, pecaile cele mai ”scurte”, a valorilor proprii generalizate vizate ın primele k pozitii di-agonale. De asemenea, se renunta la actualizarea matricei Q. Propunem cititoruluio astfel de adaptare a algoritmului.

6.4. CALCULUL SUBSPATIILOR DE DEFLATIE 491

De multe ori este mai comod ca ın locul permutarii π sa utilizam permutareainversa σ = π−1 = {j1, j2, . . . , jn}. In acest caz, algoritmul suprascrie perechea(S, T ) cu perechea unitar echivalenta (S, T )← (S′, T ′) = (QHSZ, QHT Z) care are(s′kk, t

′kk) = (sjk,jk , tjk,jk) si o varianta a sa arata astfel.

1. Pentru k = 1 : n− 1

1. Daca k 6= jk atunci

1. Pentru i = (jk − 1) : −1 : k

1. [S, T,Q, Z ] = PG11c(S, T,Q, Z, i)

2. Pentru i = (k + 1) : n

1. Daca ji < jk atunci ji = ji + 1.

Dupa executia acestui algoritm coloanele matricei actualizate Z(: , 1 : k) formeazao baza ortogonala a subspatiului de deflatie Sk asociat setului de valori propriiΛk = {λi = (sii, tii) | i ∈ {j1, j2, . . . , jk}} (ın numerotarea initiala). 3

6.4.2 Ordonarea formei Schur reale generalizate

In cazul real forma Schur generalizata (S, T ) ∈ IRn×n × IRn×n a fascicolului definitde (A,B) ∈ IRn×n × IRn×n are matricea S ın forma Schur reala, iar matricea Tsuperior triunghiulara. Vom considera partitiile bloc ale matricelor S si T dictatede dimensiunile lk × lk cu lk ∈ {1, 2}, k = 1 : p, ale blocurilor diagonale ale lui S:

S =

S11 S12 · · · S1p

0 S22 · · · S1p

......

. . ....

0 0 · · · Spp

, T =

T11 T12 · · · T1p0 T22 · · · T1p...

.... . .

...0 0 · · · Tpp

. (6.83)

Problema calculului subspatiilor de deflatie reale asociate unor seturi simetrice devalori proprii generalizate revine la ordonarea corespunzatoare a blocurilor diagonaleale formei Schur reale generalizate. In acest scop este necesar sa stim sa permutamdoua perechi de blocuri adiacente. Permutarea a doua perechi de blocuri vecine1 × 1 se face cu algoritmul PG11c cu singura mentiune ca toate transformarileutilizate sunt reale (cu reducerea corespunzatoare a numarului de operatii). Intrucatscrierea variantei reale a algoritmului se rezuma la ınlocuirea siglei c cu sigla r ınidentificatorii procedurilor, ne marginim sa introducem sintaxa de utilizare

[S, T,Q, Z ] = PG11r(S, T,Q, Z, k).

Ramane sa aratam cum se pot permuta, prin transformari ortogonale de echivalenta,doua perechi de blocuri diagonale vecine din care cel putin una din perechi areblocurile de ordinul 2.

Consideram acum perechea de matrice de ordin 3 sau 4, partitionate identic,

S =

[S11 S12

0 S22

]

, T =

[T11 T120 T22

]

, (6.84)

492 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

unde, prin urmare, cel putin unul din blocurile diagonale S11 (T11), S22 (T22) este2 × 2. In principiu, putem aplica ideile utilizate la elaborarea algoritmului PG11i.e. calculul unei baze ortogonale a subspatiului de deflatie asociat valorilor propriigeneralizate ale perechii (S22, T22) si aplicarea propozitiei 6.2. Propunem cititoru-lui implementarea acestor idei. Aici vom urma o cale echivalenta care utilizeazaalgoritmul QZ cu deplasare implicita. Avand ın vedere faptul ca perechea (S, T )din (6.84) este deja ın forma Schur reala generalizata rezulta ca putem determinadeplasarea (ın forma implicita) exacta care, utilizata ın algoritmul QZ2 pune ınevidenta, ın pozitia (2, 2) perechea cu valorile proprii dorite, ın cazul nostru, ınvederea permutarii, cu valorile proprii ale perechii (S11, T11). Cunoasterea exacta adeplasarii face ca, teoretic, sa fie suficienta o singura iteratie QZ pentru obtinerearezultatului dorit. In practica, daca nivelul de toleranta practicat este de ordinulde marime al erorilor de rotunjire, este posibil sa fie necesare cateva (doua-trei)iteratii pentru a putea considera elementele blocului 21 neglijabile. De asemenea,ıntrucat algoritmul QZ2 cu deplasari implicite efectueaza calculele aferente uneiiteratii numai asupra perechilor ın forma Hessenberg generalizata ireductibila estenecesar mai ıntai un pas QZ artificial care sa altereze structura Schur reala gene-ralizata a perechii (S, T ). In consecinta, toate cele trei tipuri de permutare se vorsupune urmatoarei scheme de calcul.

PG kl1. Se determina elementele definitorii exacte pentru vectorul w de deplasare

implicita (i.e. valoarea proprie generalizata daca prima pereche de blocurieste 1× 1, respectiv suma s si produsul p ale valorilor proprii generalizateın cazul cand prima pereche de blocuri este 2× 2).

2. Se executa un pas QZ cu un vector de deplasare implicita fixat aleator

(e.g. alegerea w = [ 1 1 1 ]Tda bune rezultate).

3. Se aplica algoritmul QZ cu deplasarea implicita exacta (i.e. calculata cuelementele de la punctul 1).

Pentru fascicolul de ordinul n (6.82), permutarea blocurilor adiacente (Skk, Tkk)si (Sk+1,k+1, Tk+1,k+1) ale formei Schur reale generalizate (S, T ) ∈ IRn×n× IRn×n seobtine folosind transformarea ortogonala de echivalenta (S′, T ′) = (QTSZ,QTTZ)definita de

Q = diag(Ir, Q, Is), Z = diag(Ir, Z, Is), (6.85)

unde transformarea definita de matricele Q si Z, de ordinul 2, 3 sau 4, asigurapermutarea blocurilor diagonale ale perechii

S =

[Skk Sk,k+1

0 Sk+1,k+1

]

, T =

[Tkk Tk,k+1

0 Tk+1,k+1

]

, (6.86)

si unde r este ordinul cumulat al blocurilor diagonale 1 : (k − 1), iar s este ordinulcumulat al blocurilor diagonale (k + 2) : p.

Vom implementa schema de calcul de mai sus ıntr-un algoritm care va trata toatecazurile. Pentru aceasta vom utiliza rezultatele stabilite si procedurile elaborate ınacest capitol. Pentru o ıntelegere mai lesnicioasa a algoritmului facem urmatoareleprecizari:

6.4. CALCULUL SUBSPATIILOR DE DEFLATIE 493

– pentru relatiile de calcul al vectorilor de deplasare implicita (exacta) reco-mandam consultarea algoritmilor Vd1 si Vd2;

– pentru o prezentare mai clara a algoritmulor, actualizarea blocurilor nediag-onale de pe bloc-liniile si bloc-coloanele afectate ın etapa curenta, conform relatiei(6.85), se va face utilizand matricele de transformare locala Q si Z ın forma nefac-torizata.

Obtinem urmatorul algoritm.

Algoritmul 6.12 (PGr – Permutarea a doua perechi diagonale adi-acente) (Date o pereche (S, T ) ∈ IRn×n × IRn×n ın forma Schur realageneralizata, ıntregul l care reprezintand pozitia diagonala a elementului

11 al primului bloc diagonal si ordinele i s j ale celor doua blocuri diago-nale adiacente precum s toleranta tol pentru neglijarea elementelor sub-diagonale, algoritmul suprascrie perechea (S, T ) cu perechea (S′, T ′) == (QTSZ, QTT Z), realizand permutarea perechii de blocuri diagonale(Skk, Tkk) cu perechea de blocuri diagonale (Sk+1,k+1, Tk+1,k+1). Deasemenea, se actualizeaza matricele de transformare Q si Z.)

1. % Cazul a doua perechi de blocuri 1× 1Daca i = 1 si j = 1 atunci

1. [S, T,Q, Z ] = PG11r(S, T,Q, Z, l)

2. Return

2. % Cazul perechilor de blocuri 1× 1, 2× 2Daca i = 1 si j = 2 atunci

1. q = l + 2

2. µ =sql,ltl,l

3. w = [ 1 1 1 ]T

4. [S(l : q, l : q), T (l : q, l : q), Q, Z ] == IT QZ2(S(l : q, l : q), T (l : q, l : q), I3, I3, w,

′da′)

5. Cat timp |sl+2,l+1| ≥ tol(|sl+1,l+1|+ |sl+2,l+2|)1. wexact = [

sl,ltl,l− µ sl+1,l

tl,l0 ]

T

2. [S(l : q, l : q), T (l : q, l : q), Q, Z ] == IT QZ2(S(l : q, l : q), T (l : q, l : q), Q, Z, wexact,

′da′)

6. S(l+2, l+1) = 0 % anularea efectiva a elementului neglijabil

7. Daca l > 1 atunci

1. S(1 : l − 1, l : q) = S(1 : l − 1, l : q)Z

2. T (1 : l − 1, l : q) = T (1 : l− 1, l : q)Z

8. Daca l < n− 2 atunci

1. S(l : q, q + 1 : n) = QTS(l : q, q + 1 : n)

2. T (l : q, q + 1 : n) = QTT (l : q, q + 1 : n)

9. Q( : , l : q) = Q( : , l : q)Q

10. Z( : , l : q) = Z( : , l : q)Z

494 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

11. Return

3. % Cazul primei perechi de blocuri 2× 2Daca i = 2 si j < 3 atunci

1. q = l + i+ j − 1

2. σ =sl+1,l+1tl,l + sl,ltl+1,l+1 − sl+1,ltl,l+1

tl,ltl+1,l+1

3. π =sl,lsl+1,l+1 − sl+1,lsl,l+1

tl,ltl+1,l+1

4. w = [ 1 1 1 ]T

5. [S(l : q, l : q), T (l : q, l : q), Q, Z ] == IT QZ2(S(l : q, l : q), T (l : q, l : q), Iq−l+1, Iq−l+1, w,

′da′)

6. r = l + j

7. Cat timp |sr,r−1| ≥ tol(|sr−1,r−1|+ |sr,r|)1. α =

slltll, β =

sl+1,l+1

tl+1,l+1, γ =

sl+1,l

tll,

δ =γ

tl+1,l+1, η = α− δtl,l+1 − σ.

2. wexact =

αη + δsl,l+1 + πγ(β + η)δsl+2,l+1

3. [S(l : q, l : q), T (l : q, l : q), Q, Z ] == IT QZ2(S(l : q, l : q), T (l : q, l : q), Q, Z, wexact,

′da′)

8. S(r, r − 1) = 0 % anularea efectiva a elementului neglijabil

9. Daca l > 1 atunci

1. S(1 : l − 1, l : q) = S(1 : l − 1, l : q)Z

2. T (1 : l − 1, l : q) = T (1 : l− 1, l : q)Z

10. Daca q < n atunci

1. S(l : q, q + 1 : n) = QTS(l : q, q + 1 : n)

2. T (l : q, q + 1 : n) = QTT (l : q, q + 1 : n)

11. Q( : , l : q) = Q( : , l : q)Q

12. Z( : , l : q) = Z( : , l : q)Z

Comentarii. Sintaxa de apel a acestui algoritm va fi

[S, T,Q, Z ] = PGr(S, T,Q, Z, l, i, j, tol).

Complexitatea unei permutari a doua perechi de blocuri adiacente este O(n), fiindpractic independenta de pozitia lor, dar dependenta de dimensiunile blocurilor di-agonale ale matricii S. 3

Cu aceasta procedura de permutare a doua perechi adiacente algoritmul de or-donare a formei Schur reale generalizate este, ın esenta, identic cu cel de ordonarea formei Schur complexe generalizate si este prezentat ın continuare. Facem si aici,pentru o ıntelegere mai comoda a algoritmului, urmatoarele precizari:

6.4. CALCULUL SUBSPATIILOR DE DEFLATIE 495

– structura (i.e. ordinul) blocurilor diagonale ale matricei S a FSRG va fi me-morata ın vectorul strbl;

– pentru localizarea blocurilor diagonale ale matricei S a FSRG vom utilizavectorul lcbl care va contine pozitiile elementelor (1, 1) ale acestora;

– pentru a simplifica la maxim monitorizarea elementelor nule de pe subdiag-onala matricei S, nu vom apela formal la algoritmul QZ2 ci vom adopta ideileacestuia la situata structurala concreta.

Se obtine urmatorul algoritm.

Algoritmul 6.13 (FSRG ORD – Ordonarea formei Schur realegeneralizate) (Date o pereche (S, T ) ∈ IRn×n× IRn×n ın forma Schur ge-neralizata (6.83), cu T nesingulara, matricele ortogonale Q,Z ∈ IRn×n,permutarea π = {i1, i2, . . . , ip} si toleranta tol pentru neglijarea ele-mentelor subdiagonale, algoritmul suprascrie perechea (S,T) cu perecheaortogonal echivalenta (S′, T ′) = (QTSZ, QTT Z) avand (S′

ikik, T ′

ikik) =

(Skk, Tkk) si actualizeaza matricele ortogonale de transformare Q si Z.)

1. % Determinarea numarului, a structurii si localizarii blocurilor di-agonale ale matricei S.

1. p = 0, j = 1

2. Cat timp j < n

1. p← p+ 1

2. Daca sj+1,j = 0 atunci

1. strbl(p) = 1

2. j ← j + 1

3. Daca j = n atunci

1. p← p+ 1

2. strbl(p) = 1

altfel

1. strbl(p) = 2

2. j ← j + 2

2. Pentru k = 1 : (p− 1)

1. muta =’nu’

2. l = k

3. Pentru j = (k + 1) : p

1. Daca ij < il atunci

1. l = j

2. muta =’da’

4. Daca muta =’da’ atunci

1. Pentru j = (l − 1) : −1 : k

1. lcbl(1) = 1

2. Pentru i = 2 : p

1. lcbl(i) = lcbl(i− 1) + strbl(i− 1)

496 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

3. [S, T,Q, Z] == PGr(S, T,Q, Z, lcbl(j), strbl(j), strbl(j + 1), tol)

4. ij ↔ ij+1

5. strbl(j)↔ strbl(j + 1)

Comentarii. Sintaxa de apel a algoritmului de mai sus este

[S, T,Q, Z ] = FSRG ORD(S, T,Q, Z, π, tol).

La fel ca ın cazul complex, volumul de calcul necesar pentru ordonare este dictataesential de natura permutarii. Cazul cel mai defavorabil apare cand permutareaeste o inversiune si toate blocurile sunt 2× 2 si are o complexitate de O(n3).

Si aici, daca se urmareste exclusiv constructia unei baze unitare pentru unsubspatiu de deflatie asociat unui set simetric de valori proprii generalizate definitede k blocuri diagonale (k < p), este suficienta o ordonare partiala. Se recomanda,de asemenea, renuntarea la actualizarea matricei Q.

In cazul ın care se prefera utilizarea permutarii inverse σ = π−1 = {j1, j2, . . . , jp}se poate utiliza o schema de calcul similara cu cea prezentata ın comentariile laalgoritmul 6.10. Scrierea explicita a acestei variante de algoritm de ordonare estepropusa cititorului. 3

6.5 Conditionarea valorilor proprii generalizatesi a vectorilor proprii generalizati

Sensibilitatea valorilor proprii generalizate la variatii ın datele initiale, sau altfelspus conditionarea lor numerica, se poate aprecia foarte usor ın forma Schur gene-ralizata. In ipoteza plauzibila ca forma Schur generalizata (S, T ) este putin sensibilala perturbatii ın elementele matricelor perechii (A,B) rezulta ca o valoare propriegeneralizata λi = sii/tii este cu atat mai rau conditionata cu cat tii este mai mic.Totusi, daca privim valorile proprii generalizate ca perechi (sii, tii), fara sa con-sideram necesara efectuarea ımpartirii, aceasta afirmatie nu mai poate fi sustinuta.Din acest motiv, ın aprecierea conditionarii numerice a valorilor proprii generalizatese recomanda o tratare simetrica a perechii (A,B) ın sensul ca trebuie consideratesimultan ambele fascicole F = A − λB si G = B − λA. Unei valori proprii rauconditionate a fascicolului F ıi corespunde o valoare proprie inversa a lui G carepoate fi foarte bine conditionata. De aceeea, ın [ VI ], pentru aprecierea conditionariivalorilor proprii generalizate se propune utilizarea metricii cordale definita pentruIR prin distanta 18

chord(α, β) =|α− β|√

1 + α2√

1 + β2, ∀α, β ∈ IR.

18 Distantei cordale i se pot da urmatoarele interpretari.1. Fie θα = arctgα si θβ = arctg β. Atunci, este usor de aratat ca chord(α, β) = | sin(θα − θβ)|.

Prin urmare, printre altele, 0 ≤ chord(α, β) < 1.

2. In cazul complex, daca πα, πβ sunt proiectiile lui α, respectiv β pe sfera Riemann, atuncichord(α, β) este jumatate din distanta euclidiana (i.e. lungimea coardei) dintre cele doua proiectii.

6.6. STABILITATEA ALGORITMULUI QZ 497

Se poate arata ca daca λ este o valoare proprie generalizata distincta a fascicoluluiF si λ este valoarea proprie generalizata corespunzatoare a fascicolului perturbatF = A− λB cu ‖A−A‖2 ≈ ‖B −B‖2 ≈ ε, atunci

chord(λ, λ) ≤ ε

(yHAx)2+ (yHBx)

2 +O(ε2),

unde x, y ∈ ICn sunt vectori proprii generalizati unitari la dreapta, respectiv la stangaai fascicolului F , i.e. satisfac Ax = λBx, yHA = λyHB si ‖x‖ = ‖y‖ = 1. Prinurmare, conditionarea unei valori proprii generalizate individuale poate fi apreciatacu numarul

κλ =1

(yHAx)2+ (yHBx)

2 .

Din expresia de mai sus rezulta ca se pot considera rau conditionate numeric numaiacele valori proprii generalizate pentru care expresia de la numitor (simetrica ınraport cu A si B) este mica. Situatii de acest fel apar, de exemplu, cand fascicolulF este ”apropiat” de un fascicol singular, i.e. ın forma Schur generalizata exista(cel putin) o pereche (sii, tii) cu ambele valori foarte mici. In mod natural, ıntr-unastfel de caz celelalte perechi (sii, tii) pot varia ın limite foarte largi. (Amintimca daca fascicolul este singular, i.e. exista (sii, tii) = (0, 0), atunci orice numarcomplex este valoare proprie generalizata a fascicolului initial ceea ce ınseamna cacelelalte perechi diagonale ale formei Schur generalizate pot lua orice valori.)

In ceea ce priveste conditionarea vectorilor proprii generalizati, aceasta estedependenta ın buna masura de separarea valorii proprii generalizate asociate decelelalte valori proprii. In aplicatii, ın general, se evita calculul vectorilor propriigeneralizati, acestia putand fi ınlocuiti cu succes de coloanele matricelor de trans-formare.

6.6 Stabilitatea numerica a algoritmului QZ

Asa cum s-a mai mentionat si ın comentariile diversilor algoritmi partiali, utilizareaconsecventa a transformarilor unitare (ın cazul real, ortogonale) confera procesuluide calcul al formei Schur generalizate o foarte buna stabilitate numerica. In litera-tura de specialitate se arata ca forma Schur generalizata calculata (S, T ), cu algo-ritmul QZ, a unei perechi de matrice (A,B) este forma Schur generalizata exactaa perechii (A,B) usor perturbate, i.e. satisface relatia

(S, T ) = (QH(A+ E)Z, QH(B + F )Z),

unde E si F sunt matrice de perturbatie ce satisfac inegalitatile

‖E‖ ≤ p(n)‖A‖εM , ‖F‖ ≤ p(n)‖B‖εM ,

iar Q si Z sunt doua matrice riguros unitare. In relatiile de mai sus, p(n) esteapreciat drept o functie cu o crestere ”modesta” de dimensiunea n a problemei,termen folosit curent pentru functii polinomiale de gradul 1, cel mult 2.

In concluzie, valorile proprii generalizate bine conditionate se calculeaza cu oınalta acuratete.

498 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

6.7 Rutine LAPACK si MATLAB

LAPACK. Calculul valorilor si vectorilor proprii generalizati ai unei perechi dematrice (A,B) este efectuat ın LAPACK de doua rutine driver:

1. xGEGS calculeaza forma Schur generalizata a perechii (A,B) si eventual vec-torii Schur, folosind algoritmul QZ.

2. xGEGV calculeaza valorile si eventual vectorii proprii generalizati ai perechii(A,B).

Principalele rutinele de calcul implementeaza cele doua faze ale algoritmuluiQZ; sa notam abrevierile utilizate pentru diverse tipuri de matrice interesante ınaceasta problema: GG – pereche de matrice generale, HG – pereche ın forma Hessen-berg generalizata, TG – pereche ın forma Schur generalizata.

• xGGHRD realizeaza reducerea unei perechi generale (A,B) la forma Hessenberggeneralizata (H,T ) prin transformari de asemanare ortogonale.

• xHGEQZ implementeaza faza iterativa a algoritmului QZ, transformand pere-chea (H,T ) ın forma Schur generalizata, cu acumularea optionala a trans-formarilor (si deci obtinerea vectorilor Schur).

Vectorii proprii generalizati ai unei perechi ın forma Schur (A,B) sunt calculatide rutina xTGEVC. Aceeasi rutina poate calcula vectorii proprii generalizati ai pere-chii initiale (A,B), daca primeste ca argumente de intrare vectorii Schur generalizaticalculati de rutinele de mai sus.

Rutina xGGBAL realizeaza scalarea (echilibrarea) perechii (A,B). Alte rutine,similare cu cele pentru valori proprii, sunt actualmente ın curs de elaborare.

MATLAB. Valorile si vectorii proprii generalizati ai unei perechi (A,B) potfi calculate cu aceeasi functie ca valorile proprii (diferenta e facuta de numarulargumentelor de intrare):

[V, D] = eig(A, B)

V fiind matricea vectorilor proprii generalizati, iar D o matrice diagonala continandvalorile proprii generalizate (astfel ıncat AV = BVD). Apelul simplu eig(A,B)

returneaza un vector continand valorile proprii generalizate. Functia implementeazaalgoritmul QZ.

6.8 Probleme

P 6.1 Se considera fascicolul matriceal F = A− λB, unde

A =

[2 4 52 5 82 3 2

]

, B =

[1 1 11 α 21 2− α β

]

,

6.8. PROBLEME 499

cu α, β parametri reali.a) Discutati ın raport cu α, β numarul valorilor proprii generalizate finite ale fasci-

colului F .b) Daca F este un fascicol regulat calculati un vector propriu generalizat x al fasci-

colului F independent de α, β; determinati parametrii α, β astfel ıncat xTBx = 0 si Beste nesingulara.

c) In cazul α = 2, β = 1, calculati o baza ortonormala pentru un subspatiu de deflatiede dimensiune 2 al fascicolului F ın IR3.

P 6.2 Consideram perechea (A,B) ∈ IRn×n×IRn×n si fie UTBV = Σ cu Σ =

[Σ1 00 0

]

,

Σ1 = diag(σ1, σ2, · · · , σr) si r = rang(B) ≥ 1 descompunerea valorilor singulare a matriceiB. Aratati ca daca fascicolul A − λB nu are nici o valoare proprie generalizata finita,atunci matricea (U(:, r + 1 : n))TAV (:, r + 1 : n) este singulara.

P 6.3 Ce proprietati au valorile proprii generalizate ale unei perechi (A,B) ∈ ICn×n×× ICn×n cu matricele A si B unitare (ın cazul real, ortogonale)?

P 6.4 Fie perechea (A,B) ∈ ICn×n × ICn×n cu B nesingulara. Sa se arate ca λ ∈ λ(A,B)daca si numai daca λ− µ ∈ λ(B,B(A− µB)−1B) pentru µ 6∈ λ(A,B).

P 6.5 Scrieti un algoritm de reducere a unei perechi reale (A,B) ∈ IRn×n × IRn×n laforma Hessenberg generalizata prin transformari ortogonale de echivalenta.

P 6.6 Elaborati un algoritm care sa calculeze iterativ un vector propriu generalizat alperechii (A,B) ∈ ICn×n× ICn×n cu B nesingulara adaptand metoda puterii pentru matriceaF = B−1A sau matricea G = AB−1 fara a calcula explicit matricele F sau G. Aceeasicerinta pentru adaptarea metodei puterii inverse.

P 6.7 Fie dat un vector propriu generalizat x ∈ ICn al unui fascicol regulat definit deperechea (A,B) ∈ ICn×n × ICn×n. Sa se arate ca Bx 6= 0 si ca functia f : IC → IR,

f(λ) =1

2‖Ax− λBx‖22 ısi atinge valoare minima ın valoarea proprie λ ∈ λ(A,B) asociata

lui x data de expresia λ =xHBHAx

xHBHBx∈ λ(A,B).

P 6.8 Fie (H,T ) ∈ ICn×n × ICn×n ın forma Hessenberg generalizata cu T nesingulara.Aratati ca matricea superior Hessenberg G = HT−1 este ireductibila daca si numai dacamatricea H este ireductibila.

P 6.9 Se da un fascicol real de ordinul 2 definit de perechea (H,T ) ∈ IR2×2×IR2×2 ın formaHessenberg ireductibila cu valori proprii generalizate reale. Sa se scrie un algoritm de calculal matricelor ortogonale Q,Z ∈ IR2×2 astfel ıncat perechea (H, T ) = (QTHZ,QTTZ) safie ın forma Schur.

P 6.10 Fie perechea (A,B) ∈ IRn×n × IRn×n cu A, B simetrice si, ın plus, B pozitivdefinita. Sa se arate ca toate valorile proprii generalizate ale perechii (A,B) sunt reale.Este adevarata aceasta asertiune si daca B nu este pozitiv definita?

Elaborati un algoritm de calcul al valorilor proprii generalizate ale fascicolului (A,B)care sa exploateze simetria celor doua matrice.

P 6.11 Se da o pereche (S, T ) ∈ IRn×n × IRn×n ın forma Schur reala generalizata. Se ceralgoritmii de calcul pentru

500 CAPITOLUL 6. VALORI SI VECTORI PROPRII GENERALIZATI

a) un vector propriu generalizat asociat valorii proprii generalizate reale distincte λk == skk/tkk;

b) o pereche de vectori proprii generalizati complex conjugati asociati unei perechi devalori proprii generalizate complex conjugate date de o pereche diagonala 2× 2 situata peliniile si coloanele (k, k + 1).

P 6.12 Se considera data o pereche (S,T ) ∈ ICn×n × ICn×n ın forma Schur genera-lizata avand ın pozitiile diagonale consecutive k, k + 1 o valoare proprie generalizatadubla λk = skk/tkk = λk+1 = sk+1,k+1/tk+1,k+1. In ce conditii exista doi vectori propriigeneralizati liniar independenti asociati acestei valori proprii duble? Considerand acesteconditii ındeplinite, scrieti un algoritm de calcul pentru calculul a doi astfel de vectoriproprii.

Indicatii, raspunsuri, solutii

Cap. 0. Concepte fundamentale ale calculului numeric

P0.1 Rezultatul depinde de ordinea de calcul; avem y1 = (x1 + x2) + x3 = 0 siy2 = x1 + (x2 + x3) = 0.001. Rezultatul exact este y2 (eroare relativa egala cu 0). Pentruy1, eroarea relativa este |0− 0.001|/0.001 = 1 (adica 100%).

P0.2 Rezultatul calculat este y = fl(fl(x1 + x2) + x3) = fl((x1 + x2)(1 + ρ1) + x3) == [(x1+x2)(1+ρ1)+x3](1+ρ2), cu |ρ1|, |ρ2| ≤ µβ−t, si µ de ordinul unitatii. Rezulta ca:

|y − y||y| ≤

(

1 +|x1 + x2|

|x1 + x2 + x3|

)

µβ−t.

P0.3 Presupunem ca datele de intrare sunt afectate de erori, si deci (a+∆a, b+∆b)este utilizat ın loc de (a, b). Rezultatul va fi x +∆x. Din (x+∆x)(a+∆a) = (b +∆b),neglijand ∆a∆x, rezulta ca ∆x/x = −∆a/a−∆b/b. Deci, problema este ıntotdeauna bineconditionata (erori relative mici ale intrarii implica erori relative mici ale iesirii).

Deoarece x = fl(−b/a) = (−b/a)(1 + ρ) = −b(1 + ρ)/a = −b/a, cu |ρ| ≤ µβ−t,algoritmul este numeric stabil. (b este aproape de b).

P0.4 Problema mosteneste proasta conditionare a sumei (de exemplu, cand |a1 + a2|e mic si |a1|, |a2| sunt mari). ”Algoritmul” x = −(b1 + b2)/(a1 + a2) este stabil.

P0.5 Urmatorul numar ın virgula mobila este x = 0.100 . . . 01 ·β1; deci, x−1 = β−t+1

(eroarea de reprezentare maxima pentru rotunjirea prin trunchiere).

P0.6 εr ≤ 0.5β−t+1.

P0.7 Varianta 1: (x ⊗ x) ⊖ (y ⊗ y) = [x2(1 + ρ1) + y2(1 + ρ2)](1 + ρ), cu ρ1, ρ2, ρ deordinul erorii de reprezentare u. Atunci eroarea relativa

εr1 ≈ ρ+ρ1x

2 − ρ2y2

x2 − y2

poate fi mare atunci cand x2 si y2 au valori apropiate.

Varianta 2: (x⊖ y) ⊗ (x ⊕ y) = [(x − y)(1 + σ1)][(x + y)(1 + σ2)](1 + σ), cu σ1, σ2, σde ordinul de marime al lui u. Eroarea relativa este acum (u2 ≪ u)

εr2 ≈ σ1 + σ2 + σ ≤ 3u.

Varianta 1 reprezinta un algoritm cu potentiale instabilitati numerice; varianta 2 esteun algoritm stabil.

501

502 INDICATII, RASPUNSURI, SOLUTII

Cap. 1. Algoritmi elementari de calcul numeric

P1.4 Pentru norma 1, un exemplu este x = e1, y = e2. Pentru norma ∞, putem luax = e1 + e2 si y = e2. In norma 2, egalitatea este imposibila pentru vectori necoliniari(suma lungimii a doua laturi ale unui triunghi este mai mare decat lungimea celei de-atreia); la fel ın normele p 6= 1,∞.

P1.5 Pentru n = 2, x =

[x1

x2

]

, y =

[y1y2

]

, α = x1y1+x2y2. fl(xiyi) = xiyi(1+σi),

cu |σi| ≤ εM . Atunci α = [x1y1(1 + σ1) + x2y2(1 + σ2)](1 + σ) si eroarea absoluta este|α− α| = |x1y1σ1 + x2y2σ2 +O(εM )| ≤ 2εM |y|T |x|+O(εM ).

P1.6 Deoarece dorim aTj ak+1 = 0, ∀j ∈ 1 : k, iar vectorii a1, . . . , ak sunt ortogonali,

atunci 0 = aTj ak+1 =

∑k

i=1αika

Tj ai+aT

j bk+1 = αjkaTj aj +aT

j bk+1 si deci scalarii αjk sunt

unic determinati prin αjk = −(aTj bk+1)/(‖aj‖22).

P1.7 Coloanele (sau liniile) nenule ale matricei A sunt vectori coliniari.P1.8 Se calculeaza (AB)C sau A(BC) dupa cum n1n2n3 +n1n3n4 mai mic, respectiv

mai mare decat n2n3n4 + n1n2n4.P1.9 ‖A‖2 ≥ ‖Aej‖2 = (

∑m

l=1a2lj)

1/2 ≥ |aij | pentru orice i, j. Pentru a doua parte,din (1.29) avem ‖A‖2 ≤ ‖A‖F si evident ‖A‖F ≤ max

√mn|aij |.

P1.10 Din definitia normei 2 avem

‖A‖2 = max‖x‖=1

‖Ax‖2 = max‖x‖=1

(m∑

i=1

(

n∑

j=1

aijxj)2

)1/2

. (7.1)

Din inegalitatea Cauchy-Buniakowski-Schwarz, tinand seama ca ‖x‖2 = 1, avem(∑n

j=1aijxj)

2 ≤∑n

j=1a2ij . Inlocuind ın (7.1), este imediata inegalitatea ‖A‖2 ≤ ‖A‖F .

Luand acum vectorul x cu componentele egale, xi = 1/√n, din (7.1) se obtine

‖A‖2 ≥ (1/√n)‖A‖F .

Luand ın (7.1) x = ej , se obtine ‖A‖2 ≥ (1/√m)‖A‖1.

Pentru un vector x oarecare sunt ındeplinite relatiile ‖x‖2 ≤ ‖x‖1 si ‖x‖2 ≥ (1/√n)‖x‖1.

Atunci

‖A‖2 = sup‖Ax‖2‖x‖2 ≤ sup

‖Ax‖1(1/√n)‖x‖1

=√n‖A‖1.

O matrice A cu toate elementele egale cu 1 are ‖A‖F = ‖A‖2 =√mn. O matrice

B cu b1j = 1 si restul elementelor nule are ‖B‖2 =√n, ‖B‖1 = 1 si ‖B‖∞ = n, deci

‖B‖2 =√n‖B‖1 = (1/

√n)‖B‖∞.

P1.11 Daca B ∈ IRp×r, fara a afecta generalitatea putem considera B = A(1 : p, 1 : r).Fie C = A(1 : m, 1 : r). Este evident ca daca Z este multimea vectorilor din IRn de normaunitate avand ultimele n− r componente nule, atunci

‖A‖ = max‖x‖=1

‖Ax‖ ≥ maxz∈Z‖Az‖ = ‖C‖.

Pentru x ∈ IRr, notand y = Cx ∈ IRm si y′ = y(1 : p) = Bx, este evident ca ‖y‖ ≥ ‖y′‖,deci ‖C‖ ≥ ‖B‖.

P1.12 Produsul scalar a doi vectori y, z de norma data este maxim cand vectorii suntcoliniari (vezi din nou inegalitatea Cauchy-Buniakowski-Schwarz) si atunci |yT z| = ‖y‖‖z‖.Cu z = Ax si definitia normei 2 rezulta prima inegalitate, din care se deduc imediatcelelalte.

P1.13A este inversabila, deci ImA = IRn. ‖A−1‖ = supx 6=0‖A−1x‖

‖x‖ = supy 6=0‖A−1Ay‖

‖Ay‖ .

Deci, 1/‖A−1‖ = infy 6=0‖Ay‖‖y‖ = min‖x‖=1 ‖Ax‖.

INDICATII, RASPUNSURI, SOLUTII 503

P1.14 L2 are prima supradiagonala nula, L3 primele doua etc.P1.15 Notand C = AB, avem cij =

∑n

k=1aikbkj . aik si bkj pot fi simultan nenule

daca multimile i − p : i + p si j − q : j + q au cel putin un element comun, adica dacai+ p > j − q sau i− p < j + q, ceea ce e echivalent cu |i− j| < p+ q, deci C este matricebanda de latime p+ q.

P1.16 Indicatie: rezultatul este o matrice nestructurata.P1.17 Ordinea de calcul va fi: Pentru i = n : −1 : 1, Pentru j = 1 : i. Sau: Pentru

j = 1 : n, Pentru i = n : −1 : j.P1.18 Pentru matrice ortogonale, ın general, nu.P1.19 Se adapteaza algoritmul 1.20 la cazul matricelor superior triunghiulare, iar ın

instructiunea 1.4, ın loc de UTRIS se apeleaza algoritmul de rezolvare de sisteme liniare.P1.20 O simpla substitutie este suficienta. Pentru deducerea expresiei lui N(n) se

presupune N(n) = αnlog 7 + βn2; coeficientii α si β se calculeaza prin identificare cu(1.38). Mai multe despre rezolvarea recurentelor ın [2].

P1.21 A fiind ortogonal diagonalizabila, exista U ortogonala astfel ıncat UTΛU = A.Elementele diagonale ale lui Λ sunt pozitiv definite (vezi si problema 1.30); fie D matriceadiagonala cu dii =

√λi si Q = UTDU , matrice simetrica (si pozitiv definita); din motive

evidente, se noteaza Q =√A.

Demonstratia inegalitatii ‖x+y‖A ≤ ‖x‖A‖y‖A se reduce la |xTAy| ≤ ‖x‖A‖y‖A, careeste inegalitatea Cauchy-Buniakowski-Schwarz, pentru vectorii Qx si Qy.

P1.22 Daca A e singulara, atunci exista x 6= 0 astfel ıncat Ax = 0 si deci xTAx = 0,deci A nu e pozitiv definita; deci A e inversabila. In plus, ImA = IRn, deci orice y ∈ IRn,exista x ∈ IRn astfel ıncat y = Ax; atunci xTAx = yTA−1y > 0, deci A−1 > 0.

P1.23 b. Fie A = [a1 a2 . . . an] ortogonala si superior triunghiulara. Atunci, pentruprima coloana avem a1 = ±e1 si 0 = aT

1 aj = ±a1j , pentru j > 1, etc. (Altfel: AT esteinferior triunghiulara, iar A−1 este superior triunghiulara; cum ele sunt egale, AT estediagonala, deci si A.)

c. Fie A superior triunghiulara. Atunci, din AAT = ATA, pentru elementul (1, 1)obtinem

∑n

j=1a21j = a2

11, deci toate elementele extradiagonale din prima linie sunt nuleetc.

P1.24 b. Adaptam algoritmul LTRIS, de exemplu versiunea pe linii. Singura modi-ficare e ın instructiunea 2.1.

1. x← b2. Pentru i = 1 : n

1. Pentru j = max(1, i− p) : i− 11. xi ← xi − lijxj

2. xi ← xi/lii

P1.25 Pentru L inferior bidiagonala, inversa X este inferior triunghiulara.

1. Pentru j = 1 : n1. xjj ← 1/ljj2. Pentru i = j + 1 : n

1. xij ← −li,i−1xi−1,j/lii

P1.26 Varianta cu DOT este imediata din algoritmul 1.16 LINV.Pentru varianta cu Saxpy, e necesara o noua forma a algoritmului, ın care, o data

calculata o necunoscuta xk, se actualizeaza toate sumele (1.44) pentru i > k.

1. Pentru k = 1 : n1. xk ← bk/lkk

504 INDICATII, RASPUNSURI, SOLUTII

2. Daca k < n atunci

1. Pentru i = k + 1 : n1. bi ← bi − likxk

Bucla Pentru i se poate ınlocui cu operatia

b(k + 1 : n)← Saxpy(−xk, L(k + 1 : n, k), b(k + 1, n)).

P1.27 Notam cu L(k) elementul aflat la adresa k ın vectorul L ın care se memoreazacompact matricea triunghiulara. (Consideram L(1) primul element.)

1. x← b2. k ← 13. Pentru i = 1 : n

1. Pentru j = 1 : i− 11. xi ← xi − L(k)xj

2. k ← k + 12. xi ← xi/L(k)3. k ← k + 1

P1.28 b. Presupunand v = γu, γ 6= 0, fie λ ∈ IC valoarea proprie pentru careA(u + iv) = λ(u + iv). Evident, Au = λu, deci λ ∈ IR, deci γ = 0. Asadar v nu estecoliniar cu u.

Notand λ = α+ iβ, cu α, β ∈ IR, egalitatea evidenta

A[u v] = [u v]

[α −ββ α

]

arata ca Au si Av sunt combinatii liniare de u si v.P1.29 Din det(λI − A) = 0 si relatiile lui Viete.P1.30 Din Ax = λx rezulta xTAx = λ‖x‖2, deci λ > 0.

Cap. 2. Rezolvarea sistemelor de ecuatii liniare

P2.1 Se folosesc matrice inferior triunghiulare elementare modificate, tot de formaMk = I −mke

Tk , dar cu mk = [µ1k . . . µk−1,k 0 . . . 0]T .

P2.2 Pentru GPP, se folosesc functiile xSWAP pentru interschimbarea a doua linii(bucla 1.3), xSCAL pentru calculul multiplicatorilor (bucla 1.4) si xAXPY pentru actualizariledin bucla 1.5.1.

P2.3 Este evident ca, la primul pas al eliminarii gaussiene, pivotul este a11 si|µi1| = |ai1|/|a11| < 1. Notand B = M1A matricea transformata dupa primul pas aleliminarii, sa demonstram ca submatricea B(2 : n, 2 : n) este diagonal dominanta pecoloane (apoi, prin inductie, problema este rezolvata). Tinand seama ca bij = aij −µi1a1j

(pentru i, j ≥ 2), avem

i=2,i6=j

|bij | ≤∑

i=2,i6=j

|aij |+|µi1||a1j | < |ajj |−|a1j |+ |a11|−|aj1||a11|

|a1j | < |ajj |−|µj1||a1j | < |bjj |.

P2.4 a. Evident, µik = xi/xk, pentru i 6= k.b. Algoritmul este similar cu cel de eliminare gaussiana, numai ca operatiile se

desfasoara permanent pe toate liniile.

INDICATII, RASPUNSURI, SOLUTII 505

1. Pentru k = 1 : n− 11. Pentru i = 1 : n, i 6= k

1. aik ← µik = aik/akk

2. Pentru j = k + 1 : n1. Pentru i = 1 : n, i 6= k

1. aij ← aij − aikakj

Nop ≈ n3, cu 50% mai mult decat ın eliminarea gaussiana, motiv pentru care algoritmulGauss-Jordan nu este utilizat ın practica.

c. Pivotul se cauta la fel ca ın eliminarea gaussiana, adica numai pe liniile k : n.P2.5 Prezentam o demonstratie doar pentru cazul A nesingulara. Demonstratia pentru

A singulara ramane ca exercitiu (netrivial).Presupunem ca A are doua factorizari LDU diferite:

A = LDU = L′D′U ′. (7.2)

L, L′, U , U ′ sunt matrice triunghiulare unitate, deci nesingulare; mai mult, L−1, (L′)−1,U−1, (U ′)−1 au aceeasi structura. A este nesingulara, deci astfel sunt si D si D′, iarmatricele D−1 si (D′)−1 sunt diagonale. Atunci, din (7.2) rezulta

(L′)−1L = D′U ′U−1D−1,

ın care termenul din stanga este o matrice inferior triunghiulara unitate, iar cel din dreaptao matrice superior triunghiulara. Atunci (L′)−1L = In, adica L = L′. Rezulta acum ca

U ′U−1 = (D′)−1D.

Termenul stang este o matrice superior triunghiulara unitate, iar cel drept o matrice di-agonala. Aceasta este posibil doar daca ambii termeni sunt egali cu matricea unitate In.In concluzie U = U ′, D = D′.

P2.6 Presupunem ca exista k < n, cel mai mic astfel ıncat A[k] este singulara. DeoareceA[k] = L[k]D[k]U [k], iar L[k] si U [k] sunt nesingulare ca submatrice lider principale ale unormatrice triunghiulare unitate, rezulta ca D[k] este singulara si anume ca dkk = 0 (deoareceD[k−1] este nesingulara). In acest caz, coloana k a matricei LD este nula, deci elementelelik, i > k, pot fi arbitrare. Analog, linia k a matricei DU este nula, deci elementele ukj ,j > k, pot fi arbitrare. Cum k < n, rezulta ca factorizarea LDU nu este unica, ceea cecontrazice ipoteza.

P2.7 In GPP multiplicatorii sunt subunitari. Permutarile de linii lasa multiplicatoriiın triunghiul inferior.

P2.8 GPC se modifica la fel ca GPP. |ukk| ≥ |ukj |, j > k, deoarece, la pasul k, pivotuleste mai mare (ın modul) decat elementele aflate la dreapta sa, iar eliminarea gaussianapropriu-zisa nu modifica linia k.

P2.9 Se modifica doar valoarea maxima a indicilor de coloana.

1. Pentru k = 1 : r1. Se determina ik ∈ k : n a.ı. |aikk| = maxi=k:n |aik|.2. p(k)← ik3. A(ik, 1 : r)↔ A(k, 1 : r)4. Pentru i = k + 1 : n

1. aik ← aik/akk

5. Pentru i = k + 1 : n1. Pentru j = k + 1 : r

1. aij ← aij − aikakj

506 INDICATII, RASPUNSURI, SOLUTII

P2.10 In algoritmul CROUTbl se executa o factorizare Crout cu pivotare a bloculuicurent A(s : n, s : f), la nivel de element. Algoritmul va avea structura urmatoare:

1. Pentru k = 1 : m1. s← (k − 1)r + 12. f ← kr3. A(s : n, s : f)← A(s : n, s : f)− L(s : n, 1 : s−1)·U(1 : s−1, s : f)4. Se calculeaza factorizarea LU Crout cu pivotare

P ·A(s : n, s : f) = L(s : n, s : f) · U(s : f, s : f)5. Se aplica permutarea P blocului A(s : n, f + 1 : n)6. Se rezolva sistemul superior triunghiular Z · U(s : f, s : f) = A(f+1 : n, s : f)7. A(s : f, f+1 : n)← A(s : f, f+1 : n)− L(s : f, 1 : s−1) · U(1 : s−1, f+1 : n)8. Se rezolva sistemul inferior triunghiular L(s : f, s : f) · Z = A(s : f, f+1 : n)9. U(s : f, f + 1 : n)← Z (o bloc linie din U)

P2.11 De exemplu, ın algoritmul 2.7, se ia m = ⌈n/r⌉, iar f = min(kr, n).P2.12 Transformarile se aplica simultan ın A si b, pe linii. Iata algoritmul fara pivotare:

1. Pentru k = 1 : n− 11. Pentru i = k + 1 : n

1. µ = aik/akk

2. Pentru j = k + 1 : n1. aij ← aij − µakj

3. bi ← bi − µbk2. x = UTRIS(A, b)

P2.13 a. Este evident ca multiplicatorii µij vor fi nuli pentru i > j + 1. Eliminareagaussiana va avea forma:

1. Pentru k = 1 : n− 11. hk+1,k ← hk+1,k/hkk

2. Pentru j = k + 1 : n1. hk+1,j ← hk+1,j − hk+1,khkj

Vectorul b va fi modificat ın concordanta cu aceste valori particulare ale multiplicato-rilor:

1. Pentru k = 1 : n− 11. bk+1 ← bk+1 − hk+1,kbk

Apoi trebuie rezolvat un sistem superior triunghiular.b. Indicatie: pivotarea partiala nu afecteaza structura superior Hessenberg. c. Se

observa ca L este inferior bidiagonala.P2.14 a. Se rezolva Hy = b ca ın problema anterioara, apoi Rx = y.P2.15 a. Daca b = c + id, unde c, d ∈ Rn, sistemul poate fi scris A[y z] = [c d], cu

y, z ∈ Rn si x = y+ iz. Acesta constituie un caz particular al punctului b, pentru m = 2.b. ecuatia matriceala AX = B consta ın m sisteme liniare: Axj = bj , pentru j = 1 : m

(xj si bj sunt coloanele j ale matricelor X, respectiv B). Utilizarea algoritmului:

1. Pentru j = 1 : m1. Se rezolva Axj = bj utilizand S GPP

nu este o idee buna deoarece numarul de operatii este 2mn3/3. Este mai eficient a utilizaGPP o singura data, pentru a triangulariza A, precum mai jos:

INDICATII, RASPUNSURI, SOLUTII 507

1. [M,U, p] = GPP(A)2. Pentru j = 1 : m

1. Pentru s = 1 : n− 11. bsj ↔ bp(s),j1. Pentru i = s+ 1 : n

1. bij ← bij − µisbsj2. xj = UTRIS(U, bj)

Numarul de operatii este 2n3/3 +O(mn2).P2.16 In cazul utilizarii GPP, sistemul initial AT y = c este echivalent cu sistemul

inferior triunghiular RT z = c, unde z = M−Tn−1Pn−1 . . .M

−T1 P1y. Dupa rezolvarea acestuia,

se calculeaza y = P1MT1 . . . Pn−1M

Tn−1z.

P2.17 Din nou, nu trebuie nici calculat Ak (2kn3 flopi), nici utilizat algoritmul bazatpe relatia A(Ak−1x) = b, aplicat recursiv:

1. Pentru j = 1 : k1. rezolva Ax = b utilizand S GPP

2. b← x

care necesita 2kn3/3 flopi. Din nou, GPP poate fi utilizat o singura data pentru rezolvareatuturor sistemelor din instructiunea 1.1 a schemei de mai sus. Se obtine:

1. [M,U, p] = GPP(A)2. Pentru j = 1 : k

1. Pentru s = 1 : n− 11. bs ↔ bp(s)1. Pentru i = s+ 1 : n

1. bi ← bi − µisbs2. b = UTRIS(U, b)

3. x← b

Numarul de operatii este de doar 2n3/3 +O(kn2).P2.18 Varianta 1: se calculeaza D = AB, apoi se aplica algoritmul precedent; cost

suplimentar fata de acesta: 2n3.Varianta 2: se aplica GPP ambelor matrice A si B, apoi se adapteaza algoritmul

precedent, ”dubland” instructiunea 2. Cost suplimentar: 4n3/3 + 2kn2. Aceasta variantae recomandabila, ın general.

P2.19 (a) implica 2n3/3 operatii complexe, adica aproximativ 8n3/3 operatii reale.(b) implica 2(2n)3/3 operatii.

P2.20 Notand X = A−1 si xj coloana j a lui X, trebuie rezolvat doar sistemulLUxj = ej . Sistemul Ly = ej se rezolva adaptand LTRIS (ca ın LINV) iar sistemulUxj = y se rezolva cu UTRIS, oprind calculele atunci cand xij a fost obtinut.

P2.22 a. Prin calcul direct, avem A+A−1+ = I .

b. Se calculeaza B = A−1B, C = CA−1 (cu 4n2r flopi). Se calculeaza D+ cu2n2r + 2nr2 flopi. Se rezolva D+X = C ca ın problema 2.15, cu 2r3/3 + 2nr2 flopi. Insfarsit, A−1

+ = A−1 −BX, cu un cost de ınca 2n2r flopi. Presupunand r ≪ n, costul total

este de O(rn2). In cazul 1◦, costul se reduce la jumatate.P2.23 a. Presupunem ıntai ca u1 6= 0. Fie M = I −meT1 o matrice inferior triunghi-

ulara elementara astfel ıncat Mu = u1e1; evident, mi = ui/u1, i = 2 : n. Considerammatricea B = MAM−1 = I +MuvTM−1 = I + u1e1w

T ; deoarece M−1 = I +meT1 , avemwT = vTM−1 = vT + (vTm)eT1 . In concluzie B este superior triunghiulara, cu bii = 1,pentru i ≥ 2 si deci detA = detB = b11 = 1 + uT v.

508 INDICATII, RASPUNSURI, SOLUTII

Daca u1 = 0 sau, ın general, pentru o mai buna stabilitate numerica, se aplica ıntaipermutarea u← Pu care aduce pe prima pozitie elementul de modul maxim din u. Deci,ın loc de M se utilizeaza transformarea stabilizata MP .

b. Sistemul Ax = b se transforma ın B(Mx) = Mb. Se rezolva By = Mb, apoix = M−1y. Daca se tine seama de forma speciala a lui B, care are doar prima linie sidiagonala nenule, numarul de operatii este O(n).

P2.24 Multiplicatorii au toti valoarea −1 (elementele diagonale nu se modifica, cu

exceptia celui din dreapta jos) iar ın ultima coloana avem a(k)in = 2a

(k−1)in , pentru i ≥ k.

Se obtine evident a(n)nn = 2n−1.

P2.25 Avem

cond(A) ≤ ‖|A−1| |A| |x|‖∞‖|A| |x|‖∞

‖|A| |x|‖∞‖|x|‖∞

≤ ‖A−1‖∞‖A‖∞.

Am folosit definitia normei ∞ si egalitatea evidenta ‖|A|‖∞ = ‖A‖∞.P2.26 Elementele diagonale ale matricei D1 sunt di = 1/maxj=1:n |aij |. Astfel,

liniile matricei B = D1A au norma infinit egala cu 1, iar coloanele norma infinit in-ferioara lui 1 (evident, |bij | ≤ 1). Elementele diagonale ale matricei D2 se iau acumdj = 1/maxi=1:n |bij |. Notand C = BD2, avem cij ≤ 1 (ca si pentru B), liniile lui Cpastreaza norma infinit unitate, iar coloanele au aceeasi proprietate.

Alegand di si dj cele mai mici puteri ale lui β superioare valorilor 1/maxj=1:n |aij |,respectiv 1/maxi=1:n |bij |, obtinem evident normele infinit ale liniilor si coloanelor lui Cın intervalul [1/β, 1].

P2.27 a. Sa presupunem ca:

L =

[L 0X L

]

, U =

[U Y0 U

]

.

Atunci

B = LU =

[A LYXU XY + A

]

.

Deci LY = 0 si, deoarece A nesingulara implica L, U nesingulare, Y = 0; XU = R, deciX = RU−1, si X este superior triunghiulara.

b. [A 0R A

][x1

x2

]

=

[d1d2

]

⇒{

Ax1 = d1Rx1 +Ax2 = d2

Se rezolva ıntai Ly = d1, Ux1 = y si se obtine x1 (ın 2n2 flopi). Se calculeaza apoif = d2−Rx1 (n2 flops); se rezolva Ly = f , Ux2 = y si se obtine x2 (ın 2n2 flopi). Totaluleste de doar 5n2 flopi. Schema de calcul prezentata poate fi aplicata pentru rezolvareaoricarui sistem bloc inferior triunghiular.

P2.28 a. Se utilizeaza eliminarea gaussiana; aij = 0, pentru i > j + n; multiplicatoriiµij vor respecta aceeasi relatie. b. Se utilizeaza eliminarea gaussiana cu pivotare partiala,care nu va afecta structura matricei A.

P2.29 a.

1. Pentru s = 1 : n− 11. as+1,s ← as+1,s/ass

2. as+1,s+1 ← as+1,s+1, − as+1,sas,s+1

P2.30 Se aplica o eliminare gaussiana pe dreapta (adica pe linii) pentru rezolvareasistemului FE = C. Notam p = n− s, deci F, C ∈ IRp×2.

INDICATII, RASPUNSURI, SOLUTII 509

% permutarea coloanelor lui E si C1. Daca |e12| > |e11| atunci

1. e11 ↔ e12, e21 ↔ e222. Pentru i = 1 : p, ci1 ↔ ci2

% eliminare gaussiana la dreapta2. µ = e12/e113. e22 ← e22 − µe214. Pentru i = 1 : p

1. ci2 ← ci2 − µci1% rezolvare sistem inferior triunghiular, la dreapta5. Pentru i = 1 : p

1. fi2 ← c12/e222. fi1 ← (ci1 − fi2e21)/e11

P2.31 Notand tot cu aij elementele matricei P1AP T1 , prima relatie se demonstreaza

tinand seama ca aij = aij− (ai1/a11)aj1 si, ın plus, |ai1| ≤ µ0 si |a11| = µ1 ≥ αµ0. Asadar

maxi,j|aij | ≤ |aij |+ 1

α|aj1| ≤ (1 +

1

α)max

i,j|aij |.

A doua relatie se demonstreaza ın acelasi stil, folosind formulele adecvate pentru aij .P2.32 Detaliem numai cazul s = 2. Pivotul se gaseste ın pozitia (ik, jk) si trebuie

adus, la pasul curent k, ın pozitia (k+1, k). Pentru aceasta sunt necesare doua permutaride linii si de coloane (orice permutare de linii este ınsotita de una de coloane, si reciproc,pentru a pastra simetria). Intai se permuta liniile si coloanele k + 1 si ik, cu operatiile:

A(k + 1, k + 1) ↔ A(ik, ik)A(k + 1, 1 : k) ↔ A(ik, 1 : k)A(k + 2 : ik − 1, k + 1) ↔ A(ik, k + 2 : ik − 1)A(ik + 1 : n, k + 1) ↔ A(ik + 1 : n, ik).

(Sa notam ca pivotul a ajuns ın pozitia (jk, k + 1).) Apoi se permuta liniile si coloanele ksi jk, cu operatiile

A(k, k) ↔ A(jk, jk)A(k, 1 : k − 1) ↔ A(jk, 1 : k − 1)A(k + 1 : jk − 1, k) ↔ A(jk, k + 1 : jk − 1)A(jk + 1 : n, k) ↔ A(jk + 1 : n, jk).

P2.33 Algoritmul Cholesky, varianta cu Saxpy, este urmatorul (L se scrie peste tri-unghiul inferior al lui A)

1. Pentru k = 1 : n1. akk ← √akk

2. Pentru i = k + 1 : n1. aik ← aik/akk

3. Pentru j = k + 1 : n1. Pentru i = j : n

1. aij ← aij − aikajk

Evident, bucla 1.3.1 se poate ınlocui cu un apel la Saxpy.P2.34 Se respecta structura algoritmului la nivel de element, preluand ideile din algo-

ritmul CROUTbl.

510 INDICATII, RASPUNSURI, SOLUTII

1. Pentru k = 1 : m1. s← (k − 1)r + 12. f ← kr3. A(s : f, s : f)← A(s : f, s : f)− L(s : f, 1 : s− 1) · LT (1 : s− 1, s : f)4. Utilizand CHOL, calculeaza factorizarea Cholesky

A(s : f, s : f) = L(s : f, s : f) · LT (s : f, s : f)(blocul L(s : f, s : f) se memoreaza ın triunghiul inferior al lui A(s : f, s : f))

5. A(f+1 : n, s : f)← A(f+1 : n, s : f)− L(f+1 : n, 1 : s−1) · LT (1 : s−1, s : f)6. Rezolva sistemul superior triunghiular ZLT (s : f, s : f) = L(f + 1 : n, s : f)7. L(f + 1 : n, s : f)← Z

In instructiunea 1.3 se utilizeaza SYRK, ın 1.5 GEMM iar ın 1.6 TRSM. Transpunerea nu seefectueaza explicit, ci se paseaza rutinelor BLAS.

P2.35 T = AAT nu este deja factorizarea Cholesky deoarece elementele diagonale alelui A nu sunt neaparat pozitive. Fie T = LLT factorizarea Cholesky. Este natural saıncercam sa demonstram ca L este inferior bidiagonala. Pentru orice k ∈ 1 : n− 1:

tkk = a2k,k−1 + a2

kk = l2k,k−1 + l2kktk+1,k = ak+1,kakk = lk+1,klkk.

De asemenea, este natural sa ıncercam sa demonstram ca |lij | = |aij |; pentru prima relatiede mai sus, semnele nu conteaza; pentru a doua, daca akk este negativ, luam lkk = −akk

si lk+1,k = −ak+1,k. Algoritmul va fi:

1. Pentru k = 1 : n1. lkk ← |akk|2. Daca k < n atunci

1. Daca akk < 0 atunci lk+1,k ← −ak+1,k

altfel lk+1,k ← ak+1,k

P2.36 Algoritmul CHOL pentru matrice banda de latime r este

1. Pentru k = 1 : n

1. α← akk −∑k−1

j=max(1,k−r)l2kj

2. Daca α ≤ 0 atunci

1. Afiseaza(’A nu este pozitiv definita’)2. Stop

3. akk ← lkk =√α

4. Pentru i = k + 1 : min(k + r, n)

1. aik ← lik =(

aik −∑k−1

j=max(1,i−r)lij lkj

)

/lkk

P2.37 Se procedeaza analog cu algoritmul CHOL. Calculele decurg ın ordine inversa,i.e. cu k = n : −1 : 1.

P2.38 Calculand pe loc ın A, un algoritm direct inspirat de CHOL este

1. Pentru k = 1 : n

1. akk ← dk = akk −∑k−1

j=1l2kjdj

2. Pentru i = k + 1 : n

1. aik ← lik =(

aik −∑k−1

j=1lij lkjdj

)

/dk

INDICATII, RASPUNSURI, SOLUTII 511

Numarul de operatii este ınsa sensibil mai mare decat pentru CHOL. Pentru a-lreduce, se elimina ınmultirea cu dj din 1.2.1 astfel

1. Pentru k = 1 : n1. Pentru j = 1 : k − 1

1. akj ← lkj = akj/dj

2. akk ← dk = akk −∑k−1

j=1l2kjdj

3. Pentru i = k + 1 : n

1. aik ← aik −∑k−1

j=1lijlkj

Cap. 3. Problema celor mai mici patrate

P3.3 Scriem ca de obicei Ux = x − νu, unde ν = uTx/β. Prin urmare trebuie saavem x − νu = ρy, deci putem lua u = x − ρy, unde modulul lui ρ e fixat prin conditia‖Ux‖ = ‖x‖, iar semnul se alege ın mod adecvat.

P3.4 a. Amintim ca U este o transformare involutiva, i.e. U2 = I , prin urmareconditia impusa este echivalenta cu ρUx = e1, unde ρ = ‖x‖ 6= 0.

b. U este o transformare ortogonala, deci coloanele matricei U sunt vectori normati siortogonali doi cate doi ın IRm.

P3.5 a. Cu notatiile din sectiunea 2.1, considerati transformarea elementara stabi-lizata T = M1P1 astfel ıncat (Tx)i = 0, i = 2 : m. Aratati ca vectorii yj = T T ej ,j = 2 : m, satisfac conditia ceruta. Ce se obtine daca ın locul lui T se considera unreflector ?

P3.6 Evident, functia ρ2(α) = ‖y − αx‖2 este un polinom de gradul 2 ın α,

ρ2(α) = α2‖x‖2 − 2αyTx+ ‖y‖2,

deci problema este elementara. Interpretarea geometrica devine transparenta daca pre-supunem ca ‖x‖ = 1.

P3.7 a. detU = −1.b. Scriem Ux = λx si obtinem (λ − 1)x = −2u(uTx), unde x 6= 0. Prin urmare

avem fie (i) λ = 1 si uTx = 0, fie (ii) x = u si λ = −1. In primul caz obtinem m − 1vectori proprii ortogonali (vezi problemele 3.4b sau 3.5b), deci λ = 1 este valoare propriede multiplicitate (algebrica si geometrica) m−1. Prin urmare λ = −1 este valoare propriesimpla. Descompunerea spectrala U = V ΛV T se scrie cu usurinta.

c. Utilizam relatia U2 = Im.

P3.8 De exemplu, ın cazul Π =

[0 11 0

]

putem lua u = [1 − 1]T , β = 1/2.

P3.9 a. Daca S = RTR este factorizarea Cholesky a lui S, atunci relatia UTSU = Seste echivalenta cu V TV = Im, unde V = RUR−1.

b. Considerati matricea U = Im − 2uuTS, unde ‖u‖2S = 1, si aratati ca U esteS-ortogonala si S-simetrica. Algoritmii de tip 3.1 si 3.2 se scriu ın mod evident.

P3.10 b. Conditia este ‖x‖J > 0, deci nu orice vector nenul din IRm poate fi adusla forma (3.200) utilizand J-reflectori. (Aceasta este o deosebire esentiala fata de cazuleuclidian uzual.) Vectorii cu ‖x‖J < 0 pot fi adusi la forma Ux = −σep+1, iar vectoriiizotropi (care satisfac (3.198)) raman izotropi. In plus, transformarea este rau conditionataın vecinatatea conului (3.198).

c. Partitionand matricele S si R conform cu J , putem scrie

[S11 S12

ST12 S22

]

=

[RT

11 0RT

12 RT22

][Ip 00 −Iq

][R11 R12

0 R22

]

, (7.3)

512 INDICATII, RASPUNSURI, SOLUTII

de unde pe blocuri rezulta

S11 = RT11R11,

S12 = RT11R12,

S22 = RT12R12 −RT

22R22.

Din prima relatie, R11 poate fi determinat aplicand algoritmul de factorizare Choleskydaca si numai daca

S11 > 0. (7.4)

In acest caz, din a doua relatie rezulta R12 = R−T11 S12, iar a treia devine

S22 − ST12(R

T11R11)

−1S12 = −RT22R22.

Prin urmare R22 poate fi determinat (aplicand din nou algoritmul de factorizare Cholesky)daca si numai daca

S22not= S22 − ST

12S−111 S12 < 0. (7.5)

(Prin definitie, matricea S22 constituie complementul Schur al lui S11 ın S.)

In al doilea caz trebuie sa avem

[S11 S12

ST12 S22

]

=

[LT

11 LT21

0 LT22

][Ip 00 −Iq

][L11 0L21 L22

]

, (7.6)

de unde, procedand analog obtinem conditiile

S22 < 0, (7.7)

S11not= S11 − S12S

−122 ST

12 > 0. (7.8)

In particular, daca au loc conditiile ”de punct sa” (7.4) si (7.7), atunci si celelalte douaconditii, (7.5) si (7.8) sunt satisfacute, deci ambele factorizari (7.3) si (7.6) exista si potfi calculate aplicand algoritmul de factorizare Cholesky blocurilor S11, −S22 si respectiv−S22, S11.

d. Aratati ıntai ca A si B trebuie sa fie inversabile.

P3.12 Rotatia Pki modifica numai elementele de indici k si i ale lui x.

P3.14 a. Tinand seama de observatia 3.2, putem utiliza secventele P = P1m . . . P13P12

sau P = P12P23 . . . Pm−1,m.

b. Intai anulam componentele 2, 4, 6, . . . , utilizand secventa S(1) = P12P34P56 . . .; apoianulam componentele 3, 7, 11, . . . , utilizand secventa S(2) = P13P57P9,11 . . .; mai departese aplica S(3) = P15P9,13 . . . etc. Transformarea cautata contine m − 1 rotatii, grupateın secvente de rotatii disjuncte, i.e. P = S(p) . . . S(2)S(1), unde p ≤ log2 m. Observati carotatiile ce compun o secventa pot fi aplicate ın orice ordine (i.e. comuta), dar ca ordineasecventelor este predeterminata.

P3.16 a. J = diag(1,−1). Prin urmare ‖Px‖2J = ‖x‖2J = x21 − x2

2.

b. Ambele probleme sunt rau conditionate ın vecinatatea ”conului” x1 = ±x2.

P3.17 Pentru orice transformare unitara U avem ‖Ux‖ = ‖x‖ =√7.

a. Exista doua posibilitati. Daca Q = QH este un reflector hermitic atunci obtinem

σ =x1

|x1| ‖x‖ =1 + i√

2

√7,

u1 = 1 +

2

7, u2 =

2 + i

1 + i

2

7, β = u1.

INDICATII, RASPUNSURI, SOLUTII 513

Daca Q este un reflector complex, atunci

σ = Re(x1)‖x‖ =√7,

u1 = 1, u2 =2 + i

1 +√7 + i

, τ =1 +√7 + i√7

.

P3.19 Fie Q ∈ IRn×n, ortogonala. Triangularizand ortogonal matricea Q, obtinemUn−1 . . . U2U1Q = R, unde R este superior triunghiulara si ortogonala, ca produs dematrice ortogonale. Asadar R este diagonala; mai mult, normele coloanelor matricei Q seconserva prin ınmultirea cu reflectorii elementari, deci (alegand potrivit semnul) rii = 1,adica R = I . Rezulta Q = U1U2 . . . Un−1.

P3.20 a. Se utilizeaza secventa de rotatii QT = Pn,n+1 . . . P2nP1n.

b. uk = [0 . . . 0 ukk uk+1,k 0 . . . 0 un+1,k . . . umk]T (pentru A superior Hessenberg).

c. uk = [0 . . . 0 ukk 0 . . . 0 un+1,k . . . un+k,k 0 . . . 0]T .

P3.21 Pentru a nu altera structura de zerouri, se anuleaza elementele aik, i = n+1 : m,din blocul C, ıncepand cu ultima coloana. Matricea R+ rezulta inferior triunghiulara.

P3.22 In cazul m > n, rotatiile necesare pentru anularea elementelor subdiagonalepot fi grupate ın cel mult m + n − 2 secvente de rotatii disjuncte; de exemplu, ın cazulm = 6, n = 5 avem m+ n− 2 = 9, iar gruparea se face astfel

× × × × ×1 × × × ×2 3 × × ×3 4 5 × ×4 5 6 7 ×5 6 7 8 9

.

(Elementele marcate cu aceeasi cifra sunt anulate de rotatii disjuncte aprtinand aceleaisisecvente.)

P3.23 a. QT = P12P23 . . . Pn−1,n.

b. Rotatiile pot fi memorate printr-un singur numar z, vezi procedura ROTG. Totusi,pozitiile (i, i + 2), i = 1 : n − 2, nu raman nule, la fel ca ın cazul eliminarii gaussiene cupivotare partiala.

P3.24 Daca b = ρe1, atunci problema e banala, R+ = R+ρe1cT . De aici provine ideea

de a anula ultimele n− 1 componente ale lui b fara a altera prea mult structura lui R. Sevede usor ca secventa de rotatii (numai ın aceasta ordine !) P = P12P23 . . . Pn−1,n poate re-aliza acest obiectiv. Matricea PR este evident superior Hessenberg, deci

Hnot= P (R + bcT ) = PR + ρe1c

T are aceeasi structura. Mai departe se procedeaza caın problema 3.23, i.e. R+ = QTH .

P3.25 Cel mai simplu, partitionam B, C pe coloane si scriem BCT =∑p

j=1bjc

Tj .

Problema se reduce astfel la cea anterioara.

P3.26 Scriem

P+ = [ATRT CT ]

[RAC

]

not= AT

+A+,

deci QTA+ = R+.

P3.27 A+ rezulta superior Hessenberg, vezi problema 3.23.

P3.28 In cazul p < n, reflectorii Qj , j = p+1 : n, nu sunt activi. In cazul p > n, ıntaise acumuleaza coloanele j = n+ 1 : p, apoi se aplica procedura GQR.

P3.30 A doua, ın care Q se ”umple” treptat.

P3.31 a. Constructia lui Y ıncepe cu ultima coloana.

514 INDICATII, RASPUNSURI, SOLUTII

b. S+ =

[S si0 βi

]

, unde si = W Tui, βi = 1/τi. Forma din text este preferabila,

deoarece aplicarea transformarii necesita numai ınmultiri de matrice.

P3.38 Se partitioneaza B ın blocuri si se utilizeaza informatia din triunghiul strictinferior al lui A pentru a se forma bloc-reflectorii necesari.

P3.40 A = Q′R′.

P3.41 G = R′TR′, deci α = yT y, cu y = (R′)−T c.

P3.44 Procesul de ortogonalizare ıncepe cu ultima coloana an = qnlnn.

P3.46 a. Notand c = RT d, putem scrie

G+not= G+ CTC = [RT CT ]

[RC

]

= AT+A+,

d+not= RT d+CT y = [RT CT ]

[dy

]

= A+b+,

deci problema se reduce la rezolvarea ın sensul CMMP a sistemului A+x = b+, unde A+

este matricea din problema 3.20.

b. Se aduce A+ la forma superior triunghiulara QTPA+ = R+ si se aplica trans-formarile membrului drept.

P3.47 Se procedeaza ca ın sectiunea 3.5.1.

P3.48 Matricea B = AT+ are structura din problema 3.20. Prin urmare, daca V B = R,

unde V = Vm . . . V2V1, atunci evident A+Z = L, unde Z = V T si L = RT . Reflectoriireali Vk = In − νkν

Tk /βk sunt matrice simetrice. In cazul complex, considerat ın text, am

notat Vk = ZHk , unde Zk = I − τkνkν

Hk si τk = 1/βk

P3.49 a. O matrice epica A este inversabila la dreapta, i.e. exista Ad astfel ıncatAAd = Im (de exemplu se poate lua Ad = A+, unde A+ = AT (AAT )−1). Daca (si numaidaca) m = n, atunci Ad = A−1 este unica. Daca m < n, atunci multimea inverselor ladreapta este Ad = A++Z′′B, unde Z′′ este o baza (nu neaparat ortogonala) a subspatiuluiN = KerA, iar B este o matrice oarecare.

b. P2 = Im − AA+ este proiectorul ortogonal pe S⊥ = KerAT , deci are structura

P2 = Q

[0 00 Im−n

]

QT , Q = [Q′ Q′′],

unde QTA = R. De asemenea, norma Frobenius este ortogonal invarianta.

P3.50 a. Daca A este monica si QTA = R, atunci AT este epica si ATQ = RT . Prinurmare, notand y = Qv, sistemul AT y = c devine RT v = c. Mai departe se procedeaza caın sectiunea 3.6.3.

P3.51 In primul caz, daca A este monica cu m > n, algoritmul are n etape. Pentru aanula elementele subdiagonale, acum se utilizeaza transformarile elementare (stabilizate)Mk, respectiv Tk = MkPk (vezi sectiunea 2.1). Notand

MA = R =

[R′

0

]

, M−1 = S = [S′ S′′],

putem scrie A = S′R′, unde R′ este inversabila, deci S′ este o baza (neortogonala) asubspatiului S = ImA, iar S′′ este o completare (oarecare) a lui S′ pana la o baza a lui

IRm. Considerand sistemul supradeterminat Ax = b si notand Mb = d =

[d′

d′′

]

, conditia

de compatibilitate este d′′ = 0.

INDICATII, RASPUNSURI, SOLUTII 515

In al doilea caz, daca A este epica cu m < n obtinem

AN = L = [L′ 0], N = [N ′ N ′′],

unde N ′′ este o baza (neortogonala) a subspatiului N = KerA. Considerand sistemul

subdeterminat Ax = b si notand x = Nu = N

[u′

u′′

]

, obtinem sistemul echivalent

L′u′ = b. Prin urmare, o solutie a sistemului Ax = b este 19

xB = N

[(L′)−1b

0

]

,

iar multimea tuturor solutiilor este x = xB + N ′′u′′, unde u′′ ∈ IRn−m este un vectorarbitrar.

Pe scurt, analiza elementara a sistemelor liniare Ax = b cu m 6= n poate fi facutautilizand metoda eliminarii gaussiene.

P3.52 a. Fie S =

[QH 00 (R′)−H

]

. Calculati SHSH si gasiti apoi permutarea

potrivita.

b. Procedati direct, aratand ca H

[

P2 (A+)H

A+ −G−1

]

= Im+n, sau tineti seama de

semnificatia lui H ın problema CMMP din sectiunea 3.5.

P3.54 a. (ATSA+ T )x∗ = ATSb. Tineti seama de problema 3.46.b. A trebuie sa fie monica. Utilizand factorizarea Cholesky S = DT

1 D1 si notandA← D1A, b← D1b, se obtine problema CMMP din sectiunea 3.5.

P3.55 a. Notand cu λ ∈ IRm vectorul multiplicatorilor, functia lui Lagrange este

L(x, λ) =1

2xTGx− xT c+ λT (Ax− b).

Anuland derivatele partiale ale lui L, se obtin conditiile

Gx∗ − c+ ATλ∗ = 0, Ax∗ = b. (7.9)

In cazul G > 0, se utilizeaza factorizarea Cholesky G = RTR pentru a reduce problema lacea standard din sectiunea 3.6.

b. Pentru a rezolva sistemul (7.9) se utilizeaza procedura de triangularizare ortogonalala dreapta AZ = [L1 0], unde L1 este inferior triunghiulara inversabila. Notand

x∗ = Zu, u =

[u1

u2

]

precum si

ZTGZ =

[H11 H12

HT12 H22

]

, ZT c =

[d1d2

]

,

se obtine

H11u1 +H12u2 + LT1 λ

∗ = d1HT

12u1 +H22u2 = d2L1u1 = b.

19 In terminologia specifica programarii liniare, xB se numeste solutie de baza.

516 INDICATII, RASPUNSURI, SOLUTII

In cazul general, x∗ este un punct de minim unic daca si numai daca H22 > 0. (Cumjustificati aceasta afirmatie ?) In consecinta se poate utiliza factorizarea CholeskyH22 = RT

2 R2.P3.56 Se aplica algoritmul de triangularizare ortogonala QTA = R. Notand

QTB = D, QT b = d si utilizand partitii adecvate, sistemul de restrictii se scrie[

R1

0

]

x+

[D1

D2

]

y =

[d1d2

]

,

unde R1 este superior triunghiulara inversabila, iar D2 este epica. Prin urmare, existamatricea Z ortogonala astfel ıncat D2Z = [0 R2], unde R2 este superior triunghiularainversabila. Notand

D1Z = [S1 S2], y = Z

[v1v2

]

,

se obtine [R1

0

]

x+

[S1 S12

0 R2

] [v1v2

]

=

[d1d2

]

,

iar din conditia de minim (ın care v2 este fixat) rezulta v1 = 0. Solutia problemei este:

v1 = 0, v2 = R−12 d2, ⇒ y∗ = Z

[0v2

]

x∗ = R−11 (d1 − S12v2).

P3.57 Se utilizeaza factorizarea ortogonala CZ = [L1 0]. Se noteaza x = Zu etc.P3.58 Urmatoarea procedura (LINPACK [XIII, pag. 8.7]) realizeaza permutarea

1. Pentru k = 1 : n1. πk ← −πk

2. Pentru k = 1 : n1. j = k1. Cat timp πj < 0

1. πj ← −πj

2. Daca j 6= k atunci

1. xj ↔ xπj

2. j ← πj

Cap. 4. Calculul valorilor si vectorilor proprii

P4.1 Spectrele celor doua matrice sunt aceleasi λ(A) = λ(B) = {2, 2, 4}. Matricea Aeste diagonalizabila dar B nu.

P4.2 Nu. Daca x ∈ IRn, x 6= 0, si γ = α+ iβ, α, β ∈ IR, β 6= 0, atunci γx 6∈ IRn.P4.3 Implicatia ”A, B diagonalizabile ⇒ C diagonalizabila” este evidenta. Reciproc,

daca C este diagonalizabila, fie XC ∈ IC(m+n)×(m+n) o matrice nesingulara de vectoriproprii ai matricei C. Avem CXC = XCΛ, cu Λ diagonala. Considerand partitia XC =

=

[XA

XB

]

, (cu dimensiunile blocurilor, evidente) avem AXA = XAΛ. In continuare,

rangXA = m (ın caz contrar, XC nu ar fi nesingulara) si, prin urmare, XA are m coloaneliniar independente, care sunt vectori proprii ai matricei A. Deci, A este diagonalizabila.Similar se arata ca si matricea B este diagonalizabila.

P4.4 In cazul general, raspunsul la ıntrebare este negativ. Intr-adevar, e.g. dacaA1 = A2 = λ ∈ IC si A12 6= 0 matricea A nu este diagonalizabila. Exista si situatii ın

INDICATII, RASPUNSURI, SOLUTII 517

care raspunsul este afirmativ, cum este cazul ın care λ(A1) ∩ λ(A2) = ∅. In aceasta dinurma situatie, fie X1 si X2 matrice nesingulare de vectori proprii pentru submatricele A1 si

A2. Atunci matricea (nesingulara)

[X1 X12

0 X2

]

, unde X12 = Y X2 cu Y solutia ecuatiei

matriceale Sylvester A1Y −Y A2 = −A12 (v. § 4.7), este o matrice de vectori proprii pentrumatricea A, i.e. A este diagonalizabila.

P4.5 Aratati ca matricele C =

[AB 0B 0

]

si D =

[0 0B BA

]

sunt asemenea (o

matrice de transformare posibila este T =

[Im A0 In

]

). Daca m > n, din λ(C) = λ(D)

rezulta ca multimea λ(AB) \ λ(BA) are toate elementele nule.

P4.6 b) Daca (A,B) = (XΛAX−1, XΛBX−1) atunci, tinand seama de faptul ca

matricele diagonale comuta, AB = BA rezulta prin calcul direct. c) Presupunem ca

AB = BA. Fie X−1AX = ΛA si consideram perechea (A, B)def= (ΛA, X

−1BX). Faraa reduce generalitatea, putem presupune ca ΛA are valorile proprii multiple grupate, i.e.ΛA = diag(λ1In1

, λ2In2, . . . , λpInp), cu λi 6= λj pentru i 6= j. Intrucat AB = BA,

rezulta B = diag(B1, B2, . . . , Bp). Dar, B fiind diagonalizabila, rezulta ca blocurile Bk

sunt diagonalizabile si, conform punctului a), perechea (λkInk, Bk) este diagonalizabila.

Prin urmare, (A, B) este diagonalizabila, de unde si (A,B) este diagonalizabila. Pentru

reciproca, vezi punctul b). d) De exemplu, matricele A =

[1 10 1

]

si B =

[0 10 0

]

comuta, dar nu sunt (simultan) diagonalizabile.

P4.7 Fie x un vector propriu al matricei A, asociat valorii proprii λ, si p cel maimare ıntreg pentru care vectorii x, Bx, . . ., Bp−1x sunt liniar independenti, i.e. pentrucare matricea Xp = [ x Bx · · · Bp−1x ] este monica. Atunci, subspatiul X = ImXp esteB-invariant si, prin urmare, contine un vector propriu y = Xpz al matricei B. DarAB = BA implica ABk = BkA. Rezulta Ay = AXpz = λXpz = λy, i.e. y este vectorpropriu al matricei A.

P4.8 Aratati ca λ1yH2 x1 = λ2y

H2 x1.

P4.9 Fara a reduce generalitatea, putem considera ca ‖x‖2 = 1. Conform lemei 4.2

(deflatie unitara), daca matricea [x X ] este unitara, atunci B = XHAX =

[

λ bH

0 C

]

.

Acum, daca y este un vector propriu la stanga al matricei A, atunci z = XHy este un vectorpropriu la stanga al lui B, i.e. zHB = λzH . Cum λ este o valoare proprie simpla, matriceaλIn−1 − C este nesingulara. Rezulta z(2 : n) = (λIn−1 − CH)−1bz1, cu z1 = xHy 6= 0

ıntrucat, ın caz contrar, z = 0. Matricea A =

[0 10 0

]

nu este simpla, iar vectorii proprii

sunt de forma x =

[α0

]

si y =

[0β

]

, α, β ∈ IC, α 6= 0, β 6= 0, ceea ce implica yHx = 0.

P4.10 Conform problemelor 4.8 si 4.9, yHi xj = 0 daca i 6= j si putem scala vectorii

proprii astfel ıncat yHi xi = 1. Deci, daca X si Y sunt cele doua matrice de vectori proprii,

atunci Y HX = In. Rezulta A = XΛX−1 = XΛY H =∑n

i=1λixiy

Hi .

P4.11 Din Ax = λx, x 6= 0, rezulta imediat Akx = λkx (inductie), (A − µIn)x == (λ− µ)x si, daca A este nesingulara (caz ın care avem λ 6= 0), 1

λx = A−1x.

P4.12 Avem Akx = λkx pentru toti λ ∈ λ(A) si x vector propriu asociat lui λ. RezultaPx = p(A)x = p(λ)x.

P4.13 Fie λ ∈ λ(A) si x un vector propriu asociat. Atunci, conform problemei 4.12,Px = p(λ)x si Qx = q(λ)x. Intrucat Q este nesingulara avem q(λ) 6= 0 si, prin urmare,

518 INDICATII, RASPUNSURI, SOLUTII

Q−1x =1

q(λ)x. Rezulta Rx = r(λ)x.

P4.14 Daca valorile proprii ale matricei A sunt numerotate ın ordinea descrescatoarea modulelor, atunci avem ρ(A) = |λ1|, ρ(A−1) = 1/|λn|. Apoi se aplica teorema 4.10.

P4.15 a) Pentru matricele nilpotente, λ ∈ λ(A) ⇒ λk ∈ λ(0), i.e. λk = 0, i.e. λ = 0.b) Pentru matricele idempotente, fie x cu ‖x‖ = 1, un vector propriu al matricei A asociatvalorii proprii λ. Din xHA2x = xHAx rezulta λ2 = λ, i.e. λ ∈ {0, 1}.

P4.16 a) Cate unul singur ın ambele cazuri. b) Daca o celula Jordan de ordin n ar fidiagonalizabila, atunci ar avea n vectori proprii liniar independenti ceea ce ar contrazicea). c) Avem Jλ = λIn + J0. Cum matricea unitate comuta cu orice alta matrice, pentrucalculul matricei Jk

λ se poate utiliza formula binomului lui Newton, ın care se tine seamade faptul ca J i

0 este o matrice care are elementele de pe supradiagonala i egale cu unitatea,iar toate celelalte elemente sunt nule. Daca λ 6= 0, Jk

λ nu este diagonalizabila pentru niciun k ∈ IN∗. Jk

0 = 0, deci diagonala, pentru orice k ≥ n. d) Se rezolva ecuatia XJλ = Incare, scrisa pe coloane, se reduce la rezolvarea sistemelor liniare λx1 = e1, xj−1+λxj = ej ,j = 2 : n (ın aceasta ordine!). Nu.

P4.17 Fie H(λ) = H − λIn. Matricea H21(λ)def= H(2:n,1:n−1)(λ) este nesingulara

∀λ ∈ IC, deci rangH(λ) ≥ n − 1, ∀λ ∈ IC. In particular, H = H(0) si, prin urmare,rangul lui H nu poate fi decat n sau n− 1. Vectorii proprii x asociati unei valori propriiλ ∈ λ(H) trebuie sa satisfaca H(λ)x = 0, de unde rezulta x(1 : n− 1) = v(λ)xn cu v(λ) == H−1

21 (λ)H(2:n,n)(λ), i.e. toti vectorii proprii asociati lui λ sunt de forma x = ρ[vT (λ) 1]T

cu ρ ∈ IC \ {0} arbitrar, indiferent de ordinul de multiplicitate algebrica a lui λ. Deci,multiplicitatea geometrica a unei valori proprii a unei matrice Hessenberg ireductibile nupoate fi decat 1 si, prin urmare, o astfel de matrice cu valori proprii multiple nu estediagonalizabila.

P4.18 a) Se calculeaza det(λIn − C), e.g. prin dezvoltare dupa elementele primeilinii. b) C este nesingulara daca si numai daca 0 6∈ λ(C), i.e. p(0) = pn 6= 0. Pentrucalculul inversei recomandam rezolvarea ecuatiei matriceale CX = In pe blocuri definiteconvenabil sau considerarea unei permutari F = PC a liniilor astfel ıncat matricea F esteinferior triunghiulara, apoi C−1 = F−1P . c) Fie x un vector propriu al matricei C asociatvalorii proprii λ. Considerand xn 6= 0, e.g. xn = 1 rezulta xk = λn−k. Obtinem o matricea vectorilor proprii de tip Vendermonde care este nesingulara daca si numai daca valorileproprii sunt distincte, singura situatie ın care C este diagonalizabila. La acest ultim rezul-tat se ajunge si observand ca matricea C are o structura superior Hessenberg ireductibilasi aplicand rezultatul problemei precedente. Pentru calculul unui vector propriu al matri-cei CT asociat aceleeasi valori proprii, presupuneti x1 6= 0 si rezolvati sistemul. Se obtinexk = λk−1 + p1λ

k−2 + · · · + pk−1. d) Mai sunt doua structuri cu coeficienti polinomuluipe ultima linie, respectiv, pe ultima coloana, ın ordine inversa.

P4.19 a) O matrice reala de rotatie plana Pjk (i.e. ın planul (j, k)), de ordinul n,definita de scalarii c si s are, evident, n − 2 valori proprii egale cu 1, celelalte doua fiindλj,k = c ± is. Putem lua el drept vectori proprii asociati valorilor proprii λl = 1. Dacas 6= 0, xj,k = ej ± iek sunt vectori proprii asociati valorilor proprii complexe. b) Unreflector elementar real U = In − 2uuT cu u ∈ IRn, ‖u‖ = 1, fiind simetric are toatevalorile proprii reale si fiind ortogonal are toate valorile proprii de modul 1. Deci valorileproprii sunt 1 sau −1. Fie acum un reflector elementar V astfel ıncat V Tu = e1. AvemV TUV = In − 2e1e

T1 = diag(−1, 1, . . . , 1), i.e. exista o singura valoare proprie egala cu

−1. Un set complet de vectori proprii este dat de coloanele lui V .

P4.20 Presupunem ca matricea normala A este triunghiulara. Avem A = UΛUH

cu U unitara si Λ diagonala. Atunci AH = UΛUH . Rezulta aij = λiU(i, :)(U(j, :))T siaji = λiU(i, :)(U(j, :))T , unde λi = Λ(i, i). Deci, daca aij = 0, atunci si aji = 0. Pentru

INDICATII, RASPUNSURI, SOLUTII 519

cazuri particulare de matrice normale, demonstratia poate fi mai directa. De exemplu,daca matricea unitara Q este, e.g. superior triunghiulara, atunci inversa ei Q−1 = QH

este simultan superior si inferior triunghiulara, i.e. diagonala.

P4.21 Fie A =

[α βγ δ

]

. Din ATA = AAT rezulta β2 = γ2. Daca γ = β matricea

este simetrica, iar daca γ = −β rezulta δ = α.

P4.22 Fie A normala si S = QHAQ o forma Schur reala a lui A, ın care, fara a reducegeneralitatea, putem presupune ca valorile proprii reale (ın numar de q) sunt situate ınprimele q pozitii diagonale. Deci S este normala si are structura

S =

R A1,q+1 · · · A1p

Aq+1,q+1 · · · Aq+1,p

. . ....

App

,

cu R ∈ IRq×q superior triunghiulara. Din (STS = SST )11 rezulta RTR = RRT++∑p

j=q+1Bj , unde Bj = A1jA

T1j , j = q + 1 : p, sunt matrice simetrice, pozitiv semi-

definite. Cum ınsa tr(RTR) = tr(RRT ), rezulta∑p

j=q+1trBj = 0. In continuare, din

faptul ca λi(Bj) ≥ 0 pentru toti i, rezulta trBj =∑

iλi(Bj) ≥ 0. Deci, trBj = 0 pentru

toti j si, prin urmare, λi(Bj) = 0 pentru toti i si j. Cum ınsa o matrice simetrica avandtoate valorile proprii nule este nula (demonstrati!) Bj = 0 si, de aici, A1j = 0 pentru totij. Acum RTR = RRT , i.e. R este normala, si cum este triunghiulara, este diagonala (v.problema 4.20). In continuare se procedeaza similar. Din (STS = SST )q+1,q+1 rezultaAq+1,j = 0, j = q+2 : p si ca blocul 2 × 2 Aq+1,q+1 este normal. Avand valori propriicomplexe, conform problemei 4.21, are structura din teorema etc. Reciproca este imediata.

P4.23 c) Fie B = 12(A + AH) si C = 1

2(A − AH). Atunci A = B + C si, conform

punctelor a), b), B este hermitica iar C este antihermitica. Presupunem ca avem si A == B+C cu B hermitica si C antihermitica. Atunci 2B = A+AH = B+C+BH+CH = 2B.Deci B = B. Analog, 2C = A − AH = 2C, i.e. C = C. Deci descompunerea este unica.d) Se utilizeaza c) cu S = B si T = −iC.

P4.24 Se utilizeaza relatiile din definitii.

P4.25 Se utilizeaza relatiile din definitii si expresiile partilor hermitica si antihermitica(v. solutia problemei 4.23).

P4.26 Se considera un set de n vectori liniar independenti, e.g. ortogonali.

P4.27 Fie P o matrice de permutare. Intrucat P este unitara, A este normala (her-mitica, antihermitica, simetrica, antisimetrica) daca si numai daca la fel este si matriceaC = P TAP . Putem alege P astfel ıncat B = C(1 : k, 1 : k). a) Evident. b) Nu. De

exemplu, matricea A =

[6 3 11 3 33 −1 3

]

este normala, dar B = A(1 :2, 1:2) nu este.

P4.28 Conform teoremei 4.3, λmin(A) ≤ µ ≤ λmax(A).

P4.29 Daca B = QHAQ ∈ ICp×p, unde QHQ = Ip, atunci aplicand matricei B teo-rema Courant-Fisher avem µk = maxdimV=k minx∈VS

xHQHAQx, unde VS este multimeavectorilor de norma euclidiana unitara din subspatiul V ⊂ ICp. Acum, este usor de con-statat ca V = {y ∈ ICn | y = Qx, x ∈ V} este un subspatiu liniar al lui ICn, de aceeasidimensiune cu dimensiunea lui V (i.e. k) si ca multimea tuturor subspatiilor V estenumai o parte a multimii tuturor subspatiilor de dimensiune k din ICn. Prin urmare,λk = maxdimV=k minx∈VS

xHAx ≥ µk. Pentru cel de al doilea set de inegalitati se uti-lizeaza cealalta caracterizare minimax a valorilor proprii din teorema Courant-Fisher.

520 INDICATII, RASPUNSURI, SOLUTII

P4.30 Fie matricea hermitica B = UH1 AU1 =

[

a11 βeT1βe1 C

]

= F + G, unde F =

=

[a11 00 C

]

, G =

[

0 βeT1βe1 0

]

= F + G, obtinuta dupa aplicarea primului pas al

algoritmului de tridiagonalizare TQ. Evident µ = ‖A(1, 2 : n‖2 = |β|, iar matricele F si Gsunt hermitice. Cum a11 ∈ λ(F ), iar λmin(G) = −µ si λmax(G) = µ, conform teoremei 4.6rezulta existenta unei valori proprii λ a lui B, i.e. a lui A, astfel ıncat a11−µ ≤ λ ≤ a11+µ,q.e.d.

P4.31 De exemplu, matricele complexe A =

[1 ii 1

]

si B =

[1 ii i

]

sunt simetrice.

A este normala, dar B nu.

P4.32 Fie S = QHAQ forma Schur a lui A si M = maxi=1:n−1

j=i+1:n(|sij |). Consideram ma-

tricea diagonala D ∈ IRn×n de forma D = diag(1, δ, δ2, . . . , δn−1). Atunci ‖D−1SD‖∞ == maxi=1:n(|λi|+

∑n

j=i+1|sij |δj−i) ≤ maxi=1:n(|λi|+M

∑n

j=i+1δj−i) ≤ maxi=1:n(|λi|+

+M∑n−1

j=1δj). Alegand δ astfel ıncat

∑n−1

j=1δj ≤ M

ǫ(aratati ca se poate!) atunci se

obtine inegalitatea ‖D−1QHAQD‖∞ ≤ ρ(λ)+ ǫ. Este usor de vazut ca ‖ · ‖ : ICn×n → IR+

definita de ‖X‖ = ‖D−1QHXQD‖∞ este o norma matriceala consistenta.

P4.33 Pentru orice matrice T ∈ ICn×n nesingulara si B = T−1AT avem Bk = T−1AkT .Prin urmare, A este convergenta daca si numai daca este convergenta orice matrice aseme-nea cu A. Pentru matricele diagonalizabile rezultatul este imediat. In cazul general, seutilizeaza forma canonica Jordan aratand ca un bloc Jordan Jλ (vezi notatia din problema4.16) este convergent daca si numai daca |λ| < 1.

P4.34 Pentru fiecare matrice si transpusa ei se aplica teorema Gershgorin si se inter-secteaza domeniile astfel obtinute.

P4.35 Punctul cel mai departat de originea planului complex al reuniunii discurilorGergshgorin se afla la distanta δ = maxi=1:n(|aii| + ri) = maxi=1:n(

∑n

j=1|aij |) = ‖A‖∞.

Prin urmare ρ(A) ≤ ‖A‖∞. Aplicand acelasi rationament si pentru matricea AT se obtineevaluarea ρ(A) ≤ min(‖A‖1, ‖A‖∞), rezultat ın deplina concordanta cu teorema 4.10.

P4.36 a) Se utilizeaza bij = aijδjδi. In principiu, da (v. punctul b)). b) Daca A

are toate elementele pozitive avem r = minD ‖D−1AD‖∞ = minτ>0(max(a11+ τa12, a22+

+1

τa21)) (am notat τ = δ2

δ1). Se obtine r = ρ(A). c) r = 3 +

√7 >√14 = ρ(A).

P4.37 Din teorema discurilor Gershgorin se obtine λ(A) ⊂ D = [−21, 31]. Da, deexemplu scaland cu D = diag(1, 2, 2) se obtine λ(A) ⊂ D′ = [−13, 27]. (Spectrul lui Aeste λ(A) = {−9,−9, 27}).

P4.38 a) 0 nu apartine nici unui disc Gersgorin, deci 0 6∈ λ(A). b) Toate discurileGershgorin sunt situate ın IC+ = {λ ∈ IC | Reλ > 0}. c) Caz particular al lui b).

P4.39 a) Daca A are (cel putin) o linie nula, atunci rezultatul este evident. In cazcontrar, fie δi =

∑n

j=1|aij | > 0, i = 1 : n, si D = diag(δ1, δ2, . . . , δn). Matricea B = D−1A

are ρ(B) ≤ ‖B‖∞ ≤ 1. Deci, |detB| =∏n

i=1|λi(B)| ≤ 1. Inegalitatea ceruta se obtine din

|detA| = |detD| · |detB| ≤ |detD|. b) Se aplica a) pentru matricea AT .

P4.40 Rezultatul generalizeaza teorema discurilor lui Gershgorin, care se obtine luandα = 1 (pentru A) sau α = 0 (pentru AT ). De aceea consideram numai cazul α ∈ (0, 1).Presupunem ri > 0, ci > 0, i = 1 : n (altfel exista o linie sau o coloana cu toate elementeleextradiagonale nule, care poate fi deplasata ın prima pozitie printr-o transformare de

INDICATII, RASPUNSURI, SOLUTII 521

asemanare tip permutare). Vom utiliza inegalitatea Holder, i.e.

n∑

i=1

|αi| |βi| ≤(

n∑

i=1

|αi|p) 1

p(

n∑

i=1

|βi|q) 1

q

, unde p > 1,1

p+

1

q= 1.

Fie λ ∈ λ(A), x 6= 0 un vector propriu asociat si xi = x(i). De asemenea, fie p = 1α

siq = 1

1−α. Avem

|λ− aii| |xi| =

∣∣∣∣∣∣∣

n∑

j=1j 6=i

aijxj

∣∣∣∣∣∣∣

≤n∑

j=1j 6=i

|aij | |xj | =n∑

j=1j 6=i

|aij |α(|aij |1−α|xj |) ≤

n∑

j=1j 6=i

|aij |

α

n∑

j=1j 6=i

(|aij |1−α|xj |)1

1−α

1−α

= rαi

n∑

j=1j 6=i

(|aij |1−α|xj |)1

1−α

1−α

,

i.e.

|λ− aii|rαi

|xi| ≤

n∑

j=1j 6=i

|aij | |xj |1

1−α

1−α

,

sau(|λ− aii|

rαi|xi|) 1

1−α

≤n∑

j=1j 6=i

|aij | |xj |1

1−α .

Insumand ultimele inegalitati ın raport cu i obtinem

n∑

i=1

(|λ− aii|

rαi

) 11−α

|xi|1

1−α ≤n∑

i=1

n∑

j=1j 6=i

|aij | |xj |1

1−α =

n∑

j=1

cj |xj |1

1−α ,

i.e.n∑

k=1

(

ck −(|λ− akk|

rαk

) 11−α

)

|xk|1

1−α ≥ 0.

Evident, ın ultima inegalitate, coeficientii pentru |xk|1

1−α nu pot fi toti negativi. Prinurmare, exista k astfel ıncat |λ − akk| ≤ rαk c

1−αk , q.e.d.

P4.41 Fie λ ∈ λ(A), x 6= 0 un vector propriu asociat si xi = x(i). De asemenea, fie|xp| = maxi=1:n |xi|. Daca xp este singura componenta nenula a lui x, atunci λ = app si,ıntrucat aii ∈ D pentru toti i ∈ 1 : n, rezulta λ ∈ D. Presupunem, ın continuare, ca xare cel putin doua componente nenule si fie xq 6= 0 cea de a doua componenta, ın ordineadescrescatoare a modulelor, i.e. |xp| ≥ |xq| ≥ |xi|, i = 1 : n. i 6= p, q. Avem

|λ− app| |xp| =

∣∣∣∣∣∣∣

n∑

j=1j 6=p

apjxj

∣∣∣∣∣∣∣

≤n∑

j=1j 6=p

|apj | |xq| = rp|xq |,

522 INDICATII, RASPUNSURI, SOLUTII

unde rp este raza discului Gershgorin asociat liniei p. Rezulta |λ− app| ≤ rp|xq||xp|

. Similar

se arata |λ− aqq| ≤ rq|xp||xq|

. Obtinem |λ− app| |λ− aqq| ≤ rprq, i.e. λ ∈ D, q.e.d.P4.42 Ambele valori proprii ale lui A sunt egale cu −1. Un vector propriu unitar

asociat este x = (1/√2)

[11

]

. Pentru obtinerea unei forme Schur se aplica deflatia or-

togonala ın cazul real, respectiv deflatia unitara ın cazul complex sau pentru obtinereaformelor Schur complexe ale unor matrice reale. De exemplu, luand Q = [x y], unde

xT y = 0, obtinem y = ±(1/√2)

[1−1

]

(de asemenea cu ‖y‖ = 1), de unde rezulta

QTAQ =

[−1 ±40 −1

]

. Sa remarcam faptul ca desi matricea A este defectiva (i.e. nu

este simpla) forma Schur exista si se poate construi. Valorile proprii ale lui B nu suntreale, deci o FSR a lui B este chiar B etc.

P4.43 Fie V ∈ ICn×(n−k) o completare a lui U pana la o matrice unitara, i.e. astfel ıncat

Q = [U V ] este unitara. Atunci f(X) = ‖QH(AU − UX)‖F = ‖[

UHAU −XV HAU

]

‖F =

=√

‖UHAU −X‖2F + ‖V HAU‖2F . Evident, minimul lui f este ‖V HAU‖F si se atingepentru X = UHAU .

P4.44 Prezentam doua solutii: Solutia 1. Fie S = UHAU o forma Schur a lui A.Notand T = UHBU , din AB = BA rezulta ST = TS, cu S superior triunghiulara cuelementele diagonale distincte. Din egalitatea primelor coloane a acestei relatii rezultasistemul liniar nesingular omogen (S(2 :n, 2:n)− s11In−1)T (2 :n, 1) = 0, de unde obtinemT (2 :n, 1) = 0, i.e. T este superior triunghiulara ın prima coloana, etc. Solutia 2. Dacaλ ∈ λ(A) si Ax = λx, atunci BAx = λBx, A(Bx) = λ(Bx) si, ıntrucat valorile proprii alelui A sunt distincte, A are un set complet de vectori proprii liniar independenti si Bx = αx(Bx este un vector propriu atat pentru A cat si pentru B). Intrucat procedura de deflatiepentru reducerea la forma Schur utilizeaza vectori proprii, forma Schur a matricelor A siB se obtine cu aceeasi transformare de asemanare (argumente similare se pot aduce si ıncazul real).

P4.45 a) Fie U1 un reflector complex (hermitic, v. cap.3) astfel ıncat UH1 x = ρe1,

ρ 6= 0. Atunci v =1

ρU1e1 este vectorul cautat. Pentru calculul sau (i.e. al elementelor

definitorii ale reflectorului) se poate utiliza procedura Hc si relatia de mai sus. b) Severifica imediat ca Bx1 = 0 si BxB

i = λixBi , i = 2 : n. Altfel, considerati o matrice unitara

U astfel ıncat Ue1 este coliniar cu x1 si calculati UHBU .

P4.46 a) Prezentam doua solutii. Solutia 1 (geometrica). Fie X complementulortogonal al subspatiului Imx si Y complementul ortogonal al subspatiului Imy. FieU = X

⋂Y si V = X + Y. Intrucat dimX = dimY = n − 1 si dim(V) ≤ n, rezulta

n − 1 ≥ dimU = dimX + dimY − dimV ≥ n − 2, cazul generic fiind dimU = n − 2.Fie, ın cazul generic, U ∈ ICn×(n−2) o matrice ale carei coloane formeaza o baza orto-gonala pentru U , X = [x2 U ] ∈ ICn×(n−1) o matrice ale carei coloane formeaza o bazaortogonala pentru X si Y = [y2 U ] ∈ ICn×(n−1) o matrice ale carei coloane formeazao baza ortogonala pentru Y. Definim matricele X = [x Y ] si Y = [ y X ]. Avem

Y HX =

yH

yH2

UH

[

x x2 U]=

1 0 0

0 yH2 x2 0

0 0 In−2

. Aratati ca x2 si/sau y2 pot

fi scalati astfel ıncat yH2 x2 = 1. Solutia 2 (procedurala). Fie U1 reflectorul pentru care

INDICATII, RASPUNSURI, SOLUTII 523

UH1 y = αe1. Notam UH

1 X = Z =

[z11 Z12

Z21 Z22

]

, UH1 Y = W =

[α W12

0 W22

]

. Din

conditiile Xe1 = x si Y HX = WHZ = In, rezulta ecuatiile

[z11Z21

]

= U1x, WH22Z22 =

= In−1, WH12z11 + WH

22Z21 = 0, care sunt satisfacute, de exemplu, pentru Z22 = In−1,W22 = In−1, W12 = − 1

z11ZH

21. b) Daca λ este o valoare proprie simpla a matricei A, con-form problemei 4.9, vectorii proprii asociati x (la dreapta) si y (la stanga) satisfac conditiayHx 6= 0 si se pot scala astfel ıncat yHx = 1. Fie matricea X si X−1 = Y H calculate ca la

punctul a). Atunci X−1AX =

[yH

Y H

]

A[

x X]=

[λ 0

0 Y HAX

]

. Algoritmul este

urmatorul.

1. Pentru k = 1 : n− 11. x = vp(A(k : n, k : n))2. y = vp((A(k : n, k : n))T ), y = y

3. x =x

yHx4. Se calculeaza matricele X si Y (v. punctul a))5. A(k, k) = yHA(k : n, k : n)x6. A(k, k + 1 : n) = 0, A(k + 1 : n, k) = 0,

7. A(k + 1 : n, k + 1 : n)← Y HA(k + 1 : n, k + 1 : n)X.

P4.47 Pentru A, daca vectorul initial are prima componenta nenula, rezultatul este±e1, ıntrucat A(±e1) = 5(±e1) si λ(A) = {5, 2, 1}. Pentru B avem λ(B) = {α, 1 − √β,1 +√β}. Deci, B va avea o valoare proprie dominanta ın urmatoarele situatii: a) β ≤ 0

si |α| > √1− β si b) β > 0 si |α| 6= 1 +√β.

P4.48 Fie matricea A =

[−2 10 1

]

si un vector initial y(0) =

[10

]

. Atunci vectorul

curent generat de metoda puterii va fi y(k) =Aky(0)

‖Aky(0)‖ = (−1)ky(0) si, prin urmare,

ek = ‖y(k)−y(k−1)‖ = ‖(−1)ky(0)− (−1)k−1y(0)‖ = 2 pentru toti k desi y(0) este un vectorpropriu asociat valorii proprii dominante λ1 = −2 a matricei A (de retinut ca criteriulutilizat ın algoritmii 4.1 si 4.2 functioneaza ıntrucat 1 − |(y(k))T y(k−1)| = 0). Evident,situatia de mai sus se datoreaza faptului ca valoarea proprie dominanta este negativa si,desi vectorii din sir sunt orientati corespunzator ca directie, ısi schimba sensul la fiecarepas. In cazul complex, vectorii proprii unitari sunt determinati pana la o multiplicarecu un numar complex de modul unitar, i.e. eiφ cu φ ∈ IR si, prin urmare, este posibilca vectorii din sirul generat de metoda puterii sa tinda catre multimea vectorilor propriiunitari asociati valorii proprii dominante desi diferenta dintre doi vectori consecutivi sanu tinda catre zero. Pentru metoda puterii inverse motivatiile sunt aceleasi.

P4.49 Se aplica sistematic lema de deflatie unitara. Rezulta urmatoarea schema decalcul.

1. Pentru k = 1 : n− 11. xk = vp(A(k : n, k : n))

2. xk =xk

‖xk‖3. Se determina o matrice unitara Qk astfel ıncat Qke1 = xk

4. A(k : n, k : n) = QHk A(k : n, k : n)

5. A( : , k : n) = A( : , k : n)Qk.

524 INDICATII, RASPUNSURI, SOLUTII

Daca matricea A are valorile proprii distincte, λk = A(k, k), zk este solutia sistemului liniar(A(1 : k−1, 1 : k−1)−λkIk−1)zk = −A(1 : k−1, k : n)xk (unde A este matricea data aflataın starea de dupa executia pasului curent k din schema de mai sus) si Qk = diag(Ik−1, Qk),

atunci xk = Q1Q2 . . . Qk−1

[zkxk

]

este vector propriu al matricei initiale asociat valorii

proprii λk.P4.50 Schema de calcul este similara celei care sta la baza algoritmului HQ:

1. Pentru k = 1 : n− 21. Se determina ik astfel ıncat |aikk| = maxi=k+1:n(|aik|)2. A(ik, k : n)↔ A(k + 1, k : n)3. Se determina matricea inferior triunghiulara elementara Mk+1

astfel ıncat (Mk+1A)(k + 2 : n, k) = 04. A = Mk+1A5. A( : , k + 1)↔ A( : , ik)6. A = AM−1

k+1.

Schema este de doua ori mai eficienta decat algoritmul HQ.P4.51 Ideea este urmatoarea: gasiti un reflector elementar (hermitic) U1, astfel ıncat

UH1 z = ρe1. Calculati A1 = UH

1 AU1. Apoi, reduceti A1 la forma superior HessenbergH = QHA1Q folosind algoritmul HQ. Matricea Q = U1Q defineste transformarea unitaradorita, ıntrucat QHz = UH

n−1UHn−2 . . . U

H2 UH

1 z = ρe1.P4.52 Testati, parcurgand prima subdiagonala, ca nu exista blocuri diagonale de ordin

mai mare decat 2 si, apoi, ca blocurile de ordinul 2 au valorile proprii complexe.P4.53 Daca Q = QH este reflectorul (hermitic) pentru care QHu = ρe1, atunci S =

= QHAQ = In + ρe1vHQ este superior triunghiulara si λ1 = s11 = 1 + ρvHq1, unde q1 =

= Qe1 = 1ρu este prima coloana a lui Q. Deci λ1 = 1+ vHu. Celelalte n− 1 valori proprii

sunt λi = sii = 1, i = 2 : n. u este vector propriu asociat lui λ1. Fie acum, Y reflectorul(hermitic) astfel ıncat Y Hv = σe1. Atunci SY ( : , 2 : n) = Y ( : , 2 : n), i.e. yj = Y ( : , j),j = 2 : n, sunt vectori proprii ai matricei S, iar xj = Qyj sunt vectori proprii ai matriceiA, asociati valorilor proprii egale cu 1.

P4.54 Aplicand lema de deflatie ortogonala, se calculeaza matricea ortogonala U astfel

ıncat UTHU =

[

λ cT

0 B

]

. Fie acum matricea ortogonala V , de ordinul n−1, astfel ıncat

G = V TBV este superior Hessenberg (utilizati algoritmul HQr). Matricea cautata esteQ = Udiag(1, V ).

P4.55 a) Secventa de pustmultiplicare a matricii superior triunghiulare R cu matricilePk si M−1

k afecteaza la pasul curent k numai coloanele k si k+1, de unde rezulta imediatconservarea structurii superior Hessenberg.

P4.56 Fara a reduce generalitatea, admitem ca restrictie a matricei A la subspatiul

A-invariant cautat chiar submatricea A22. Fie, ın aceasta ipoteza, Xdef= [x1 x2 ] ∈ IRn×2

si consideram partitia X =

[X1

X2

X3

]

, conforma cu dimensiunile blocurilor diagonale. Din

ecuatia matriciala AX = XA22 rezulta X3 = 0 ca unica solutie a ecuatiei Sylvesteromogene A33X3 = X3A22. In continuare, X2 este orice matrice reala nesingulara 2 × 2care comuta cu A22 (e.g. X2 = I2), iar X1 se obtine rezolvand ecuatia matriceala SylvesterA11X1 −X1A22 = −A12X2.

P4.57 Avem λ1(A) = 2 −√5, λ2(A) = 2 +

√5, iar doi vectori proprii asociati sunt

x1 =

[2

1−√5

]

, x2 =

[2

1 +√5

]

. Cei doi vectori proprii sunt ortogonali ıntrucat

INDICATII, RASPUNSURI, SOLUTII 525

xT1 x2 = 0. Pentru celelalte matrice puteti utiliza calculatorul.

P4.58 Se utilizeaza reflectori complecsi care aplicati unui vector complex asiguraobtinerea unui vector real cu zerouri ın pozitiile necesare (v. cap. 3). (In pachetul deprograme LAPACK astfel de reflectori sunt folositi curent).

P4.59 Matricea QHAQ ramane antihermitica (ın cazul real, antisimetrica) oricare arfi matricea unitara (ortogonala) Q. Prin urmare, ın aplicarea procedurii de reducere laforma superior Hessenberg, matricele obtinute dupa fiecare pas al reducerii si matriceafinala sunt antihermitice (antisimetrice). O matrice superior Hessenberg antihermitica(antisimetrica) este tridiagonala. Exploatati aceste observatii structurale.

P4.60 a) Se obtine Hk+1(2, 1) =−γǫ2

(α− β)2 + ǫ2, ceea ce indica o convergenta patratica

la forma Schur. b) In cazul simetric se obtine Tk+1(2, 1) = Tk+1(1, 2) =−ǫ3

(α− β)2 + ǫ2,

ceea ce indica o convergenta cubica la forma diagonala.

P4.61 b) Aratam mai ıntai ca exista o matrice de permutare P (produs de matrice de

permutare elementare) astfel ıncat PBP T = diag(D1, . . . , Dn), unde Di =

[0 didi 0

]

.

Pentru claritate, vom considera numai cazul cand n este par. Mai ıntai, calculam o matriceasemenea cu B, aplicand matricele de permutare elementare Pn+1,2n, Pn+2,2n−1, . . . ,P3n/2,3n/2+1. Obtinem matricea C = QTAQ care are elemente nenule numai pe diagonalasecundara; mai precis, aceste elemente sunt situate din coltul din dreapta sus spre coltuldin stanga jos ın ordinea d1, d2, . . . , dn, dn, . . . , d2, d1. Atunci, aplicand permutarileelementare P2,2n, P4,2n−2, . . . , Pn,n+2, C este adusa la o forma cu blocuri diagonale 2× 2,i.e. diag(D1, D3, . . . , D4, D2). Permutarea acestor blocuri diagonale pentru a obtine formadiag(D1, D2, . . . , Dn) poate fi realizata cu usurinta utilizand un algoritm de sortare.

P4.62 a) Avem T ′ = L−1TL, deci matricele sirului sunt asemenea si, ın anumiteconditii (vezi b)), sirul poate pune asimptotic ın evidenta valori proprii ale matricei T .

b) Daca T =

[α ββ γ

]

, atunci T ′ are elementele α′ = α + β2

α, β′ = β

α

αγ − β2,

γ′ = γ− β2

α. Tinand seama de faptul ca λ1, λ2 sunt invarianti ai sirului, convergenta sirului

matriceal este echivalenta cu convergenta sirului numeric (αk)k∈IN definit de recurentaα′ = σ − κ

α, unde σ = λ1 + λ2 si κ = λ1λ2 sunt constante. Aratati ca acest din urma sir

este monoton si marginit si ca limita sa este λ1.

P4.63 a) Presupunem ca matricea tridiagonala simetrica reala T are o valoare propriemultipla λ. Pentru precizarea ideilor, consideram ca ordinul de multiplicitate este 2.Atunci exista doi vectori proprii ortogonali x si y asociati valorii proprii λ, i.e. Tx = λxsi Ty = λy, cu yTx = 0. Presupunem ca T este ireductibila, i.e. toate elementele sub-si supradiagonale sunt nenule. Consideram matricea S = T − λIn cu urmatoarea partitie

S =

[S11 S12

S21 S22

]

cu blocul S12 ∈ IR(n−1)×(n−1) nesingular. Atunci rezulta x(2 : n) =

= S−112 S11x(1). Intrucat x 6= 0, rezulta x(1) 6= 0. Absolut similar y(2 :n) = S−1

12 S11y(1) cuy(1) 6= 0. Rezulta ca x si y sunt coliniari ceea ce contrazice faptul ca sunt ortogonali. DeciT nu poate fi ireductibila. Daca ordinul de multiplicitate este mai mare decat 2 atunci,conform celor de mai sus, exista doua elemente extradiagonale simetrice nule care ”sparg”matricea T ın doua matrice tridiagonale simetrice din care cel putin una are o valoareproprie multipla etc. b) Generic, se constata o grupare a elementelor extradiagonale nuleınt-un bloc diagonal situat ın coltul din dreapta jos. Explicatia este urmatoarea: aplicareabilaterala a reflectorilor care realizeaza tridiagonalizarea aduce pe pozitiile (k+1, k) valoriegale ın modul cu norma de vector ‖A(k+1 : n, k)‖, valori care, pentru o matrice initiala fara

526 INDICATII, RASPUNSURI, SOLUTII

o structura particulara (ın afara simetriei) sunt, ın general, nenule. De aceea, elementelenule, obligatorii conform punctului a), apar la sfarsitul procesului de tridiagonalizare.

P4.64 Transformarile ortogonale conserva norma Frobenius. In consecinta, matricele[

app apq

aqp aqq

]

si

[a′pp a′

pq

a′qp a′

qq

]

=

[c −ss c

] [app apq

aqp aqq

] [c s−s c

]

au aceeasi norma

Frobenius, i.e. a2pp + a2

qq + 2a2pq = (a′

pp)2 + (a′

qq)2 + 2(a′

pq)2. De asemenea, matricele

A si A′ = JTAJ au aceeasi norma Frobenius. Notand cu B, B′ matricele elementelorextradiagonale ale matricelor A, respectiv A′, si tinand seama de faptul ca A si A′ diferanumai ın liniile si coloanele p si q, avem

‖B′‖2F = ‖A′‖2F −n∑

i=1

(a′ii)

2 = ‖A‖2F −n∑

i=1

a2ii + a2

pp + a2qq − (a′

pp)2 − (a′

qq)2 =

= ‖B‖2 − 2a2pq + 2(a′

pq)2.

Prin urmare ‖B′‖F este minima daca a′pq = a′

qp = 0.

P4.65 a) Daca γ = 0 rezultatul este imediat. Daca γ 6= 0 ecuatia (JTAJ)11 == c2α − 2csγ + s2β = δ este echivalenta cu cos(2θ + φ) = 2δ−α−β

2γsinφ = 2δ−α−β√

(α−β)2+4γ2,

unde θ = arccosc este unghiul ce defineste rotatia, iar φ = arcctgα−β2γ

. Rezulta ca θ exista

daca si numai daca∣∣∣

2δ−α−β√(α−β)2+4γ2

∣∣∣ ≤ 1, i.e. δ ∈ [λ1, λ2 ]. b) Se reduce mai ıntai A la

forma tridiagonala, dupa care se utilizeaza rezultatul de la punctul a).

P4.66 Utilizati faptul ca matricele antihermitice (antisimetrice) raman astfel la trans-formari unitare (ortogonale) de asemanare.

P4.67 κλ1= κλ2

=

√1+4ǫ2

2ǫ≈ 1

2ǫetc.

P4.68 Considerand o matrice de perturbatie E = ǫG, cu G = eieTj si observand ca, ın

acest caz, ∂λk

∂aij= dλk(ǫ)

dǫ, rezulta expresia dorita.

P4.69 Acesta este un exemplu celebru [ IV ] de matrice cu valori proprii bine separatesi, totusi, foarte rau conditionate. Vectorii proprii la dreapta, respectiv la stanga, asociati

valorii proprii λk = k, au expresiile xk = [ (−n)n−k

(n−k)!(−n)n−k−1

(n−k−1)!· · · (−n)2

2!(−n) 1 0 · · · 0 ]

T

ρ,

respectiv, yk = [ 0 0 · · · 0 1 n n2

2!· · · nk−2

(k−2)!nk−1

(k−1)!]Tτ unde ρ si τ sunt scalari nenuli arbi-

trari. Folosind, pentru simplitate, norma ‖ · ‖∞ rezulta κk = ‖xk‖∞‖yk‖∞|yT

kxk|

= nn−1

(n−k)!(k−1)!

numar care, pentru un n semnificativ, este foarte mare. Pentru n = 20 avem κ1 = κ20 =

= 2019

19!. Folosind formula lui Stirling m! ≈

√2πmmme−m pentru evaluarea factorialului,

se obtine κ1 = κ20 ≈ 2019e19

1919√

38π≈ 4.329 · 107.

P4.70 Acesta este un alt exemplu celebru [ IV ] de matrice cu o conditionare foartediferentiata a valorilor proprii: pentru un n semnificativ, valoarea proprie maxima estefoarte bine conditionata pe cand valoarea proprie minima este foarte rau conditionata.a) Se aplica varianta ”simbolica” a eliminarii gaussiene. b) Se repeta procedura de lapunctul a). Pentru n = 20 si ǫ = 10−10 avem detF = 1− 19! · 10−10 ≈ −1.216 · 107 fata de1 pentru ǫ = 0.

P4.71 a) Calculati valorile proprii λi, apoi p(λ) = Π(λ− λi).

b) Aceasta problema preocupa de cateva secole pe matematicieni care au propus zeci demetode pentru rezolvarea ei. Ultima si cea mai buna metoda consta ın formarea explicitaa unei matrice companion (v. problema 4.18) si calculul valorilor sale proprii utilizandalgoritmul QR.

INDICATII, RASPUNSURI, SOLUTII 527

Cap. 5 Descompunerea valorilor singulare

P5.1 σ(A) = { 4 +√5, 4−

√5 }, σ(B) = { 8 +

√10, 8−

√10 },

σ(C) = { 12 +√10, 12−

√10 }.

P5.2 Fie A =

[α βγ δ

]

. Atunci

σ1 =

1

2(α2 + β2 + γ2 + δ2 +

(α2 − δ2)2 + (β2 − γ2)2 + 2(αβ + γδ)2 + 2(αγ + βδ)2 ) ,

si asa mai departe.P5.3 a) Utilizati faptul ca daca matricea Q este unitara, atunci si matricele Q, QT

si QH sunt unitare. b) Produsul a doua matrice unitare este o matrice unitara. c) FieA = UΣV H DVS a matricei A. Daca α 6= 0, atunci αA = U |α| ΣV H , cu U = α

|α|Uunitara.

P5.4 Fie A = UΣV H DVS a matricei A. Presupunem m ≥ n, caz ın care avemA = U1Σ1V

H , unde U1 = U( : , 1 : n), Σ1 = Σ(1 : n, : ). Conform unei versiuni evi-dente a propozitiei 5.1 avem B = QΛQH , unde Λ = diag(Σ1,−Σ1, 0(m−n)×(m−n)) si

Q = 1√2

[V V 0

U1 −U1

√2U2

]

cu U2 = U( : , n + 1 : m). Coloanele matricei Q sunt

vectori proprii ai matricei B.

P5.5 Fie C = A + iB = UΣV H DVS a matricei C si Urdef= ReU , Ui

def= ImU ,

Vrdef= ReV , Vi

def= ImV . Atunci

D =

[A −BB A

]

=

[Ur −Ui

Ui Ur

] [Σ 00 Σ

][Vr −Vi

Vi Vr

]

,

la care se adauga permutarile impuse de ordonarea valorilor singulare ale matricei D.P5.6 a) O matrice normala fiind unitar (ortogonal) diagonalizabila, avem QHAQ =

= Λ = diag(λ1, λ2, . . . , λn), cu Q unitara (ortogonala). Rezulta QHAHAQ = ΛHΛ == diag(|λ1|2, |λ2|2, . . . , |λn|2). b) Matricea A este normala. Avem λ1 = 8, λ2,3 = 2± i

√6.

Rezulta σ1 = 8, σ2,3 = |λ2,3| =√10. Verificati, calculand valorile proprii ale matricei

B = ATA.P5.7 Orice matrice ortogonala sau unitara are toate valorile singulare egale cu 1.P5.8 b) Utilizati DVS a matricei V pentru a obtine DVS a matricei P = V V H . Sunt

k valori singulare egale cu 1, iar celelalte sunt nule.P5.9 ‖A‖2F =

∑r

i=1σ2i ≤ rσ2

1 , unde r = rangA si ‖A‖2 = σ1.P5.10 O matrice de permutare este ortogonala (unitara), iar transformarile unitare

conserva norma spectrala. Astfel, fara a reduce generalitatea, putem presupune ca cele k ≤≤ n−1 linii eliminate sunt ultimele k linii ale matricei Q, i.e. putem scrie Q = [P T RT ]

T.

Fie P = UCV H dezvoltarea DVS a matricei P , unde C = diag(c1, c2, . . . cn), cu c1 ≥≥ c2 ≥ . . . ≥ cn ≥ 0 valorile singulare ale matricei P . Dar QHQ = PHP + RHR = In.Rezulta RHR = In − V C2V H = V (In − C2)V H = V S2V H , unde S = diag(s1, s2, . . . sn),

cu si =√

1− c2i valorile singulare ale matricei R ordonate crescator. Cum R are cel multn− 1 linii, rezulta s1 = 0, i.e. c1 = ‖P‖2 = 1.

P5.11 Se utilizeaza DVS a matricei A.P5.12 Daca A = UΣV T este DVS a lui A, atunci (U , V sunt matrice nesingulare):

maxy ∈ IRm \ {0}x ∈ IRn \ {0}

yTAx

‖y‖2‖x‖2= max

z ∈ IRm \ {0}w ∈ IRn \ {0}

zTUTAV w

‖Uz‖2‖V w‖2= max

z ∈ IRm \ {0}w ∈ IRn \ {0}

zTΣw

‖z‖2‖w‖2.

528 INDICATII, RASPUNSURI, SOLUTII

P5.13 a) Daca U1 ∈ IRm×m, V1 ∈ IRn×n sunt reflectori elementari astfel ıncat U1u == ‖u‖e1 ∈ IRm, si V1v = ‖v‖e1 ∈ IRn, atunci:

UT1 AV1 =

[‖u‖‖v‖ 0

0 0

]

∈ IRm×n.

Evident, rangA = 1 daca u 6= 0, v 6= 0, si zero altfel. b) Daca rangA = 1, atuncidezvoltarea valorilor singulare se reduce la A = σ1u1v

H1 .

P5.14 Fie wdef= Qv⊥u, unde Q este o matrice ortogonala (cum calculati matricea Q?)

si wdef= w/‖w‖, u def

= u/‖u‖. Calculati o matrice ortogonala C ∈ IRn×(n−2) astfel ıncatU = [u w C] si V = [w u C] sunt ortogonale (folositi factorizarea QR a matricei [u w]).Atunci

UT (I + uvT )V =

uT (I + uvT )w uT (I + uvT )u 0

wT (I + uvT )w wT (I + uvT )u 0

0 0 In−2

=

=

[uT uvTw 1 + uT uvTu 0

1 0 00 0 In−2

]

si problema a fost redusa la cazul 2× 2 (oricum, celelalte n− 2 valori singulare ale lui Asunt egale cu 1).

P5.15 Se aplica algoritmul JQ cu precizarea ca reflectorii complecsi utilizati sunt detipul celor care dau un rezultat real, e.g. pentru x ∈ ICn se obtine UH

1 x = ‖x‖e1 ∈ IRn.

P5.16 Matricea T = JHJ este tridiagonala, hermitica si are doua valori proprii egale.Conform problemei 4.63 (v. cap.4) T este reductibila, i.e. exista i astfel ıncat T (i+1, i) == gifi = 0. Deci, gi = 0 sau/si fi = 0.

P5.17 Pentru a exploata structura superior triunghiulara, se utilizeaza o secventa derotatii ”modificate”, conform urmatoarei scheme de calcul:

1. Pentru k = n : −1 : 31. Pentru i = 1 : k − 2

1. Se calculeaza rotatia modificata Pi,i+1 astfel ıncat (PHi,i+1A)(i, k) = 0.

2. A← PHi,i+1A % Apare un element nenul ın pozitia (i+ 1, i).

3. Se calculeaza rotatia modificata Qi,i+1 astfel ıncat (AQi,i+1)(i+ 1, i) = 0.2. A← AQi,i+1.

Pentru n = 4, primul pas al ciclului exterior se desfasoara astfel:

A← PH12A =

× × × ∅+ × × ×

× ××

, A← AQ12 =

× × × 0∅ × × ×

× ××

,

A← PH23A =

× × × 0× × ∅+ × ×

×

, A← AQ23 =

× × × 0× × 0∅ × ×

×

.

INDICATII, RASPUNSURI, SOLUTII 529

P5.18 Utilizand transformari Householder sau Givens, se pot introduce zerouri con-form modelului urmator, dat pentru m = 7, n = 6, p = 3 (pentru precizare am folositrotatii):

A =

× × × × × ×× × × × × ×× × × × × ×

× × ×× × ×× × ×× × ×

, A← PH12P

H13A =

× × × × × ×0 × × × × ×0 × × × × ×

× × ×× × ×× × ×× × ×

,

A← AQ45Q46 =

× × × × 0 00 × × × × ×0 × × × × ×

× × ×× × ×× × ×× × ×

,

A← PH45P

H46P

H47A =

× × × × 0 00 × × × × ×0 × × × × ×

× × ×0 × ×0 × ×0 × ×

,

A← AQ23Q24 =

× × 0 0 0 00 × × × × ×0 × × × × ×

+ + × × ×0 × ×0 × ×0 × ×

.

Dupa aceste transformari A este bidiagonala ın prima linie si prima colana. Se obtine oproblema similara, dar de dimensiunea (m− 1)× (n− 1); blocul patrat p× p este deplasatcu o pozitie diagonala.

P5.19 Se aplica mai ıntai o secventa de rotatii pe stanga care aduce matricea la oforma superior triunghiulara (cu numai doua supradiagonale de elemente nenule) dupacare se adapteaza schema de calcul de la problema 5.17.

P5.20 Mai ıntai se reduce matricea A la forma superior bidiagonala cu algoritmulJQ. Apoi se anuleaza elementul din pozitia (m,n+1) cu o secventa de rotatii aplicate pedreapta A← APm,m+1Pm−1,m+1 . . . P1,m+1 care deplaseaza elementul alterant pe verticalacoloanei m+ 1 pana la eliminare. Exemplificam procesul pentru m = 3, n = 5,

A =

[ × ×× ×× +

]

, A← AP34 =

[ × ×× × +× ∅

]

,

A← AP24 =

[ × × +× × ∅×

]

, A← AP34 =

[ × × ∅× ××

]

.

530 INDICATII, RASPUNSURI, SOLUTII

P5.21 Fie A = UΣV H , Σ = diag(σ1, σ2, . . . , σp), cu p = min(m,n), DVS a matricei

A . Evident, exista sirurile de numere reale (γ(k)i )

k∈IN astfel ıncat limk→∞ γ(k)i = σi si

γ(k)i 6= 0 pentru toti i si k. Daca Γk

def= diag(γ

(k)1 , γ

(k)2 , . . . , γ

(k)p ), si Ak

def= U ΓkV

H , atuncitoate matricele Ak sunt de rang maximal si limk→∞ Ak = A. Aceasta ınseamna ca oricatde ”aproape” de orice matrice (inclusiv de matricea nula) se afla matrice de rang maximal.De aici necesitatea conceptului de rang numeric ın orice problema de calcul al rangului,afectata de erori.

P5.22 Urmati demonstratia teoremei 5.4.

P5.23 Daca (C,S) = (UHAW,V HBW ) este DVSG a perechii de matrice (A,B) atuncirA = rang(A) = rang(C) si rB = rang(B) = rang(S), i.e. rA este numarul elementelordiagonale nenule ale matricii C, iar rB este numarul elementelor diagonale nenule alematricii S. Pentru determinarea rangului numeric se poate utiliza o toleranta pentruneglijarea elementelor diagonale ”mici” ale matricilor C si S (v. alg. Rang DVS).

P5.24 Utilizati DVS si definitia 5.3.

P5.25 Urmati demonstratia teoremei 5.3.

P5.26 a) Utilizand DVS A = UAΣAVHA si B = UBΣBV H

B sistemul matriceal datdevine echivalent cu sistemul

{

ΣAX − Y ΣB = C

XΣTB − ΣT

AY = D,

unde X = V HA XVB, Y = UH

A Y UB , C = UHA XVB , D = V H

A XUB , care la randul sau, sepoate scrie explicit sub forma a mn sisteme de doua ecuatii cu doua necunoscute

[

σ(A)i −σ(B)

j

σ(B)j −σ(A)

i

][xij

yij

]

=

[cijdij

]

.

P5.27 a) Utilizand DVS A = UΣV T si tinand seama de conservarea normei euclidiene,problema devine echivalenta cu problema de minimizare min

y∈IRn{‖d − Σy‖2 + α‖y‖2}(evident, mult mai simpla), unde d = UT b si y = V Tx.

P5.28 0 ∈ λ(A)⇔ detA = 0⇔ detAHA = 0⇔ 0 ∈ σ(A).

P5.29 Nu, e.g. pentru A =

[0 10 0

]

, B =

[0 00 1

]

.

P5.30 a) Inegalitatea triunghiului pentru norma spectrala. In general nu, luati e.g.

A =

[1 00 0

]

, B =

[0 00 1

]

. b) Consultati [ II ].

P5.31 Proprietatile sunt corespondentele multiplicative ale proprietatilor aditive dinproblema precedenta. a) Conditia de consistenta a normei spectrale. In general nu, luati

e.g. A =

[1 10 1

]

, B =

[1 01 1

]

. b) Consultati [ II ].

P5.32 Consultati [ II ].

P5.33 a) det(λIn − A) = λn − ǫ, i.e. |λi| = ǫ1n , ∀i ∈ 1 : n. Valorile singulare sunt

σi = 1, i ∈ 1 : (n− 1), σn = ǫ.

P5.34 Consultati [ II ], unde veti gasi multe alte proprietati interesante ale descom-punerii polare.

INDICATII, RASPUNSURI, SOLUTII 531

Cap. 6. Calculul valorilor proprii generalizate

P6.1 a) Se observa ca scazand prima linie din celelalte doua si apoi adunand linia

a doua la a treia obtinem perechea echivalenta A = PAR =

[2 4 50 1 30 0 0

]

, B = PBR =

=

[1 1 10 α− 1 20 0 β

]

, unde matricele de transformare sunt P =

[1 0 0−1 1 0−2 1 1

]

si R = I3.

Ecuatia caracteristica a fascicolului este (2 − λ)(1− (α− 1)λ)βλ = 0. Prin urmare, dacaβ = 0, atunci fascicolul este singular, daca β 6= 0 si α = 1, atunci λ(A,B) = {0, 2}, iardaca β 6= 0 si α 6= 1 avem λ(A,B) = {0, 2, 1

α− 1}. b) De exemplu, x = [ 1 0 0 ]T este un

vector propriu generalizat asociat valorii proprii λ = 2, iar xTBx = 1 6= 0 oricare ar fi α siβ. Pe de alta parte x = [ 7 − 6 2 ]T este un vector propriu generalizat asociat valorii propriiλ = 0 si xTBx = 0 daca 48α + 4β − 55 = 0; cum det(B) = (α − 1)β exista o infinitatede valori pentru α si β astfel ıncat xTBx = 0 si det(B) 6= 0, e.g. pentru α = −1/48,β = 14. c) Primele doua coloane ale matricei R, i.e. e1, e2, formeaza o baza ortogonala asubspatiului de deflatie bidimensional S al perechii (A,B) asociat valorilor proprii gene-

ralizate λ1 = 2 si λ2 =1

α− 1= 1 ıntrucat subspatiul V = AS + BS = Im(P−1)( : , 1 : 2)

are dimensiunea 2.

P6.2 Fie U1 = U( : , 1 : r), U2 = U( : , r + 1 : n) si, similar, V1 = V ( : , 1 : r),V2 = V ( : , r+1:n). Notam P = UT

1AV1, Q = UT1AV2, R = UT

2AV1 si S = UT2AV2. Perechea

(A,B) este echivalenta cu perechea (UTAV,Σ) i.e. ecuatia caracteristica a fascicoluluidefinit de perechea (A,B) este det(UTAV − λΣ) = 0. Daca S este nesingulara, atunciecuatia caracteristica devine det(P − QS−1R − λΣ1) = 0 i.e. fascicolul are r ≥ 1 valoriproprii generalizate finite. Deci S este singulara.

P6.3 Matricele A,B fiind unitare, matricea AB−1 = ABH este si ea unitara. Deci,toate valorile proprii generalizate sunt de modul unitar (ın cazul real ±1).

P6.4 Intrucat B si A− µB sunt nesingulare avem succesiv λ(B,B(A− µB)−1B) == λ((A− µB)B−1)) = λ(AB−1 − µIn) = λ(AB−1)− µ = λ(A,B)− µ.

P6.5 Se procedeaza exact ca la algoritmul HTQZc dar se utilizeaza ın exclusivitatetransformari reale.

P6.6 Vectorii proprii generalizati ai perechii (A,B) coincid cu vectorii proprii aimatricei F = B−1A. Metoda puterii pentru calculul iterativ al unui vector propriu almatricei F = B−1A cu deplasarea curenta µk utilizeaza iteratia (vezi cap. 4) xk+1 =(F−µkIn)xk, k = 1, 2, . . . echivalenta cu rezolvarea sistemului liniar Bxk+1 = (A−µkB)xk,k = 1, 2, . . .. Daca y este un vector propriu al matricei G = AB−1, atunci x = B−1yeste vector propriu al perechii (A,B). Iteratia metodei puterii pentru matricea G esteechivalenta cu rezolvarea aceluiasi sistem liniar. Convergenta metodei este conditionata(pentru µk = 0) de existenta unei valori proprii generalizate dominante.

Metoda puterii inverse pentru calculul iterativ al unui vector propriu al matricei F == B−1A cu deplasarea curenta µk presupune rezolvarea la fiecare iteratie a sistemului(vezi cap.4) (F − µkIn)xk+1 = xk, k = 1, 2, . . . echivalenta cu rezolvarea sistemului liniar(A−µkB)xk+1 = Bxk, k = 1, 2, . . .. In acest caz deplasarea recomandata este cea a catului

Rayleigh i.e. µk =xHk Fxk

xHk xk

. Schema de calcul este urmatoarea.

MPIG 1. Se alege aleator un vector x ∈ ICn de norma unitara.2. k = 1, eps = 1

532 INDICATII, RASPUNSURI, SOLUTII

3. Cat timp eps > tol

1. Se calculeaza µ = xHB−1Ax (i.e. se rezolva Bz = Ax, apoi µ = xHz)2. Se rezolva sistemul liniar (A− µB)y = Bx3. y = y/‖y‖4. eps = |1− |xHy| |5. x = y6. k = k + 17. Daca k > nr max iter

1. Tipareste ’S-a atins numarul maxim de iteratii fara a serealiza toleranta impusa.’

2. Returnunde eps, tol si nr max iter au semnificatii transparente.

P6.7 Daca Bx = 0, atunci si Ax = 0, i.e. egalitatea Ax = λBx ar fi satifacuta pentruorice λ ∈ IC, i.e. fascicolul nu ar fi regulat.

P6.8 Avem gi+1,i = hi+1,i/tii, i = 1 : n−1.

P6.9 Fie λ1 ∈ λ(H,T ) ⊂ IR. Atunci v =

λ1t22 − h22

h21

1

este un vector propriu

generalizat asociat lui λ1, i.e. Hv = λ1Tv si S = Imv este un subspatiu de deflatie alfascicolului (H,T ). Atunci construim matricele Q si Z procedand ın felul urmator. Fiez1 = v/‖v‖, z2 un vector de norma unitara ortogonal cu z1 (construiti-l!) si matriceaZ = [ z1 z2 ]. Avem (HZ, TZ) = ([Hz1 Hz2 ], [Tz1 Tz2 ]) = ([λ1Tz1 Hz2 ], [Tz1 Tz2 ]).Acum daca Q este o matrice ortogonala de ordinul 2 (reflector sau rotatie) astfel ıncat(QTTz1)(2) = 0 vom avea (H, T )(2, 1) = (QTHZ,QTTZ)(2, 1) = 0, i.e. (H, T ) este ınforma Schur. Evident, h11/t11 = λ1.

P6.10 Daca L este factorul Cholesky al lui B, atunci λ(A,B) = λ(L−1AL−T ) simatricea L−1AL−T fiind simetrica are spectrul real. Daca B nu este pozitiv definitavalorile proprii generalizate pot fi si complexe dupa cum se poate constata din exemplul

urmator 20 A =

[1 55 9

]

, B =

[1 22 1

]

. Daca factorul Cholesky L este bine conditionat

numeric, atunci se calculeaza matricea C = L−1AL−T exploatand corespunzator simetriarezultatului si i se calculeaza valorile proprii folosind algoritmul QR simetric. Daca L esterau conditionata se aplica algoritmul QZ. Din pacate, ın acest din urma caz, transformarileortogonale de echivalenta nu conserva simetria.

P6.11 a) Se procedeaza ca ın cazul complex, cu precizarea ca problema se reducela rezolvarea unui sistem liniar omogen cvasi-superior triunghiular. b) Rezolvati mai ıntaiproblema pentru perechea 2× 2 (S(k : k + 1, k : k + 1), T (k : k + 1, k : k + 1).

P6.12 Fie M = S(k : k + 1, k : k + 1) si N = T (k : k + 1, k : k + 1) blocurile

diagonale 2× 2 de interes ale matricelor S si T . Cei doi vectori proprii liniar independenti

exista daca si numai daca perechea (M,N) ın FSG admite doi vectori proprii generalizati

liniar independenti. Dar m11n22 = m22n11, deci raspunsul este afirmativ numai daca

m11n12 = m12n11.

20Se poate arata ca oricare ar fi matricea C ∈ IRn×n diagonalizabila exista matricele simetrice

A,B ∈ IRn×n cu B nesingulara astfel ıncat C = AB−1 [ VI ]. In consecinta, oricare ar fi multimeasimetrica (i.e. avand elementele complexe ın perechi complex conjugate) Λ de n numere exista opereche reala (A,B) cu matricele A, B simetrice astfel ıncat λ(A,B) = Λ.

Bibliografie

[1] J.O. Aasen. On the Reduction of a Symmetric Matrix to Tridiagonal Form.BIT, 11:233–242, 1971.

[2] A.V. Aho, J.E. Hopcroft, J.D. Ullman. The design and analysis of computeralgorithms. Addison-Wesley, 1974.

[3] S. Bannour, M.R. Azimi-Sadjadi. Principal Component Extraction Using Re-cursive Least Squares. IEEE Trans.Neur.Nets, 6:457–469, 1995.

[4] R.H. Bartels, G.W. Stewart. A Solution of the Equation AX + XB = C.Commun. ACM, 15:820–826, 1972.

[5] W. Barth, R.S. Martin, J.H. Wilkinson. Calculation of the Eigenvalues ofa Symmetric Tridiagonal Matrix by the Method of Bisection. NumerischeMathematik, 9:249–256, 1967.

[6] R. Bellman. Introducere ın analiza matriceala. Ed. Tehnica, 1969.

[7] C. Bischof, C. Van Loan. The WY Representation for Products of HouseholderMatrices. SIAM J. Sci. Stat. Comput., 8:s2–s13, 1987.

[8] A. Bjorck. Solving Linear Least Squares Problems by Gram-Schmidt Orthog-onalization. BIT, 7:1–21, 1967.

[9] A. Bjorck. Numerical Methods for Least Squares Problems. SIAM, 1996.

[10] H. Bowdler, R.S. Martin, C. Reinsch, J.H. Wilkinson. The QR and QL Algo-rithms for Symmetric Matrices. Numerische Mathematik, 11:293–306, 1968.

[11] J.R. Bunch, L. Kaufmann. Some Stable Methods for Calculating Inertia andSolving Symmetric Systems. Mathematics of Computation, 31(137):163–179,January 1977.

[12] J.R. Bunch, B. Parlett. Direct Methods for Solving Symmetric Indefinite Sys-tems of Linear Equations. SIAM J. Numer. Anal., 8:639–655, 1971.

[13] P.A. Businger, G.H. Golub. Linear Least Squares Solutions by HouseholderTransformations. Numerische Mathematik, 7:269–276, 1965.

533

534 BIBLIOGRAFIE

[14] S.P. Chan, B.N. Parlett. Algorithm 517: a Program for Computing the Condi-tion Numbers of Matrix Eigenvalues without Computing Eigenvectors. ACMTrans. Math. Soft., 3:186–203, 1977.

[15] T.F. Chan. Rank-Revealing QR Factorizations. Lin. Alg. and its Applic.,88/89:67–82, 1987.

[16] A.K. Cline, C.B. Moler, G.W. Stewart, J.H. Wilkinson. An Estimate for theCondition Number of a Matrix. SIAM J.Numer.Anal., 16(2):368–375, April1979.

[17] A.K. Cline, R.J. Plemmons. L2 Solutions to Underdetermined Linear Systems.SIAM Review, 18:92–106, 1976.

[18] J.J.M. Cuppen. A Divide and Conquer Method for the Symmetric Eigenprob-lem. Numerische Mathematik, 36:177–195, 1981.

[19] J. Demmel, W. Kahan. Accurate Singular Values of Bidiagonal Matrices. SIAMJ.Sci.Stat.Comput., 11(5):873–912, September 1990.

[20] J.J. Dongarra, J. Du Croz, S. Hammarling, I. Duff. A Set of Level-3 BasicLinear Algebra Subprograms. ACM Trans.Math.Software, 16:1–17,18–28, 1990.

[21] J.J. Dongarra, D.W. Walker. Software Libraries for Linear Algebra Computa-tions on High Performance Computers. SIAM Review, 37:151–180, 1995.

[22] B. Dumitrescu. Improving and Estimating the Accuracy of Strassen’s Algo-rithm. Numerische Mathematik, 79(4):485-499, 1998.

[23] L. Elsner, J.G. Sun. Perturbation Theorems for the Generalized EigenvalueProblem. Lin. Alg. and its Applic., 48:341–357, 1982.

[24] G.E. Forsythe. Pitfalls in Computations or Why a Math Book is not Enough.Amer.Math.Monthly, 77:931–970, 1970.

[25] G.E. Forsythe. Computer Methods for Mathematical Computations. Prentice-Hall, 1977.

[26] J.G.F. Francis. The QR Transformation: a Unitary Analogue to the LR Trans-formation, Parts I and II. Comp. J., 4:265–272, 332–345, 1962.

[27] W. Givens. Computation of Plane Unitary Rotations Transforming a GeneralMatrix to Triangular form. SIAM J.App.Math., 6:26–50, 1958.

[28] I.M. Glazman, I. Liubici. Analiza liniara pe spatii finit-dimensionale. Ed.Stiintifica si Enciclopedica, 1980.

[29] D. Goldberg. What Every Computer Scientist Should Know About Floating-Point Arithmetic. ACM Comp.Surveys, 23(1):5–48, March 1991.

[30] G.H. Golub, W. Kahan. Calculating the Singular Values and Pseudo-Inverseof a Matrix. SIAM J. Num. Anal. Ser. B 2, 205–224, 1965.

BIBLIOGRAFIE 535

[31] S. Haykin. Adaptive Filter Theory. Prentice Hall, 1991.

[32] N.J. Higham. The Accuracy of Floating Point Summation. SIAM J.Sci. Com-put., 14(4):783–799, July 1993.

[33] N.J. Higham. Stability of the Diagonal Pivoting Method with Partial Pivoting.SIAM J.Matrix Anal.Appl., 18(1):52–65, January 1997.

[34] A.S. Householder. Unitary Triangularization of a Nonsymmetric Matrix. J.ACM, 5:339–342, 1958.

[35] D. Jacobs, editor. The State of the Art in Numerical Analysis. Academic Press,1977.

[36] B. Kagstrom, P. Ling, C. Van Loan. High Performance GEMM-Based Level-3 BLAS: Sample Routines for Double Precision Real Data. In M. Durand,F. El Dabaghi, editori, High Performance Computing II, pp. 269–281. ElsevierScience Publishers B.V., 1991.

[37] T. Kato. Perturbation Theory for Linear Operators. Springer-Verlag, 1966.

[38] V.C. Klema, A.J. Laub. The Singular Value Decomposition: Its Computationand Some Applications. IEEE Trans.Auto.Control, AC-25(2):164–180, April1980.

[39] V.N. Kublanovskaya. On Some Algorithms for the Solution of the CompleteEigenvalue Problem. USSR Comp. Math. Phys., 3:637–657, 1961.

[40] C.L. Lawson, R.J. Hanson, F.T Krogh, D.R. Kincaid. Basic Linear AlgebraSubprograms for FORTRAN Usage. ACM Trans.Math.Software, 5:308–323,1979.

[41] R.S. Martin, C. Reinsch, J.H. Wilkinson. Householder Tridiagonalization of aSymmetric Matrix. Numerische Mathematik, 11:181–195, 1968.

[42] R.S. Martin, J.H. Wilkinson. Solution of Symmetric and Unsymmetric BandEquations and the Calculation of Eigenvalues of Band Matrices. NumerischeMathematik, 9:279–301, 1967.

[43] R.S. Martin, J.H. Wilkinson. Reduction of the Symmetric EigenproblemAx = λBx and Related Problems to Standard Form. Numerische Mathematik,11:99–110, 1968.

[44] C.B. Moler, G.W. Stewart. An Algorithm for Generalized Matrix EigenvalueProblems. SIAM J. Numer. Anal., 10:241–256, 1973.

[45] C.C. Paige. Computing the Generalized Singular Value Decomposition. SIAMJ.Sci.Stat.Comput, 7(4):1126–1146, October 1986.

[46] B.N. Parlett, C. Reinsch. Balancing a Matrix for Calculation of Eigenvaluesand Eigenvectors. Numerische Mathematik, 13:292–304, 1969.

536 BIBLIOGRAFIE

[47] C. Puglisi. Modification of the Householder Method Based on the CompactWY Representation. SIAM J. Sci. Stat. Comput., 13(3):723–726, May 1992.

[48] H. Rutishauser. The Jacobi Method for Real Symmetric Matrices. NumerischeMathematik, 9:1–10, 1966.

[49] R. Schreiber, B. Parlett. Block Reflectors: Theory and Computation. SIAMJ. Numer.Anal., 25:189–205, 1989.

[50] R. Schreiber, C. Van Loan. A Storage-efficientWY Representation for Productsof Householder Transformations. SIAM J. Sci. Stat. Comput., 10(1):53–57,January 1989.

[51] R.D. Skeel. Scaling for Numerical Stability in Gaussian Elimination. J. ACM,26:494–526, 1979.

[52] R.D. Skeel. Iterative Refinement Implies Numerical Stability for GaussianElimination. Math. Comp., 35:817–832, 1980.

[53] G.W. Stewart. On the Sensitivity of the Eigenvalue Problem Ax = λBx. SIAMJ. Numer. Anal., 9:669–686, 1972.

[54] G.W. Stewart. Error and Perturbation Bounds for Subspaces Associated withCertain Eigenvalues Problems. SIAM Review, 15:727–764, 1973.

[55] G.W. Stewart. Algorithm 406: HQR3 and EXCGNG: FORTRAN Subroutinesfor Calculating and Ordering the Eigenvalues of a Real Upper Hessenberg Ma-trix. ACM Trans. Math. Soft., 2:275–280, 1976.

[56] G.W. Stewart. On the Asymptotic Behaviour of Scaled Singular Value and QRDecompositions. Math.Comp., 43:483–490, 1984.

[57] G.W. Stewart. On the Early History of the Singular Value Decomposition.SIAM Review, 35(4):551–566, December 1993.

[58] G.W. Stewart. Afternotes on Numerical Analysis. SIAM, 1996.

[59] G.W. Stewart, R. Chapman. Fast Stable Kalman Filter Algorithms Utilizingthe Square Root Procedure. SIAM J. Sci. Stat. Comput., 8:1815–1818, 1990.

[60] V. Strassen. Gaussian elimination is not optimal. Numerische Mathematik,13:354–356, 1969.

[61] M. Tertisco, P. Stoica. Identificarea si estimarea parametrilor sistemelor. Ed.Academiei, 1980.

[62] M.H. Verhaegen, P. Van Dooren. Numerical Aspects of Different Kalman FilterImplementations. IEEE Trans.Auto.Control, AC-31:907–917, 1986.

[63] S.J. Wright. A Collection of Problems for Which Gaussian Elimination withPartial Pivoting is Unstable. SIAM J.Sci.Comput., 14(1):231–238, January1993.

Index

acuratete, 13algoritmi la nivel de bloc

eliminare gaussiana, 87factorizarea Crout, 90produs matriceal, 44rutine BLAS, 62sisteme triunghiulare, 56triangularizare ortogonala, 156

algoritmulBartels-Stewart, 301DVS, 393, 403QR, 239QR simetric, 314QZ, 455, 472Strassen, 45

alternativa lui Fredholm, 297anulare catastrofala, 9

baza, 22baza ortogonala, 152, 172, 386bloc, 42

cat Rayleigh, 236, 330calculatoare

cu memorie ierarhica, 17vectoriale, 17

cifre semnificative, 7combinatie liniara, 21componente principale, 373conditionare, 11conditionarea

problemelor CMMP, 177sistemelor liniare, 97subspatiilor invariante, 350valorilor proprii, 343valorilor singulare, 413vectorilor proprii, 350vectorilor singulari, 414

congruenta, 47convergenta patratica, 236

deflatiede permutare, 272iterativa, 455ortogonala, 230unitara, 228

depasireinferioara, 8superioara, 8

deplasare, 244Rayleigh, 236Wilkinson, 320, 399

descompunereabloc-diagonala, 303CS, 377ortogonala completa, 197polara, 376spectrala, 296valorilor singulare, 369, 371valorilor singulare generalizate, 379,

431determinant, 53diferenta unghiulara, 352, 414distanta dintre spectre

absoluta, 354relativa, 354

echilibrare, 104, 274ecuatie caracteristica, 210

a unui fascicol, 446ecuatie matriceala Sylvester, 297eliminare gaussiana, 74

la nivel de bloc, 87pentru matrice banda, 106stabilitate numerica, 103

epsilon masina, 7

537

538 INDEX

eroareınainte, 13ınapoi, 13absoluta, 2de reprezentare, 6de rotunjire, 7relativa, 2

factor de crestereın eliminarea gaussiana, 102ın factorizarea cvasi-diagonala, 113ın metoda puterii inverse, 285

factorizare Cholesky, 114cu pivotare, 195cu semn, 202

factorizare cvasi-diagonala, 110, 206factorizare LDU, 81factorizare LQ, 172factorizare LU, 81

Crout, 82, 85Crout cu pivotare, 86Crout la nivel de bloc, 90Doolitle, 82

factorizare QL, 162factorizare QR, 150factorizare RQ, 173fascicol matriceal, 445

hermitic, 447, 449nesingular, 447pozitiv definit, 447, 449regulat, 447simetric, 447, 449singular, 447

fascicolecongruente, 450echivalente, 449ortogonal echivalente, 449unitar echivalente, 449

flop, 15forma bidiagonala, 394forma bloc-diagonala, 296forma canonica Jordan, 215, 308forma canonica Kronecker, 450forma diagonala generalizata, 453forma Hessenberg, 239

generalizata, 455generalizata ireductibila, 466

ireductibila, 252forma Schur, 227, 229

complexa, 230generalizata, 451generalizata ordonata, 486ordonata, 287reala, 230, 232reala generalizata, 452reala ordonata, 290

format virgula mobila, 4functie de rotunjire, 6

gramian, 150, 172grup Poincare, 202

hiperelipsoid, 372, 431hipersfera, 372

imagine, 29inertia unei matrice, 223

LAPACKrutine de calcul, 118rutine driver, 118

lema proiectiei ortogonale, 163liniar independenta, 21

mantisa, 4matrice

antihermitica, 224antisimetrica, 47, 224asemenea, 60, 214banda, 40bloc diagonala, 44bloc triunghiulara, 44complexa simetrica, 217congruente, 223cu spectru simplu, 214de permutare, 272de permutare elementara, 72de proiectie ortogonala, 388diagonal dominanta, 119diagonala, 39diagonalizabila, 214echilibrata, 274echivalente, 34, 35, 370epica, 31

INDEX 539

hermitica, 49, 215Hessenberg, 40Hessenberg ireductibila, 252, 291Hilbert, 99inferior triunghiulara elementara,

70inversabila, 34ireductibila, 274monica, 30normala, 46, 215ortogonal asemenea, 214ortogonal echivalente, 370ortogonala, 47, 215pozitiv definita, 47S-ortogonala, 201S-simetrica, 201simetrica, 46, 215, 314simpla, 60, 214spectru, 60strict triunghiulara, 39tridiagonala, 315triunghiulara, 39triunghiulara unitate, 39unitar asemenea, 214unitar echivalente, 370unitara, 49, 215

Matrice companion, 362Matrice convergenta, 363Matrice diagonal dominanta, 364Matrice idempotenta, 361Matrice nilpotenta, 361Matrice simultan diagonalizabile, 360memorare compacta (ımpachetata), 41metoda

bisectiei, 330catului Rayleigh, 330Jacobi ciclica, 341Jacobi clasica, 340puterii, 233, 499puterii cu deplasare, 235, 246puterii inverse, 235, 245, 499

metode de radacina patrata, 151Moore-Penrose

conditii, 207pseudoinversa, 198

multime simetrica, 210

multiplicatori (gaussieni), 70, 74multiplicitate

algebrica, 210algebrica a unei valori proprii ge-

neralizate, 446geometrica, 211geometrica a unei valori proprii

generalizate, 447

normaconsistenta, 37euclidiana, 24Frobenius, 38indusa, 38urma, 384

nucleu, 29numar de conditionare, 98, 384

al unui subspatiu invariant, 354al valorii proprii, 344estimare, 100pentru matrice nepatrate, 178rutine de calcul, 119

ortogonalitate numerica, 28ortogonalizare Gram-Schmidt, 161, 169Ovaluri Cassini, 364

p-norme Schatten, 384p-sectiune a unei matrice hermitice,

363Partea antihermitica a unei matrice,

362Partea hermitica a unei matrice, 362partitionare conforma, 43pas DVS, 401pas QR, 244

dublu cu deplasare explicita, 251dublu cu deplasare implicita, 262simplu cu deplasare explicita, 250simplu cu deplasare implicita, 254

pas QZdublu, 480simplu, 470

pivot, 74pivotare

ın triangularizarea ortogonala, 192

540 INDEX

completa (ın eliminarea gaussiana),79

completa (ın factorizarea cvasi-dia-gonala), 112

partiala (ın eliminarea gaussianala nivel de bloc), 88

partiala (ın eliminarea gaussianapentru matrice banda), 108

partiala (ın eliminarea gaussiana),76, 77

partiala (ın factorizarea Crout),86

partiala (ın factorizarea cvasi-dia-gonala), 113

partiala (ın factorizarea LU), 83plan Lobacevski, 202polinom caracteristic, 210

al unui fascicol, 446ponderea operatiilor de nivel 3, 66precizie, 4

dubla, 7simpla, 5, 7

preconditionare, 275problema CMMP

cu restrictii liniare, 207cu restrictii patratice, 431cu restrictii liniare, 429generalizata, 207ponderata, 187, 207totala, 422

problema generala CMMP, 197, 421produs

exterior, 32, 35matrice-vector, 31matriceal, 32scalar, 24scalar matriceal, 37

program principal (driver), 279proiectie

ortogonala, 167, 388spectrala, 346

proiector, 48ortogonal, 152, 172, 388spectral, 346

pseudoinversa, 163, 168, 385normala, 174, 198

pseudosolutie, 124, 163normala, 198, 421

R-bidiagonalizare, 397rafinare iterativa, 105, 187rang, 30, 193, 369, 383

numeric, 417raza spectrala, 210reflector, 126

bloc, 158complex, 139hermitic, 139, 147J-reflector, 202modificat, 130, 162

reprezentare W2T, 159reprezentare WY, 158restrictia

unei matrice la un subspatiu, 287unei matrice la un subspatiu in-

variant, 212unei perechi de matrice la un sub-

spatiu de deflatie, 448reziduu de norma minima, 124rotatie, 134

complexa, 142hiperbolica, 203modificata, 404rotatii disjuncte, 136secventa de rotatii, 136

rotatie complexa, 460

Saxpy, 23scalare, 104, 186schimbare de baza, 34secventa de rotatii, 149separarea

spectrelor a doua matrice, 353valorilor singulare, 414

sistemextins, 164normal, 164

solutie normala, 124, 174spatiu Minkovski, 202spectru generalizat, 446spectrul unei matrice, 210stabilitate numerica, 13

a algoritmului DVS, 415

INDEX 541

a algoritmului QR, 356a eliminarii gaussiene, 103a triangularizarii ortogonale, 184

submatricebloc, 42lider principala, 42

subspatii liniare, 386(operatii cu), 390

subspatiu, 22complement ortogonal, 26complementar, 22de deflatie, 447, 486dimensiune, 22invariant, 61, 211, 286propriu, 211

substitutieınainte, 54ınapoi, 55

sir QR, 244sir Sturm, 332

teoremaBauer-Fike, 348Courant-Fisher, 219de separare a valorilor proprii, 221de separare a valorilor singulare,

412Gershgorin, 226Wielandt-Hoffmann, 223

Teorema lui Brauer, 364Teorema lui Ostrovski, 364transformare

de asemanare, 60, 214de asemanare de permutare, 272de coordonate, 35elementara, 70involutiva, 126Jacobi, 337QR, 244

triangularizare ortogonala, 147completa, 196cu pivotare, 192la dreapta, 171

urma, 28

valoare proprie, 59, 210

generalizata, 445valoare proprie dominanta, 233valori singulare, 371

generalizate, 380, 433variatie unghiulara, 414varianta Hessenberg-Schur (de rezol-

vare a ecuatiei Sylvester), 300varianta Schur-Schur (de rezolvare a

ecuatiei Sylvester), 300vector

de deplasare implicita, 399, 468,476, 479

Gauss, 70Householder, 126propriu, 59, 210, 281propriu al formei Schur, 282propriu al unei matrice Hessen-

berg, 284propriu generalizat, 485unitate, 20

vector propriugeneralizat, 445

vectori Schur, 229, 232generalizati, 451, 452

vectori singulari, 371generalizati, 380