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.

6.4. CALCULUL SUBSPAŢIILOR DE DEFLAŢIE 493<br />

– pentru relaţiile de calcul al <strong>vectorilor</strong> de deplasare implicită (exactă) recomandăm<br />

consultarea algoritmilor Vd1 şi Vd2;<br />

– pentru o prezentare mai clară a algoritmulor, actualizarea blocurilor nediagonale<br />

de pe bloc-liniile şi bloc-coloanele afectate în etapa curentă, conform relaţiei<br />

(6.85), se va face utilizând matricele de transformare locală ˜Q şi ˜Z în formă nefactorizată.<br />

Obţinem următorul algoritm.<br />

Algoritmul 6.12 (PGr – Permutarea a două perechi diagonale adiacente)<br />

(Date o pereche (S,T) ∈ IR n×n × IR n×n în formă Schur reală<br />

generalizată, întregull carereprezintândpoziţiadiagonalăaelementului<br />

11 al primului bloc diagonal şi ordinele i ş j ale celor două blocuri diagonale<br />

adiacente precum ş toleranţa tol pentru neglijarea elementelor subdiagonale,<br />

algoritmul suprascrie perechea (S,T) cu perechea (S ′ ,T ′ ) =<br />

= (˜Q T S ˜Z, ˜Q T T ˜Z), realizând permutarea perechii de blocuri diagonale<br />

(S kk ,T kk ) cu perechea de blocuri diagonale (S k+1,k+1 ,T k+1,k+1 ). De<br />

asemenea, se actualizează matricele de transformare Q şi Z.)<br />

1. % Cazul a două perechi de blocuri 1×1<br />

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

1. [S,T,Q,Z] = PG11r(S,T,Q,Z,l)<br />

2. Return<br />

2. % Cazul perechilor de blocuri 1×1, 2×2<br />

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

1. q = l+2<br />

2. µ = s ql,l<br />

t l,l<br />

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

4. [S(l : q,l : q),T(l : q,l : q), ˜Q, ˜Z] =<br />

= IT QZ2(S(l : q,l : q),T(l : q,l : q),I 3 ,I 3 ,w, ′ da ′ )<br />

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

1. w exact = [ s l,l<br />

−µ s l+1,l<br />

0 ] T<br />

t l,l t l,l<br />

2. [S(l : q,l : q),T(l : q,l : q), ˜Q, ˜Z] =<br />

= IT QZ2(S(l : q,l : q),T(l : q,l : q), ˜Q, ˜Z,w exact , ′ da ′ )<br />

6. S(l+2,l+1)= 0 % anularea efectivă a elementului neglijabil<br />

7. Dacă l > 1 atunci<br />

1. S(1 : l−1,l : q) = S(1 : l−1,l : q)˜Z<br />

2. T(1 : l−1,l : q) = T(1 : l−1,l : q)˜Z<br />

8. Dacă l < n−2 atunci<br />

1. S(l : q,q +1 : n) = ˜Q T S(l : q,q +1 : n)<br />

2. T(l : q,q +1 : n) = ˜Q T T(l : q,q +1 : n)<br />

9. Q(:,l : q) = Q(:,l : q)˜Q<br />

10. Z(:,l : q) = Z(:,l : q)˜Z

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

Saved successfully!

Ooh no, something went wrong!