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.

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

Algoritmul 4.8 (IT QR2 – Pas dublu QR cu deplasare implicită)<br />

(Date o matrice superior Hessenberg ireductibilă H ∈ IR n×n şi vectorul<br />

de deplasare implicită w ∈ IR 3 , algoritmul suprascrie matricea H cu matricea<br />

succesor H ← H ′ = ˘Q T H ˘Q din şirul QR. Algoritmul furnizează,<br />

de asemenea, elementele definitorii semnificative ale reflectorilor utilizaţi,<br />

i.e. elementele definitorii ale blocurilor reflector 3×3 în matricele<br />

V ∈ IR 3×(n−1) şi b ∈ IR n−1 .)<br />

1. % <strong>Calculul</strong> şi aplicarea reflectorului U 1<br />

1. [w,V(:,1),b 1 ] = Hr(w)<br />

2. H(1:3,:) = Hrs(V(:,1),b 1 ,H(1:3,:))<br />

3. H(1:min(4,n),1:3) = Hrd(H(1:min(4,n),1:3),V(:,1),b 1 )<br />

2. % Refacerea formei superior Hessenberg<br />

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

1. [H(i : i+2,i−1),V(:,i),b i ] = Hr(H(i : i+2,i−1))<br />

2. H(i : i+2,i: n) = Hrs(V(:,i),b i ,H(i : i+2,i : n))<br />

3. H(1 : min(i+3,n),i : i+2) =<br />

= Hrd(H(1 : min(i+3,n),i : i+2),V(:,i),b i )<br />

3. % Ultimul pas<br />

1. [H(n−1 : n, n−2),V(1:2, n−1),b n−1 ] =<br />

= Hr(H(n−1 : n,n−2))<br />

2. H(n−1 : n, n−1 : n) =<br />

= Hrs(V(1:2, n−1),b n−1 ,H(n−1 : n, n−1 : n))<br />

3. H(:, n−1 : n) = Hrd(H(:,n−1 : n),V(1:2,n−1),b n−1 ).<br />

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

[H,V,b] = IT QR2(H,w).<br />

Complexitatea unui pas dublu QR realizat de algoritmul 4.8 este O(n 2 ). Concret,<br />

pentru execuţia algoritmului sunt necesari N op ≈ 24n 2 flopi (reali) la care se<br />

adaugă cele n−1 extrageri de radical. Subliniem faptul că această soluţie este cea<br />

mai eficientă implementare cunoscută a iteraţiilor QR pentru matricele reale, fiind<br />

utilizată în toate programele profe<strong>si</strong>onale de calcul al <strong>valorilor</strong> <strong>proprii</strong>.<br />

Algoritmul 4.8 nu calculează actualizarea matricei de transformare curente Q<br />

dar oferă, prin matricea V şi vectorul b, informaţia necesară pentru un eventual<br />

calcul al acesteia.<br />

✸<br />

G. Algoritmul QR pentru matrice reale<br />

Algoritmul QR pentru matrice reale 26 se obţine prin iterarea algoritmului 4.8,<br />

anularea efectivă a elementelor subdiagonale devenite neglijabile şi exploatarea<br />

26 Algoritmul ce urmează se poate aplica şi pentru calculul <strong>valorilor</strong> <strong>proprii</strong> ale matricelor<br />

complexe (mai mult, în unele pachete profe<strong>si</strong>onale de calcul numeric aşa se şi procedează).<br />

Într-adevăr, dacă C ∈ IC n×n se scrie C = A+iB cu A, B ∈ IR n×n , atunci este uşor de arătat că

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

Saved successfully!

Ooh no, something went wrong!