Calculul valorilor si vectorilor proprii
Calculul valorilor si vectorilor proprii
Calculul valorilor si vectorilor proprii
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
6.3. ALGORITMUL QZ 461<br />
i.e. acumularea relectorilor se face în ordine inversă, realizănd o ”umplere progre<strong>si</strong>vă”<br />
a matricei Q (vezi şi comentariile la algoritmul HQc din capitolul 4).<br />
În cazul real, atât matricele rezultat (A,B) ← (H,T) = (Q T AZ,Q T BZ) cât şi<br />
matricele de transformare Q, Z vor fi reale. Această particularizare este imediată<br />
prin înlocuirea procedurilor de transformare complexe utilizate cu corespondentele<br />
lor reale. Ca să marcăm diferenţa, <strong>si</strong>ntaxa de apel va fi<br />
[H,T,Q,Z] = HTQZr(A,B,Q,Z,opt).<br />
Complexitatea algoritmului este O(n 3 ), execuţia sa implicând, în cazul real,<br />
N op ≈ 8n 3 operaţii în format virgulă mobilă. Acumularea matricelor de transformare<br />
nece<strong>si</strong>tă N ′ op ≈ 4n 3 operaţii suplimentare pentru Q şi N ′ op ≈ 3n 3 operaţii<br />
suplimentare pentru Z.<br />
Algoritmul HTQZ este numeric stabil, i.e. forma Hessenberg generalizată calculată<br />
într-o aritmetică în virgulă mobilă este o pereche exact unitar (ortogonal)<br />
echivalentă cu o pereche uşor perturbată (A+E,B+F), unde matricele de perturbare<br />
E şi F satisfac condiţiile ‖E‖ ≤ p(n)ε M ‖A‖ şi ‖F‖ ≤ p(n)ε M ‖B‖ cu p(n) o<br />
funcţie cu o creştere ”modestă” de dimensunea n a problemei (v. şi §6.5, §6.6). ✸<br />
6.3.2 Evidenţierea <strong>valorilor</strong> <strong>proprii</strong> generalizate infinite<br />
Fie perechea (H,T) ∈ IC n×n ×IC n×n în formă Hessenberg generalizată, obţinută e.g.<br />
cu algoritmul HTQZc, care defineşte un fascicol regulat. Dacă T este <strong>si</strong>ngulară,<br />
i.e. T are (cel puţin) un element diagonal nul, atunci perechea (H,T) are (cel<br />
puţin) o valoare proprie generalizată infinită. Într-un astfel de caz, valorile <strong>proprii</strong><br />
generalizate infinite pot fi evidenţiate folo<strong>si</strong>nd o secvenţă finită de transformări de<br />
echivalenţă unitare (în cazul real, ortogonale), <strong>si</strong>multan cu conservarea formei Hessenberg<br />
generalizate. Concret, există matricele unitare ˆQ şi Ẑ astfel încât matricele<br />
perechii (H,T) ← (Ĥ, ˆT) H H<br />
= (ˆQ HẐ, ˆQ TẐ) au structura<br />
[ ]<br />
H11 H<br />
H = 12<br />
, T =<br />
0 H 22<br />
[ ]<br />
T11 T 12<br />
, (6.43)<br />
0 T 22<br />
cu perechea (H 11 ,T 11 ) în formă superior Hessenberg generalizată având T 11 ne<strong>si</strong>ngulară,<br />
H 22 superior triunghiulară ne<strong>si</strong>ngulară şi T 22 strict superior triunghiulară,<br />
i.e. cu toate elementele diagonale nule (toate submatricele de aceiaşi indici au<br />
aceleaşi dimen<strong>si</strong>uni). Evident, valorile <strong>proprii</strong> generalizate ale perechii (H 11 ,T 11 )<br />
sunt valorile <strong>proprii</strong> generalizate finite ale perechii iniţiale, în timp ce valorile <strong>proprii</strong><br />
generalizate ale perechii (H 22 ,T 22 ) sunt valorile <strong>proprii</strong> generalizate infinite ale<br />
acesteia.<br />
Detaliile de construcţie a structurii (6.43) sunt următoarele.<br />
Presupunem mai întâi că matricea T are un <strong>si</strong>ngur element diagonal nul. Acesta<br />
poate fi ”deplasat” în poziţia (n,n), <strong>si</strong>multan cu conservarea formei Hessenberg<br />
generalizate a perechii (H,T) şi cu anularea elementului (n,n−1) al matricei H,<br />
prin aplicarea unei transformări unitare de echivalenţă sub forma unei secvenţe de<br />
rotaţii. Concret, dacă t kk = 0, k ∈ 2:n−1 11 , este zeroul urmărit, atunci scopul<br />
este atins executând schema de calcul<br />
11 Dacă zeroul se află deja în ultima poziţie diagonală se execută numai instrucţiunea 2 din