12.01.2015 Views

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6.3. ALGORITMUL QZ 471<br />

5. Pentru k = 2 : n<br />

1. [T(k,k−1 : k),c,s] = Gcm(T(k,k−1 : k))<br />

2. l = min(k+1,n)<br />

3. H(1:l,k−1 : k) = Gcd(H(1:l,k−1 : k),c,s)<br />

4. T(1 : k−1,k−1 : k) = Gcd(T(1 : k−1,k−1 : k),c,s)<br />

5. Dacă opt = ′ da ′ atunci<br />

1. Z(:,k−1 : k) = Gcd(Z(:,k−1 : k),c,s)<br />

6. Dacă k < n atunci<br />

1. [H(k : k+1,k−1),c,s] = Gc(H(k : k+1,k−1))<br />

2. H(k : k+1,k : n) = Gcs(c,s,H(k : k+1,k : n))<br />

3. T(k : k+1,k : n) = Gcs(c,s,T(k : k+1,k : n))<br />

4. Dacă opt = ′ da ′ atunci<br />

1. Q(:,k : k+1) = Gcd(Q(:,k : k+1),c,s)<br />

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

[H,T,Q,Z] = IT QZc(H,T,Q,Z,w,opt).<br />

Complexitateaunuipas<strong>si</strong>mplu QZesteO(n 2 ). Concret, pentru execuţiaalgoritmului<br />

6.3 sunt necesari N op ≈ 12n 2 flopi fără acumularea transformărilor, N op ′ ≈ 12n2<br />

flopi suplimentari pentru acumulareatransformărilor,la care se adaugăcele 2(n−1)<br />

extrageri de radical.<br />

✸<br />

B. Algoritmul QZ pentru matrice complexe<br />

Provenind din adaptarea algoritmului QR algoritmul QZ utilizează toate ideile<br />

acestuia pentru exploatarea evoluţiei structurale a elementelor şirului QZ. Concret,<br />

algoritmul QZ pentru matrice complexe se obţine prin iterarea pasului <strong>si</strong>mplu QZ,<br />

anularea efectivă a elementelor subdiagonale ale matricei H devenite neglijabile şi,<br />

pe această bază, reducerea succe<strong>si</strong>vă a dimen<strong>si</strong>unii problemei până la obţinerea<br />

rezultatului dorit.<br />

Pentru deciziile de anulare a elementelor subdiagonale ale matricei H se utilizează<br />

criteriul cunoscut de la algoritmul QR<br />

|h k+1,k | < tol(|h kk |+|h k+1,k+1 |), (6.55)<br />

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

mărimecomparabilcueroareadereprezentaredinformatulvirgulămobilăalmaşinii<br />

ţintă.<br />

De asemenea, pentru monitorizarea evoluţiei structurale a matricelor din şirul<br />

QZ,lafiecareiteraţie, dupăanulareaelementelorsubdiagonalecaresatisfaccondiţia<br />

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

perechea curentă (H,T) 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 , T = ⎣ T ⎤<br />

11 T 12 T 13<br />

0 T 22 T 23<br />

⎦ }p<br />

}n−p−q ,<br />

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

(6.56)

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

Saved successfully!

Ooh no, something went wrong!