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.

410 CAPITOLUL 5. DESCOMPUNEREA VALORILOR SINGULARE<br />

1. [f(k : l),g(k : l−1),Y,Z] =<br />

= DVS 2(f(k : l),g(k : l−1))<br />

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

U(:,k : l) ← U(:,k : l)Y<br />

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

V(:,k : l) ← V(:,k : l)Z<br />

4. % <strong>Calculul</strong> <strong>valorilor</strong> <strong>si</strong>ngulare ale matricei diagonale obţinute în<br />

faza iterativă<br />

1. Pentru j = 1 : n<br />

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

1. Dacă f j ≠ 0 atunci<br />

1. d = ¯f j<br />

|f j |<br />

2. V(: ,j) = V(:,j)d<br />

2. f j = |f j |<br />

5. % Ordonarea <strong>valorilor</strong> <strong>si</strong>ngulare<br />

1. [f,U,V ] = DVS ORD(f,U,V,opt 1 ,opt 2 )<br />

Comentarii. Comentariile incluse pun în evidenţă ideile care au stat la baza elaborării<br />

algoritmului. Din punct de vedere tehnic semnalăm utilizarea instrucţiunii<br />

break de abandonare a execuţiei ciclurilor de tip pentru sau de tip c^at timp.<br />

O <strong>si</strong>ntaxă de apel naturală a algoritmului DVSc este, evident,<br />

[f,U,V ] = DVSc(A,tol,opt 1 ,opt 2 ).<br />

Algoritmul DVSc calculează DVS şi pentru matrice reale 22 deşi pentru date reale<br />

este mai economică o ver<strong>si</strong>une ”reală” a algoritmului, care se obţine <strong>si</strong>mplu prin<br />

utilizarea corespondentelor reale ale procedurilor implicate.<br />

De asemenea, din raţiuni de concizie şi claritate, în cele ce urmează vom utiliza<br />

şi <strong>si</strong>ntaxa (poate chiar mai semnificativă)<br />

[U,Σ,V ] = DVSc(A,opt 1 ,opt 2 ),<br />

care presupune unele ajustări minore ale algoritmului de mai sus, cum sunt introducerea<br />

unei toleranţe implicite (de obicei de nivelul lui ε M ‖A‖) şi formarea matricei<br />

diagonale Σ ∈ IR m×n din definiţia DVS ale cărei elemente diagonale sunt elementele<br />

vectorului f. Ordinea modificată a parametrilor de ieşire sugerează formula DVS.<br />

Complexitatea estimată a algoritmului DVS, conform [VI], este dată în tabelul<br />

5.1 pentru varianta reală cu date de intrare matrice reale m×n şi diverse tipuri de<br />

opţiuni. De asemenea, rezultatele sunt date pentru două ver<strong>si</strong>uni ale algoritmului:<br />

prima ver<strong>si</strong>une utilizează algoritmul de bidiagonalizare JQr (ca mai sus), iar cea<br />

de a doua algoritmul de R-bidiagonalizare (v. obs. 5.4).<br />

✸<br />

22 Din acest motiv, în referirile ulterioare vom renunţa la caracterul c din <strong>si</strong>glă.

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

Saved successfully!

Ooh no, something went wrong!