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.

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

2. % Determinarea lui q<br />

C^at timp g n−q−1 = 0<br />

1. q ← q +1<br />

3. % Terminarea algoritmului<br />

Dacă q = n−1 atunci return<br />

4. % Determinarea lui p<br />

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

2. C^at timp g p ≠ 0<br />

1. p ← p−1<br />

5. [f(p+1 : n−q),g(p+1 : n−q −1),c,s] =<br />

=IT QR<strong>si</strong>m(f(p+1 : n−q),g(p+1 : n−q −1))<br />

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

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

1. Q(:, p+i:p+i+1)= Grd(Q(:, p+i:p+i+1),c i ,s i )<br />

Comentarii. Sintaxa de apel a algoritmului QR <strong>si</strong>metric este<br />

[f,Q] = QR<strong>si</strong>m(A,Q,tol,opt).<br />

Algoritmul QR <strong>si</strong>metric reprezintă cel mai bun instrument numeric de calcul al<br />

întregului spectru al unei matrice <strong>si</strong>metrice reale. Dacă nu se acumulează transformările,<br />

algoritmul este foarte rapid, numărul de flopi necesar pentru calculul<br />

tuturor <strong>valorilor</strong> <strong>proprii</strong> fiind estimat, în medie, la N op = 4n 3 /3 fără acumularea<br />

transformărilor şi la N op = 9n 3 dacă transformările se acumulează. Pentru<br />

o toleranţă de ordinul ε M valorile <strong>proprii</strong> calculate sunt valori <strong>proprii</strong> exacte<br />

pentru o matrice <strong>si</strong>metrică foarte apropiată, algoritmul având o bună stabilitate<br />

numerică. Mai mult, spre deosebire de cazul ne<strong>si</strong>metric, aici se poate<br />

afirma că eroarea absolută pentru fiecare valoare proprie calculată este mică, i.e.<br />

|λ i −f i | ≈ tol‖A‖ 2 . Dacă se doreşte calculul <strong>vectorilor</strong> <strong>proprii</strong>, atunci se utilizează<br />

apelul [f,Q] = QR<strong>si</strong>m(A,I n ,tol, ′ da ′ ). În această <strong>si</strong>tuaţie x j = Q(:,j) este un<br />

vectorpropriucalculat asociatvalorii<strong>proprii</strong>λ j ≈ f j . Acurateţeavectoruluipropriu<br />

calculat este dependentă de separarea valorii <strong>proprii</strong> asociate de restul spectrului.<br />

Algoritmul a<strong>si</strong>gură o foarte bună ortogonalitate a <strong>vectorilor</strong> <strong>proprii</strong> calculaţi. Pentru<br />

detalii suplimentare asupra stabilităţii numerice a se vedea §4.11. ✸<br />

4.8.3 Algoritmul QR pentru matrice hermitice<br />

Fie C = A + iB cu A,B ∈ IR n×n o matrice hermitică, i.e. C H = C, ceea ce<br />

implică <strong>si</strong>metria matricei A şi anti<strong>si</strong>metria matricei B. Deci A T = A şi B T = −B.<br />

Aşa cum s-a arătat în secţiunea 4.1 matricele hermitice au spectrul real şi sunt<br />

unitar diagonalizabile. Pentru calculul <strong>valorilor</strong> <strong>proprii</strong> ale unei matrice hermitice<br />

cu algoritmul QR, în practica numerică se întâlnesc două abordări.<br />

I. Fie λ ∈ λ(C) şi x = u+iv, cu u,v ∈ IR n , un vector propriu asociat. Atunci<br />

{ Au−Bv = λu,<br />

Cx = λx ⇔<br />

(4.295)<br />

Bu+Av = λv,

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

Saved successfully!

Ooh no, something went wrong!