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.6. CALCULUL SUBSPAŢIILOR INVARIANTE 289<br />

1. S(k : k+1,k+2 : n) = Gcs(c,s,S(k : k+1,k+2 : n))<br />

6. Q(:,k : k+1) = Gcd(Q(:,k : k+1),c,s)<br />

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

[S,Q] = P11c(S,Q,k).<br />

Complexitatea unei permutări a două valori <strong>proprii</strong> vecine distincte este O(n),<br />

numărul a<strong>si</strong>mptotic de flopi (reali) fiind N op = 52n (independent de k). ✸<br />

Din momentul în care dispunem de procedura de permutare a două valori <strong>proprii</strong><br />

învecinate, algoritmul de ordonare a formei Schur se reduce, în esenţă, la<br />

un algoritm de sortare a unei mulţimi bazat pe interschimbarea elementelor adiacente.<br />

Vom prezenta mai întâi cazul unei ordonări totale care dispune valorile<br />

<strong>proprii</strong> ale unei forme Schur S a matricei A în ordinea impusă de o permutare dată<br />

π = {i 1 ,i 2 ,...,i n } a mulţimii 1 : n, în sensul că elementul diagonal aflat iniţial<br />

în poziţia (k,k) va fi plasat în final în poziţia (i k ,i k ). Prin actualizarea matricei<br />

unitare de transformare Q, se calculează bazele ortogonale pentru subspaţiile A-<br />

invariante asociate unor grupuri impuse de valori <strong>proprii</strong>. Concret, coloanele 1 : k<br />

ale matricei actualizate, i.e. Q(:,1:k), formează o bază a subspaţiului A-invariant<br />

V k asociat setului de valori <strong>proprii</strong> Λ k = {λ i = s ii | i = 1 : k} (în numerotarea<br />

finală). Prezentăm un algoritm de ordonare bazat pe o procedură de sortare prin<br />

selecţie. Invităm cititorul să elaboreze alte variante care să aibe la bază algoritmi<br />

de sortare alternativi.<br />

Algoritmul 4.16 (FSC ORD – Ordonarea formei Schur) (Date<br />

o matrice S ∈ IC n×n în formă Schur, matricea unitară Q ∈ IC n×n şi permutarea<br />

π = {i 1 ,i 2 ,...,i n }, algoritmul suprascrie matricea S cu matricea<br />

unitar asemenea S ′ = ˜Q H S ˜Q care are s ′ i k ,i k<br />

= s kk şi actualizează<br />

în mod corespunzător matricea de transformare Q.)<br />

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

1. mută =’nu’<br />

2. l = k<br />

3. Pentru j = k+1 : n<br />

1. Dacă i j < i l atunci<br />

1. l = j<br />

2. mută =’da’<br />

4. Dacă mută =’da’ atunci<br />

1. Pentru j = (l−1) : −1 : k<br />

1. [S,Q] = P11c(S,Q,j)<br />

2. i j ↔ i j+1<br />

Comentarii. Sintaxa naturală de apel a algoritmului prezentat este<br />

[S,Q] = FSC ORD(S,Q,π).

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

Saved successfully!

Ooh no, something went wrong!