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.

4.12. RUTINE LAPACK ŞI MATLAB 359<br />

• vectorii<strong>proprii</strong>aimatriceiAsuntcalculaţifiecurutinaxTREVC,careutilizează<br />

forma Schur (problema este deci de a calcula vectorii <strong>proprii</strong> ai unei matrice<br />

(cva<strong>si</strong>-)triunghiulare), fie cu rutina xHSEIN, care utilizează forma Hessenberg<br />

şimetodaputeriiinverse,foarteeficientăcândvalorile<strong>proprii</strong>suntdisponibile,<br />

dar care funcţionează şi fără ca acestea să fi fost calculate.<br />

Alte rutine utile sunt următoarele:<br />

• xGEBALrealizeazăscalarea(echilibrarea)matriceiA; seutilizeazăînconjuncţie<br />

cu rutina complementarăxGEBAK,care reface vectorii <strong>proprii</strong> ai matricei A din<br />

cei ai matricei scalate (evident, valorile <strong>proprii</strong> sunt identice).<br />

• xTRSEN ordonează forma Schur prin aducerea în colţul stânga-sus a unei<br />

submulţimi de valori <strong>proprii</strong> descrise de utilizator.<br />

• xTREXC aduce o <strong>si</strong>ngură valoare proprie în poziţia dorită (această rutină trebuie<br />

apelată repetat pentru a realiza o permutare completă, ca în algoritmul<br />

FSR ORD).<br />

• xTRSYL rezolvă ecuaţia Sylvester cva<strong>si</strong>-triunghiulară.<br />

• xTRSNA calculează numerele de condiţie ale <strong>valorilor</strong> <strong>proprii</strong>.<br />

Pentru matrice <strong>si</strong>metrice, etapele de calcul sunt implementate de<br />

• xyyTRDefectuează reducerea unei matrice <strong>si</strong>metrice (hermitice) la formă tridiagonală<br />

reală, prin transformări de asemănare ortogonale.<br />

• xSTEQR calculează valorile şi, opţional, vectorii <strong>proprii</strong> ai unei matrice tridiagonale,<br />

implementând faza iterativă a algoritmului QR <strong>si</strong>metric. Există încă<br />

alte câtevarutine cu aceeaşifuncţionalitate, darutilizând algoritmidiferiţi; de<br />

exemplu xSTEBZ implementează metoda bisecţiei (vezi algoritmul BISECT).<br />

• xSTEIN calculează vectorii <strong>proprii</strong> (eventual numai unii dintre aceştia) ai unei<br />

matrice tridiagonale, utilizând metoda puterii inverse.<br />

MATLAB. Valorile şi vectorii <strong>proprii</strong> ai unei matrice generale A pot fi calculate<br />

cu<br />

[V, D] = eig(A)<br />

V fiind matricea <strong>vectorilor</strong> <strong>proprii</strong> (po<strong>si</strong>bil complecşi), iar D o matrice diagonală<br />

conţinând valorile <strong>proprii</strong>. Apelul <strong>si</strong>mplu eig(A) returnează un vector conţinând<br />

valorile <strong>proprii</strong>. Funcţia eig implementează algoritmul QR.<br />

Reducerea la formă Hessenberg a matricei A se face cu funcţia hess, care acumulează<br />

opţional transformările.<br />

Forma Schur a matricei A şi, opţional, vectorii Schur, se obţin cu funcţia schur.<br />

Echilibrarea matricei A se realizează cu funcţia balance.

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

Saved successfully!

Ooh no, something went wrong!