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.

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

unde, prin urmare, cel puţin unul din blocurile diagonale S 11 (T 11 ), S 22 (T 22 ) este<br />

2×2. În principiu, putem aplica ideile utilizate la elaborarea algoritmului PG11<br />

i.e. calculul unei baze ortogonale a subspaţiului de deflaţie asociat <strong>valorilor</strong> <strong>proprii</strong><br />

generalizate ale perechii (S 22 ,T 22 ) şi aplicarea propoziţiei 6.2. Propunem cititorului<br />

implementarea acestor idei. Aici vom urma o cale echivalentă care utilizează<br />

algoritmul QZ cu deplasare implicită. Având în vedere faptul că perechea (S,T)<br />

din (6.84) este deja în formă Schur reală generalizată rezultă că putem determina<br />

deplasarea (în formă implicită) exactă care, utilizată în algoritmul QZ2 pune în<br />

evidenţă, în poziţia (2,2) perechea cu valorile <strong>proprii</strong> dorite, în cazul nostru, în<br />

vederea permutării, cu valorile <strong>proprii</strong> ale perechii (S 11 ,T 11 ). Cunoaşterea exactă a<br />

deplasării face ca, teoretic, să fie suficientă o <strong>si</strong>ngură iteraţie QZ pentru obţinerea<br />

rezultatului dorit. În practică, dacă nivelul de toleranţă practicat este de ordinul<br />

de mărime al erorilor de rotunjire, este po<strong>si</strong>bil să fie necesare câteva (două-trei)<br />

iteraţii pentru a putea con<strong>si</strong>dera elementele blocului 21 neglijabile. De asemenea,<br />

întrucât algoritmul QZ2 cu deplasări implicite efectuează calculele aferente unei<br />

iteraţii numai asupra perechilor în formă Hessenberg generalizată ireductibilă este<br />

necesar mai întâi un pas QZ artificial care să altereze structura Schur reală generalizată<br />

a perechii (S,T). În consecinţă, toate cele trei tipuri de permutare se vor<br />

supune următoarei scheme de calcul.<br />

PGkl<br />

1. Se determină elementele definitorii exacte pentru vectorul w de deplasare<br />

implicită (i.e. valoarea proprie generalizată dacă prima pereche de blocuri<br />

este 1×1, respectiv suma s şi produsul p ale <strong>valorilor</strong> <strong>proprii</strong> generalizate<br />

în cazul când prima pereche de blocuri este 2×2).<br />

2. Se execută un pas QZ cu un vector de deplasare implicită fixat aleator<br />

(e.g. alegerea w = [1 1 1] T dă bune rezultate).<br />

3. Se aplică algoritmul QZ cu deplasarea implicită exactă (i.e. calculată cu<br />

elementele de la punctul 1).<br />

Pentru fascicolul de ordinul n (6.82), permutarea blocurilor adiacente (S kk ,T kk )<br />

şi (S k+1,k+1 ,T k+1,k+1 ) ale formei Schur reale generalizate (S,T) ∈ IR n×n ×IR n×n se<br />

obţine folo<strong>si</strong>nd transformarea ortogonală de echivalenţă (S ′ ,T ′ ) = (Q T SZ,Q T TZ)<br />

definită de<br />

Q = diag(I r , ˜Q,I s ), Z = diag(I r , ˜Z,I s ), (6.85)<br />

unde transformarea definită de matricele ˜Q şi ˜Z, de ordinul 2, 3 sau 4, a<strong>si</strong>gură<br />

permutarea blocurilor diagonale ale perechii<br />

[ ] [ ]<br />

Skk S ˜S = k,k+1 Tkk T<br />

, ˜T = k,k+1<br />

, (6.86)<br />

0 S k+1,k+1 0 T k+1,k+1<br />

şi unde r este ordinul cumulat al blocurilor diagonale 1 : (k −1), iar s este ordinul<br />

cumulat al blocurilor diagonale (k +2) : p.<br />

Vomimplementaschemadecalculdemaisus într-unalgoritmcarevatratatoate<br />

cazurile. Pentru aceasta vom utiliza rezultatele stabilite şi procedurile elaborate în<br />

acest capitol. Pentru o înţelegere mai lesnicioasă a algoritmului facem următoarele<br />

precizări:

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

Saved successfully!

Ooh no, something went wrong!