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.

472 CAPITOLUL 6. VALORI ŞI VECTORI PROPRII GENERALIZAŢI<br />

cu perechea (H 22 ,T 22 ) ∈ IC (n−p−q)×(n−p−q) ×IC (n−p−q)×(n−p−q) în formă Hessenberg<br />

generalizată ireductibilă şi H 33 ,T 33 ∈ IR q×q superior triunghiulare. Astfel, iteraţia<br />

QZ (complexă) se va aplica, de fapt, numai perechii (H 22 ,T 22 )<br />

(H 22 ,T 22 ) ← (H ′ 22 ,T′ 22 ) = (QH 22 H 22Z 22 ,Q H 22 T 22Z 22 ), (6.57)<br />

echivalentă cu aplicarea asupra perechii de matrice (H,T) a transformării de echivalenţă<br />

unitare<br />

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

Această transformare afectează celelalte blocuri ale matricelor H, T din (6.56) în<br />

felul următor:<br />

⎡<br />

⎤ ⎡<br />

⎤<br />

H 11 H 12 Z 22 H 13 T 11 T 12 Z 22 T 13<br />

H ′ ⎢<br />

= ⎣ 0 Q H 22 H 22Z 22 Q H 22 H ⎥<br />

23 ⎦, T ′ ⎢<br />

= ⎣ 0 Q H 22 T 22Z 22 Q H 22 T ⎥<br />

23 ⎦.<br />

0 0 H 33 0 0 T 33<br />

(6.59)<br />

Algoritmul QZ se termină în momentul în care se anulează toate elementele<br />

subdiagonale ale matricei H, i.e. q devine n − 1. Utilizând, pentru claritate, <strong>si</strong>ntaxele<br />

de apel menţionate ale algoritmilor 6.1–6.4, algoritmul QZ cu pas <strong>si</strong>mplu, cu<br />

deplasare implicită, se scrie astfel.<br />

Algoritmul 6.5 (QZ1 – Algoritmul QZ cu paşi <strong>si</strong>mpli şi deplasări<br />

implicite) (Date un fascicol matriceal definit de perechea (A,B)∈IC n×n ×<br />

×IC n×n , matricele unitare Q,Z ∈ IC n×n şi un nivel de toleranţă tol<br />

pentru anularea elementelor subdiagonale, algoritmul calculează forma<br />

Schurgeneralizată(A,B) ← (S,T)=(Q H AZ,Q H BZ) a perechii (A,B).<br />

Toate calculele se efectuează pe loc, în locaţiile de memorie ale tablourilor<br />

A şi B. Opţional, se acumulează transformările prin actualizarea<br />

matricelor Q şi Z. Opţiunea se exprimă cu ajutorul variabilei logice opt<br />

de tipul şir de caractere care poate lua valorile ′ da ′ sau ′ nu ′ . Dacă nu<br />

se doreşte acumularea, matricele Q şi Z se returnează nemodificate.)<br />

1. % Reducerea la forma Hessenberg generalizată<br />

1. [A,B,Q,Z] =HTQZc(A,B,Q,Z,opt)<br />

2. % Deplasarea zerourilor diagonale ale matricei B şi evidenţierea<br />

<strong>valorilor</strong> <strong>proprii</strong> infinite.<br />

1. [A,B,Q,Z] =DZc(A,B,Q,Z,opt)<br />

3. % Faza iterativă<br />

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

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

1. % Anularea elementelor subdiagonale neglijabile<br />

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

1. Dacă |a i+1,i | ≤ tol(|a ii |+|a i+1,i+1 |) atunci a i+1,i = 0

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

Saved successfully!

Ooh no, something went wrong!