12.01.2015 Views

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!