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.

498 CAPITOLUL 6. VALORI ŞI VECTORI PROPRII GENERALIZAŢI<br />

6.7 Rutine LAPACK şi MATLAB<br />

LAPACK. <strong>Calculul</strong> <strong>valorilor</strong> şi <strong>vectorilor</strong> <strong>proprii</strong> generalizaţi ai unei perechi de<br />

matrice (A,B) este efectuat în LAPACK de două rutine driver:<br />

1. xGEGS calculează forma Schur generalizată a perechii (A,B) şi eventual vectorii<br />

Schur, folo<strong>si</strong>nd algoritmul QZ.<br />

2. xGEGV calculează valorile şi eventual vectorii <strong>proprii</strong> generalizaţi ai perechii<br />

(A,B).<br />

Principalele rutinele de calcul implementează cele două faze ale algoritmului<br />

QZ; să notăm abrevierile utilizate pentru diverse tipuri de matrice interesante în<br />

această problemă: GG – pereche de matrice generale, HG – pereche în forma Hessenberg<br />

generalizată, TG – pereche în forma Schur generalizată.<br />

• xGGHRD realizează reducerea unei perechi generale (A,B) la forma Hessenberg<br />

generalizată (H,T) prin transformări de asemănare ortogonale.<br />

• xHGEQZ implementează faza iterativă a algoritmului QZ, transformând perechea<br />

(H,T) în forma Schur generalizată, cu acumularea opţională a transformărilor<br />

(şi deci obţinerea <strong>vectorilor</strong> Schur).<br />

Vectorii <strong>proprii</strong> generalizaţi ai unei perechi în formă Schur (A,B) sunt calculaţi<br />

de rutina xTGEVC. Aceeaşi rutină poate calcula vectorii <strong>proprii</strong> generalizaţi ai perechiiiniţiale(A,B),<br />

dacăprimeştecaargumentedeintrarevectoriiSchurgeneralizaţi<br />

calculaţi de rutinele de mai sus.<br />

Rutina xGGBAL realizează scalarea (echilibrarea) perechii (A,B). Alte rutine,<br />

<strong>si</strong>milare cu cele pentru valori <strong>proprii</strong>, sunt actualmente în curs de elaborare.<br />

MATLAB. Valorile şi vectorii <strong>proprii</strong> generalizaţi ai unei perechi (A,B) pot<br />

fi calculate cu aceeaşi funcţie ca valorile <strong>proprii</strong> (diferenţa e făcută de numărul<br />

argumentelor de intrare):<br />

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

V fiind matricea <strong>vectorilor</strong> <strong>proprii</strong> generalizaţi, iar D o matrice diagonală conţinând<br />

valorile <strong>proprii</strong> generalizate (astfel încât AV = BVD). Apelul <strong>si</strong>mplu eig(A,B)<br />

returneazăun vectorconţinândvalorile<strong>proprii</strong>generalizate. Funcţiaimplementează<br />

algoritmul QZ.<br />

6.8 Probleme<br />

P 6.1 Se con<strong>si</strong>deră fascicolul matriceal F = A−λB, unde<br />

[ ] 2 4 5<br />

[ 1 1 1<br />

A = 2 5 8 , B = 1 α 2<br />

2 3 2 1 2−α β<br />

]<br />

,

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

Saved successfully!

Ooh no, something went wrong!