12.01.2015 Views

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

Calculul valorilor si vectorilor proprii

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.3. ALGORITMUL DVS 393<br />

5.3 Algoritmul DVS<br />

După cum s-a precizat, valorile <strong>si</strong>ngulare ale matricei A ∈ IC m×n sunt rădăcinile<br />

pătrate nenegative ale <strong>valorilor</strong> <strong>proprii</strong> ale uneia dintre matricele hermitice pozitiv<br />

semidefiniteB = A H AsauC = AA H (veziteorema5.2). Maimult, existăconexiuni<br />

importante [ dintre ] DVS a[ matricei A]<br />

şi forma Schur a matricelor hermitice F =<br />

0 A<br />

H 0 A<br />

= sau G =<br />

A 0 A H (vezi propoziţia 5.1). Natural, în cazul real,<br />

0<br />

conjugarea nu are nici un efect, astfel că matricele B = A T A, C = AA T sunt<br />

<strong>si</strong>metrice, pozitiv semidefinite, iar matricele F şi G <strong>si</strong>metrice.<br />

Teorema 5.2 sugerează o po<strong>si</strong>bilitate de calcul a <strong>valorilor</strong> <strong>si</strong>ngulare ale unei matrice<br />

A calculând valorile <strong>proprii</strong> ale uneia dintre matricele B, C, F sau G, cu<br />

ajutorul algoritmului QR <strong>si</strong>metric. Într-o astfel de abordare, determinarea matricelor<br />

unitare (în cazul real, ortogonale) U şi V se poate face conform indicaţiilor<br />

din observaţia 5.3.<br />

Totuşi, calculul explicit al matricelor B sau C poate conduce la o pierdere de<br />

informaţie, după cum se poate vedea din exemplul următor.<br />

Exemplul 5.3 Fie matricea<br />

⎡<br />

A = ⎣<br />

1 1<br />

0.001 0<br />

0 0.001<br />

având valorile <strong>si</strong>ngulare σ(A) = { √ 2.000001,0.001}. Avem<br />

[ ] 1.000001 1<br />

B = A T A =<br />

.<br />

1 1.000001<br />

Într-un format virgulă mobilă având mantisa cu mai puţin de 7 cifre zecimale,<br />

matricea B este reprezentată prin<br />

[ ] 1 1 ˆB = ,<br />

1 1<br />

având spectrul λ(ˆB) = {2,0}, valorile <strong>si</strong>ngulare calculate prin procedura sugerată<br />

mai sus fiind σ(A) = { √ 2,0}, i.e. o evaluare cu o precizie mult inferioară celei de<br />

reprezentare.<br />

✸<br />

O metodă mai performantă pentru calculul DVS – propusă de G.H. Golub şi<br />

W. Kahan [30] în 1965 şi cunoscută sub denumirea de algoritm DVS 18 – evită<br />

formarea explicită a matricelor B sau C, construind recurent un şir de matrice unitar<br />

(ortogonal) echivalente cu matricea A, convergent către o matrice diagonală.<br />

<strong>Calculul</strong> DVS al matricei diagonale limită este trivial după care, ordonând corespunzător<br />

elementele diagonale, se obţine matricea Σ ce defineşte DVS a matricei<br />

iniţiale. Matricele U şi V se calculează prin acumularea transformărilor. Ideea de<br />

18 În literatura de specialitate de limbă engleză acronimul utilizat este SVD (Singular Value<br />

Decompo<strong>si</strong>tion).<br />

⎤<br />

⎦,

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

Saved successfully!

Ooh no, something went wrong!