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.

4.8. ALGORITMUL QR SIMETRIC 327<br />

tridiagonale din şirul QR <strong>si</strong>metric vom urma ideile folo<strong>si</strong>te la algoritmul QR ne<strong>si</strong>metric.<br />

Astfel, condiţia de anulare a elementelor extradiagonale, i.e. a elementelor<br />

vectorului g, este<br />

|g k | ≤ tol(|f k |+|f k+1 |), (4.291)<br />

unde scalarul realtol defineşte nivelul de toleranţă şi are, uzual, un ordin de mărime<br />

comparabil cu eroarea de reprezentare din formatul virgulă mobilă al maşinii ţintă.<br />

De asemenea, pentru gestionarea evoluţiei structurale, la fiecare iteraţie, după anularea<br />

elementelor vectorului g care satisfac condiţia (4.291), se va determina cel mai<br />

mic întreg p şi cel mai mare întreg q astfel încât matricea tridiagonală curentă din<br />

şirul QR <strong>si</strong>metric să aibă structura<br />

⎡<br />

T = ⎣ T ⎤<br />

11 0 0<br />

0 T 22 0 ⎦, (4.292)<br />

0 0 T 33<br />

cu T 11 ∈ IR p×p , T 22 ∈ IR (n−p−q)×(n−p−q) tridiagonală ireductibilă şi T 33 ∈ IR q×q<br />

diagonală, i.e. g(p+1 : n−q) aretoate elementele nenule, iar g(n−q+1: n−1) = 0.<br />

În acest fel, iteraţia QR se va aplica de fapt blocului T 22<br />

echivalentă cu aplicarea transformării (4.287) cu<br />

T 22 ← T ′ 22 = QT 22 T 22Q 22 , (4.293)<br />

Q = diag(I p ,Q 22 ,I q ). (4.294)<br />

AlgoritmulQR<strong>si</strong>metricsetermină înmomentul încareseanuleazătoateelementele<br />

vectoruluig,i.e. q devinen−1. Cuprecizăriledemaisus,putemprezentaalgoritmul<br />

QR <strong>si</strong>metric.<br />

Algoritmul 4.27 (QR<strong>si</strong>m– Algoritmul QR <strong>si</strong>metric cu deplasări<br />

Wilkinson implicite) (Date o matrice <strong>si</strong>metrică A ∈ IR n×n , o matrice<br />

ortogonală Q ∈ IR n×n şi un nivel de toleranţă tol pentru anularea elementelor<br />

extradiagonale, algoritmul calculează vectorul f ∈ IR n al <strong>valorilor</strong><br />

<strong>proprii</strong> ale matricei A şi, opţional, actualizează matricea de transformare<br />

ortogonală Q. Opţiunea se exprimă prin intermediul variabilei<br />

logice opt care poate lua valorile ’da’ sau ’nu’. Dacă nu se doreşte<br />

acumularea transformărilor, matricea Q se returnează nemodificată.)<br />

1. % Reducerea la forma tridiagonală<br />

1. [f,g,Q] =TQ(A,Q)<br />

2. % Faza iterativă<br />

1. p = 0, q = 0<br />

2. C^at timp q < n<br />

1. % Anularea elementelor neglijabile<br />

Pentru i = p+1 : n−q −1<br />

1. Dacă |g i | ≤ tol(|f i |+|f i+1 | atunci g i = 0

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

Saved successfully!

Ooh no, something went wrong!