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.

4.6. CALCULUL SUBSPAŢIILOR INVARIANTE 293<br />

transformare iniţială Q ∈ IR n×n , întregul k care marchează poziţia elementului<br />

11 al primului bloc diagonal, precum şi ordinele i,j ∈ {1,2}<br />

ale celor două blocuri diagonale, algoritmul suprascrie matricea S cu<br />

matricea S ′ = ˜Q T S ˜Q care realizează permutarea blocurilor diagonale<br />

menţionate şi actualizează matricea de transformare Q.)<br />

1. Dacă i = 1 şi j = 1 atunci<br />

1. [S,Q] = P11r(S,Q,k)<br />

2. Return<br />

2. Dacă i = 1 şi j = 2 atunci<br />

1. l = k +2<br />

2. µ = s kk<br />

3. w = [1 1 1] T<br />

4. [S(k : l,k : l),V,b] = IT QR2(S(k : l,k : l),w)<br />

5. Dacă k > 1 atunci<br />

1. S(1 : k −1,k : l) = Hrd(S(1 : k −1,k : l),V(:,1),b(1))<br />

2. S(1 : k −1,k+1 : l) =<br />

= Hrd(S(1 : k −1,k+1 : l),V(1 : 2,2),b(2))<br />

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

1. S(k : l,l+1 : n) = Hrs(V(:,1),b(1),S(k : l,l+1 : n))<br />

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

= Hrs(V(1 : 2,2),b(2),S(k+1 : l,l+1 : n))<br />

7. Q(:,k : l) = Hrd(Q(:,k : l),V(:,1),b(1))<br />

8. Q(:,k +1 : l) = Hrd(Q(:,k +1 : l),V(1 : 2,2),b(2))<br />

9. C^at timp |s k+2,k+1 | ≥ tol(|s k+1,k+1 |+|s k+2,k+2 |)<br />

1. w exact = [s kk −µ s k+1,k 0] T<br />

2. [S(k : l,k : l),V,b] = IT QR2(S(k : l,k : l),w exact )<br />

3. Dacă k > 1 atunci<br />

1. S(1 : k −1,k : l) = Hrd(S(1 : k −1,k : l),V(:,1),b(1))<br />

2. S(1 : k −1,k+1 : l) =<br />

= Hrd(S(1 : k −1,k+1 : l),V(1 : 2,2),b(2))<br />

4. Dacă l < n atunci<br />

1. S(k : l,l+1 : n) = Hrs(V(:,1),b(1),S(k : l,l+1 : n))<br />

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

= Hrs(V(1 : 2,2),b(2),S(k+1 : l,l+1 : n))<br />

5. Q(:,k : l) = Hrd(Q(:,k : l),V(:,1),b(1))<br />

6. Q(:,k +1 : l) = Hrd(Q(:,k +1 : l),V(1 : 2,2),b(2))<br />

10. s k+2,k+1 = 0 % anularea efectivă a elementului neglijabil<br />

11. Return<br />

3. Dacă i = 2 atunci<br />

1. l = k +1+j

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

Saved successfully!

Ooh no, something went wrong!