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.

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

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

1. % <strong>Calculul</strong> reflectorului elementar Ūk+1<br />

1. [A(k +1 : n,k),ū,β] = Hr(A(k +1 : n,k))<br />

2. % <strong>Calculul</strong> A ← (U k+1 A)U k+1 numai în triunghiul inferior<br />

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

1. l = k +i<br />

A(l,k+1: l)ū(1:i)+A(l+1: n,l)ū(i+1: n−k)<br />

2. v i =<br />

2. v n−k =<br />

A(n, k +1 : n)ū<br />

β<br />

3. ρ = ūT v<br />

2β<br />

4. w = v −ρū<br />

5. Pentru j = 1 : n−k<br />

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

1. A(k +i,k+j) ← A(k +i,k+j)−ū i w j −w i ū j<br />

3. % Acumularea transformărilor<br />

1. Dacă opt = ′ da ′ atunci<br />

1. Q(:,k +1 : n) = Hrd(Q(:,k +1 : n),ū,β)<br />

2. % Extragerea <strong>vectorilor</strong> f şi g<br />

1. f 1 = A(1,1)<br />

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

1. g i = A(i+1,i)<br />

2. f i+1 = A(i+1, i+1).<br />

Comentarii. Sintaxa de apel a algoritmului TQ va fi<br />

[f,g,Q] = TQ(A,Q,opt).<br />

Utilizarea relaţiei de calcul (4.276) reduce efortul de calcul la mai puţin de jumătate<br />

în raport cu cazul ne<strong>si</strong>metric. Într-adevăr, calculul <strong>vectorilor</strong> v şi w la pasul curent<br />

k nece<strong>si</strong>tă N 1 (k) ≈ (n−k) 2 flopi şi, respectiv N 2 (k) ≈ (n−k) flopi. Cum determinarea<br />

elementelor definitorii ale reflectorilor nece<strong>si</strong>tă, de asemenea, N 3 (k) ≈<br />

≈ (n−k) flopi, rezultă că numărul a<strong>si</strong>mptotic de flopi necesari pentru calculul<br />

tridiagonalizării este<br />

n−2<br />

∑<br />

N op ≈ N 1 (k) ≈ 2 3 n3 ,<br />

k=1<br />

faţă de 5 3 n3 flopi necesari pentru reducerea la forma superior Hessenberg în cazul<br />

ne<strong>si</strong>metric. Acumularea transformărilor, i.e. calculul explicit al matricei de transformare<br />

Q din (4.274), implică efectuarea a N ′ op ≈ 2 3 n3 flopi suplimentari 49 . Volu-<br />

49 Dacă matricea Q iniţială este I n, se poate obţine o reducere a numărului de operaţii încalculul<br />

acumulării transformărilor dacă se memorează (economic) elementele definitorii ale reflectorilor şi<br />

acumularea se face în afara ciclului principal, în ordine inversă, cu exploatarea structurii de zerouri<br />

a matricei Q curente.<br />

β

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

Saved successfully!

Ooh no, something went wrong!