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.

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

5. % Iteraţia curentă<br />

1. k = p+1, l = n−q<br />

2. w = VD2(A(k:l,k:l),B(k:l,k:l))<br />

3. [A(k:l,k:l),B(k:l,k:l),Q c ,Z c ] =<br />

IT QZ2(A(k:l,k:l),B(k:l,k:l),I l−p ,I l−p ,w,opt)<br />

4. 1. Dacă q > 0 atunci<br />

1. A(k:l,l+1:n) = Q c A(k:l,l+1:n)<br />

2. B(k:l,l+1:n) = Q c B(k:l,l+1:n)<br />

5. 1. Dacă p > 0 atunci<br />

1. A(1:p,k:l) = A(1:p,k:l)Z c<br />

2. B(1:p,k:l) = B(1:p,k:l)Z c<br />

6. cont it ← cont it+1<br />

6. Dacă opt=’da’ atunci<br />

1. Q(:,k : l) = Q(:,k : l)Q c<br />

2. Z(:,k : l) = Z(:,k : l)Z c<br />

7. % Terminarea prin eşec a algoritmului<br />

1. Dacă cont it > 30<br />

atunci<br />

1. Tipăreşte ’S-au consumat 30 iteraţii QZ pentru<br />

evidenţierea unui bloc diagonal fără a se atinge<br />

acest obiectiv. Este po<strong>si</strong>bil ca, pentru aceste date<br />

de intrare, algoritmul QZ să nu fie convergent.’<br />

2. Return<br />

4. % Triangularizarea blocurilor 2 × 2 cu valori <strong>proprii</strong> generalizate<br />

reale<br />

1. k = 1<br />

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

1. Dacă a k+1,k = 0 atunci k ← k +1<br />

altfel<br />

1. [A,B,u Q ,β Q ,u Z ,β Z ] =TRID2g(A,B,k)<br />

2. Dacă opt=’da’ şi β Z ≠ 0 atunci<br />

1. Q(:,k:k+1) = Hrd(Q(:,k:k+1),u Q ,β Q )<br />

2. Z(:,k:k+1) = Hrd(Z(:,k:k+1),u Z ,β Z )<br />

3. k ← k +2<br />

Comentarii. În aspectele sale esenţiale, algoritmul de mai sus stă la baza tuturor<br />

programelor profe<strong>si</strong>onale de calcul al <strong>valorilor</strong> <strong>proprii</strong> generalizate ale unui fascicol<br />

matriceal real. Precizările referitoare la aspectele de organizare a algoritmului<br />

făcute la variantacomplexă rămân valabile. În acest sens s-au pastrat identificatorii<br />

variabilelor cu aceeaşi semnificaţie.<br />

Sintaxa de apel este<br />

[S,T,Q,Z] = QZ2(A,B,Q,Z,tol,opt),

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

Saved successfully!

Ooh no, something went wrong!