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.

4.9. METODE ALTERNATIVE 335<br />

BISECT k<br />

1. [α, β] = Int(f,g)<br />

2. C^at timp β −α > tol<br />

1. γ = α+β<br />

2<br />

2. ν = ν(f,g,γ)<br />

3. Dacă ν < k atunci α ← γ<br />

altfel β ← γ<br />

3. λ k = γ<br />

Este uşor de verificat faptul că această procedură evaluează corect, în limitele fixate<br />

de toleranţa tol, valoarea proprie λ k din (4.314).<br />

Pentru localizarea şi calculul unui grup contiguu de valori <strong>proprii</strong> ale matricei<br />

T din secvenţa (4.314), fie acesta λ k1 ,λ k1+1,...,λ k2 , k 2 ≥ k 1 , se aplică, în esenţă,<br />

de k 2 − k 1 + 1 ori procedura de mai sus, cu unele amendamente care conduc la<br />

obţinerea unui spor de eficienţă. Aceste amendamente urmăresc exploatarea inten<strong>si</strong>vă<br />

a informaţiei obţinute în procesul iterativ de localizare a valorii <strong>proprii</strong> curente<br />

pentru reducerea intervalelor de separare a <strong>valorilor</strong> <strong>proprii</strong> care se calculează ulterior.<br />

Concret,vomrealizaoactualizare,lafiecareiteraţie, aextremităţilorinferioare<br />

ale intervalelor de localizare a <strong>valorilor</strong> <strong>proprii</strong> λ i , i = k 1 : k 2 . Pentru aceasta observăm<br />

că valoarea ν calculată la instrucţiunea 2.2 a procedurii de mai sus, permite<br />

aprecierea că, la iteraţia curentă de evaluare a valorii <strong>proprii</strong> λ k , un număr de k−ν<br />

valori <strong>proprii</strong> se găsesc în intervalul [γ,λ k ]. Prin urmare, dacă ν < k 1 atunci în<br />

intervalul [γ,λ k ] se găsesc valorile <strong>proprii</strong> λ i , i = k 1 : k−1, iar dacă ν ≥ k 1 atunci<br />

în acest interval se află valorile <strong>proprii</strong> λ i , i = ν+1 : k−1. Utilizarea informaţiilor<br />

de mai sus presupune:<br />

– calculul <strong>valorilor</strong> <strong>proprii</strong> în ordine inversă, i.e. în ordinea k = k 2 : −1 : k 1 ;<br />

– introducerea unui vector σ ∈ IR k2−k1+1 , al extremităţilor stângi ale intervalelor<br />

de localizare, ale cărui elemente vor fi actualizate, la fiecare iteraţie, pe baza<br />

observaţiilor de mai sus.<br />

Utilizând, pentru elementele vectorului σ, o indexare conformă cu cea a <strong>valorilor</strong><br />

<strong>proprii</strong> (i.e. σ k , k = k 1 : k 2 , este extremitatea stângă a intervalului de localizare a<br />

valorii <strong>proprii</strong> λ k ), la o iteraţie curentă de calcul al lui λ k , actualizarea constă în<br />

atribuirile<br />

σ i = γ pentru i =<br />

{<br />

k1 : k −1, dacă ν < k 1<br />

ν +1 : k −1, dacă ν ≥ k 1 .<br />

(4.315)<br />

Prezentăm direct algoritmul care implementează ideile de mai sus.<br />

Algoritmul 4.28 (BISECT – <strong>Calculul</strong> unui grup de valori <strong>proprii</strong><br />

prin metoda bisecţiei) (Daţi vectorii f ∈ IR n şi g ∈ IR n−1 care definesc<br />

matricea tridiagonală, <strong>si</strong>metrică, ireductibilă T ∈ IR n×n precum<br />

şi întregii k 1 < k 2 ≤ n şi toleranţa tol, algoritmul calculează valorile<br />

<strong>proprii</strong> λ k , k ∈ k 1 : k 2 .)<br />

1. [α, β] = Int(f,g)<br />

2. % Iniţializarea vectorului extremităţilor stângi ale intervalelor de<br />

separare şi a extremităţii din dreapta pentru λ k2 .

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

Saved successfully!

Ooh no, something went wrong!