Calculul valorilor si vectorilor proprii
Calculul valorilor si vectorilor proprii
Calculul valorilor si vectorilor proprii
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: