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.

270 CAPITOLUL 4. VALORI ŞI VECTORI PROPRII<br />

3. % Terminarea normală a fazei iterative<br />

1. Dacă q ≥ n−2 atunci break<br />

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

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

1. Tipăreşte ’S-au consumat 30 iteraţii QR 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 QR să nu fie convergent.’<br />

2. Return<br />

5. % Determinarea lui p<br />

1. p = n−q −1<br />

2. C^at timp a p+1,p ≠ 0<br />

1. p = p−1<br />

2. Dacă p = 0 atunci break<br />

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

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

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

3. % <strong>Calculul</strong> deplasării implicite modificate<br />

1. Dacă cont it = 10 sau cont it = 20 atunci<br />

1. s = 1.5(|a l,l−1 |+|a l−1,l−2 |)<br />

2. p = (|a l,l−1 |+|a l−1,l−2 |) 2<br />

⎡<br />

3. w = ⎣ a2 kk +a k,k+1a k+1,k −sa kk +p<br />

a k+1,k (a kk +a k+1,k+1 −s) ⎦<br />

a k+1,k a k+2,k+1<br />

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

5. t = 3<br />

6. Pentru i = 1 : l−k<br />

1. Dacă i = l−k atunci t = 2<br />

2. r = min(p+i+2,l)<br />

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

1. A(1 : p,p+i : r) =<br />

= Hrd(A(1 : p,p+i : r),V(1:t,i),b i )<br />

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

1. A(p+i : r,l+1 : n) =<br />

= Hrs(V(1:t,i),b i ,A(p+i : r,l+1 : n))<br />

7. cont it = cont it+1<br />

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

1. t = 3<br />

2. Pentru i = 1 : l−k<br />

1. Dacă i = l−k atunci t = 2<br />

2. r = min(p+i+2,l)<br />

3. Q(:, p+i : r) = Hrd(Q(:, p+i : r),V(1:t,i),b i ))<br />

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

Saved successfully!

Ooh no, something went wrong!