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.

6.3. ALGORITMUL QZ 459<br />

În cazul real toate rotaţiile sunt reale şi, aplicate unor matrice iniţiale reale, conduc<br />

la o pereche rezultat reală. De asemenea, matricele de transformare cumulate<br />

sunt reale ca produse de matrice reale.<br />

Caracterul finit al calculului este evident. Demonstraţia este completă. ✸<br />

Demonstraţia teoremei de mai sus conduce imediat la următoarea structură a<br />

algoritmului de reducere a unei perechi (A,B) la forma Hessenberg generalizată.<br />

HT 1. Se calculează triangularizarea unitară a matricei B, i.e. matricea unitară<br />

Q şi B ← Q H B astfel încât noul B este superior triunghiular<br />

2. A ← Q H A<br />

3. Pentru k = 1 : n−2<br />

1. Se execută procedura HT-k<br />

Pentruscriereaformalăaalgoritmuluivomutilizaoprocedurădetriangularizare<br />

unitarăauneimatricecomplexeutilizândreflectorihermitici, prezentatăîncapitolul<br />

3. Pentru scopurile noastre, <strong>si</strong>ntaxa de apel a acestei proceduri va fi 10<br />

[B,U,b] = TUN(B),<br />

i.e. procedura suprascrie matricea argument B cu rezultatul triangularizării şi<br />

livrează, în matricea U ∈ IC n×(n−1) şi vectorul b ∈ IR n−1 , elementele definitorii<br />

ale reflectorilor complecşi hermitici U k = I n − 1<br />

b(k) U(:,k)(U(:,k))H utilizaţi. (Precizăm<br />

că U(1 : k−1,k) = 0, k = 2 : n−1.) De asemenea, vom folo<strong>si</strong> procedurile din<br />

tabelul 4.3 (vezi capitolul 4), la care vomadăugaoprocedură suplimentarănecesară<br />

pentru procesările legate de anularea elementelor alterante ale structurii superior<br />

triunghiulare a matricei B şi anume [ procedura ] Gcm pentru calculul unei rotaţii<br />

c s<br />

complexe bidimen<strong>si</strong>onale Z 12 = ”modificate” care aplicată pe dreapta<br />

−¯s c<br />

unui vector linie a ∈ IC 1×2 anulează primul element al lui a. Vom numi această<br />

transformare rotaţie (complexă) ”modificată”. Este <strong>si</strong>mplu de văzut că elementele<br />

definitorii ale acestei rotaţii sunt<br />

⎧<br />

1, dacă a 1 = 0,<br />

⎪⎨<br />

0, dacă a 1 ≠ 0, a 2 = 0,<br />

c =<br />

⎪⎩ |a 2 |<br />

r , dacă a 1 ≠ 0, a 2 ≠ 0,<br />

⎧<br />

⎪⎨<br />

s =<br />

⎪⎩<br />

0, dacă a 1 = 0,<br />

1, dacă a 1 ≠ 0, a 2 = 0,<br />

ā 1 a 2<br />

|a 2 |r , dacă a 1 ≠ 0, a 2 ≠ 0.<br />

√<br />

(6.42)<br />

|a 1 | 2 +|a 2 | 2 . <strong>Calculul</strong> elementelor definitorii pentru rotaţia de mai sus<br />

unde r =<br />

va fi însoţit de calculul a ← d = aZ 12 , astfel încât <strong>si</strong>ntaxa propusă pentru această<br />

procedură este<br />

[d,c,s] = Gcm(a)<br />

10 Corespondentul real este procedura de triangularizare ortogonală pe care, în consens, o vom<br />

numi TOR. Atragem atenţia că, din dorinţa de a a<strong>si</strong>gura o claritate maximă, aici s-au făcut<br />

unele rabaturi la eficienţă, cum ar fi memorarea <strong>vectorilor</strong> Householder într-o matrice distinctă.<br />

De aceea, <strong>si</strong>ntaxa şi denumirile generice folo<strong>si</strong>te diferă de cele din capitolul 3. Implementările de<br />

performanţă maximă vor trebui să respecte însă toate recomandările explicit formulate în capitolul<br />

3.

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

Saved successfully!

Ooh no, something went wrong!