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.6. CALCULUL SUBSPAŢIILOR INVARIANTE 291<br />

ProblemacalcululuisubspaţiilorA-invarianterealeasociateunorseturi<strong>si</strong>metrice<br />

de valori <strong>proprii</strong> revine la ordonarea corespunzătoare a blocurilor diagonale ale<br />

formei Schur reale. În acest scop este necesar să ştim să permutăm două blocuri<br />

diagonale adiacente. Permutarea a două blocuri vecine 1×1 se face cu algoritmul<br />

P11c, cu <strong>si</strong>ngura menţiune că toate transformările utilizate sunt reale. Întrucât<br />

scrierea variantei reale a algoritmului se rezumă la înlocuirea <strong>si</strong>glei c cu <strong>si</strong>gla r în<br />

identificatorii procedurilor, ne mărginim să introducem <strong>si</strong>ntaxa de utilizare<br />

[S,Q] = P11r(S,Q,k),<br />

cu menţiunea ca aici k reprezintă linia (şi coloana) pe care se află primul dintre cele<br />

două blocuri 1×1 ce se permută.<br />

Rămâne să arătăm cum se pot permuta, prin transformări ortogonale de asemănare,<br />

două blocuri diagonale vecine din care cel puţin unul are ordinul 2.<br />

Con<strong>si</strong>derăm acum matricea de ordinul 3 sau 4<br />

[ ]<br />

S11 S<br />

S = 12<br />

, (4.200)<br />

0 S 22<br />

unde, prin urmare, cel puţin unul din blocurile diagonale S 11 , S 22 este 2 × 2. În<br />

principiu, putem aplica ideile utilizate la elaborarea algoritmului P11, i.e. calculul<br />

unei baze ortogonale a subspaţiului invariant asociat <strong>valorilor</strong> <strong>proprii</strong> ale matricei<br />

S 22 şi aplicarea lemei de deflaţie ortogonală, soluţie propusă cititorului. Aici vom<br />

urmaocaleechivalentăcareutilizeazăalgoritmulQRcudeplasareimplicită. Având<br />

în vedere faptul că matricea S din (4.200) este deja în formă Schur reală rezultă că<br />

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

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

nostru, în vederea permutării, cu valorile <strong>proprii</strong> ale matricei S 11 . Cunoaşterea<br />

exactă a deplasării face ca, teoretic, să fie suficientă o <strong>si</strong>ngură iteraţie QR pentru<br />

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

ordinul 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 (2,1) neglijabile. De<br />

asemenea, întrucât algoritmul QR cu deplasare implicită acţionează corect numai<br />

asupramatricelor înformăHessenbergireductibilă este necesarmai întâiun pas QR<br />

artificial,cuunvectordedeplasareimplicităaleator,caresăalterezestructuraSchur<br />

reală a matricei S în sensul obţinerii formei Hessenberg ireductibile. În consecinţă,<br />

toate cele trei tipuri de permutare se vor supune următoarei scheme de calcul.<br />

Pij<br />

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

implicită (i.e. valoarea proprie dacă primul bloc este 1×1, respectiv suma<br />

şi produsul <strong>valorilor</strong> <strong>proprii</strong> în cazul când primul bloc este 2×2).<br />

2. Se executa un pas QR 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 QR cu deplasarea implicită exactă (i.e. calculată cu<br />

elementele de la punctul 1).

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

Saved successfully!

Ooh no, something went wrong!