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.

258 CAPITOLUL 4. VALORI ŞI VECTORI PROPRII<br />

Comentarii. Vom utiliza următoarea <strong>si</strong>ntaxă de apel a algoritmului de mai sus<br />

[H,c,s] = IT QR1(H,w).<br />

Complexitatea unui pas <strong>si</strong>mplu QR este O(n 2 ) în ambele variante de utilizare a<br />

deplasării. Concret, pentru execuţia algoritmului 4.5 sunt necesari N op ≈ 6n 2 flopi<br />

complecşi, cărora le corespund N op ≈ 26n 2 flopi reali, la care se adaugă cele n−1<br />

extrageri de radical.<br />

Preferinţa pentru varianta cu deplasare implicită este justificată de o anume<br />

omogenitate a demersului de calcul al <strong>valorilor</strong> <strong>proprii</strong>, ţinând seama de faptul că<br />

în cazul matricelor reale această variantă se impune cu nece<strong>si</strong>tate. ✸<br />

E. Algoritmul QR pentru matrice complexe<br />

Algoritmul QR pentru matrice complexe 22 se obţine prin iterarea algoritmului<br />

4.5, anularea efectivă a elementelor subdiagonale devenite neglijabile şi exploatarea<br />

structurală a acestor anulări în vederea obţinerii unei eficienţe maxime.<br />

Pentru deciziile de anulare a elementelor subdiagonale criteriul uzual este de<br />

forma (4.126), i.e.<br />

|h i+1,i | < tol(|h ii |+|h i+1,i+1 |), (4.144)<br />

unde scalarul tol defineşte nivelul de toleranţă şi are, în mod obişnuit, un ordin<br />

de mărime comparabil cu eroarea de reprezentare din formatul virgulă mobilă al<br />

maşinii ţintă. Acest criteriu îşi găseşte o fundamentare, în sensul a<strong>si</strong>gurării unei<br />

erori de evaluare a <strong>valorilor</strong> <strong>proprii</strong> de ordinul de mărime al toleranţei tol, mai<br />

ales în <strong>si</strong>tuaţiile în care are loc o scalare prealabilă a matricei date (vezi § 4.4 H).<br />

De asemenea, având în vedere faptul că testul (4.144) are o pondere importantă în<br />

economiaalgoritmului,efectuâdu-selafiecareiteraţiepentrutoateelementelesubdiagonaleale<br />

submatriceisuperiorHessenbergireductibile curente, încazul matricelor<br />

complexe se obţine un spor semnificativ de eficienţă dacă se utilizează criteriul<br />

|Reh i+1,i |+|Imh i+1,i | < tol(|Reh ii |+|Imh ii |+|Reh i+1,i+1 |+|Imh i+1,i+1 |),<br />

(4.145)<br />

practic echivalent cu criteriul (4.144).<br />

Pentru monitorizarea evoluţiei structurale a matricelor din şirul QR, la fiecare<br />

iteraţie, după anularea elementelor subdiagonale h i+1,i , care satisfac condiţia din<br />

(4.145), se va determina cel mai mic întreg p şi cel mai mare întreg q astfel încât<br />

matricea Hessenberg curentă să aibă structura<br />

⎡<br />

H = ⎣ H ⎤<br />

11 H 12 H 13<br />

0 H 22 H 23<br />

⎦ }p<br />

}n−p−q , (4.146)<br />

0 0 H 33 }q<br />

22 Algoritmul ce urmează se poate aplica, evident, şi matricelor reale, cu condiţia acceptării<br />

efectuării operaţiilor aritmetice cu numere complexe. Cum o operaţie elementară cu numere complexe<br />

implică între două şi unsprezece operaţii cu numere reale, utilizarea acestui algoritm pentru<br />

matrice reale este ineficientă. De aceea, în cazul real se utilizează algoritmul 4.10 care operează<br />

numai cu date reale.

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

Saved successfully!

Ooh no, something went wrong!