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.

5.3. ALGORITMUL DVS 401<br />

⎡<br />

J ← U2 H J =<br />

⎢<br />

⎣<br />

× × 0<br />

0 × ×<br />

0 ∅ ×<br />

0 0 0<br />

0 0 0<br />

Matricea succesor K = J ′ este bidiagonală şi<br />

⎤<br />

.<br />

⎥<br />

⎦<br />

şi<br />

T ′ = J ′H J ′ = (U H n−1···UH 1 JP 12V 2···V n−1 ) H U H n−1···UH 1 JP 12V 2···V n−1 =<br />

= V H n−1···V H<br />

2 P H 12J H U 1···U n−1 U H n−1···U H 1 JP 12 V 2···V n−1 = Q H J H JQ (5.89)<br />

Qe 1 = P 12 V 2···V n−1 e 1 = P 12 e 1 (5.90)<br />

este aceeaşi cu cea corespunzătoare pasului QR <strong>si</strong>metric implicit pentru matricea<br />

tridiagonală T.<br />

În consecinţă, matricea J k = J, care defineşte şirul DVS este astfel calculată<br />

încât matricea T k = J H k J k defineşte şirul QR pentru matricea hermitică B = A H A<br />

şi, prin urmare, este convergent la forma diagonală.<br />

În conformitate cu cele prezentate mai sus, o iteraţie DVS este implementată<br />

de următorul algoritm.<br />

Algoritmul 5.2 (IT DVSc – Un pas DVS Golub-Kahan) (Daţi<br />

vectorii f ∈ IC n şi g ∈ IC n−1 care definesc matricea bidiagonală (5.73)<br />

şi matricele unitare U ∈ IC m×m şi V ∈ IC n×n , algoritmul calculează<br />

matricea succesor J ← J ′ = Q H JQ din şirul DVS, mai exact, noii<br />

vectori f ′ şi g ′ care suprascriu vectorii f şi g. Opţional, se actualizează<br />

matricele U şi/sau V. Opţiunea se exprimă prin intermediul variabilelor<br />

logice opt 1 şi opt 2 , care pot lua valorile logice ’da’ şi ’nu’. Dacă nu se<br />

doreşte actualizarea, matricele U şi/sau V se returnează nemodificate.)<br />

1. % <strong>Calculul</strong> deplasării Wilkinson<br />

1. δ = (|g n−2 | 2 +|f n−1 | 2 −|g n−1 | 2 −|f n | 2 )/2<br />

2. η = |f n−1 | 2 |g n−1 | 2<br />

3. µ = |g n−1 | 2 +|f n | 2 η<br />

+<br />

δ +sgn(δ) √ δ 2 +η<br />

[ ]<br />

|f1 |<br />

2. w =<br />

2 −µ<br />

f 1 ḡ 1<br />

3. [w,c,s] = Gc(w)<br />

4. % Se calculează J ← JP 12 . Fie τ elementul nenul care alterează<br />

structura bidiagonală<br />

1. α ← f 1 c−g 1¯s<br />

2. g 1 ← f 1 s+g 1 c<br />

3. f 1 ← α<br />

4. τ ← −f 2¯s

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

Saved successfully!

Ooh no, something went wrong!