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.

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

Dacă matricea T are mai multe zerouri diagonale, acestea pot fi deplasate succe<strong>si</strong>v<br />

în colţul din dreapta jos al lui T prin aplicarea repetată a schemei de calcul<br />

DZ-k,n adaptate la nece<strong>si</strong>tăţile curente în forma DZ-i,j . Procedura este<br />

următoarea 13 .<br />

DZ<br />

% Deplasarea zerourilor diagonale ale matricei T în colţul din dreapta jos<br />

1. i = n, j = n<br />

2. C^at timp i > 0<br />

1. Dacă T(i,i) = 0 atunci<br />

1. Execută DZ-i,j<br />

2. j ← j −1<br />

3. i ← j −1<br />

altfel<br />

1. i ← i−1<br />

Dupăexecuţiaproceduriidemaisusperechea(H,T)transformatăvaaveastructura<br />

(6.43). Fascicolul iniţial este regulat dacă şi numai dacă H 22 este ne<strong>si</strong>ngulară.<br />

Într-un astfel de caz, numărul <strong>valorilor</strong> <strong>proprii</strong> generalizate infinite este dat de ordinul<br />

blocurilor H 22 şi T 22 .<br />

Prezentăm algoritmul care implementează schema de calcul DZ .<br />

Algoritmul 6.2 (DZc – Deplasarea zerourilor diagonale.)<br />

(Date o pereche (H,T) ∈ IC n×n × IC n×n în formă Hessenberg generalizată<br />

şi matricele unitare Q,Z ∈ IC n×n , algoritmul suprascrie perechea<br />

(H,T) cu o pereche echivalentă, tot în formă Hessenberg generalizată,<br />

dar având toate zerourile diagonale ale matricei T <strong>si</strong>tuate în colţul din<br />

dreapta jos. Opţional, se actualizează matricele unitare de transformare<br />

Q,Z ∈ IC n×n . Opţiunea se exprimă prin intermediul unei variabile logice<br />

opt de tipul şir de caractere ce poate lua valorile ′ da ′ sau ′ nu ′ . Dacă<br />

opt = ′ nu ′ , algoritmul returnează matricele Q şi Z nemodificate.)<br />

1. i = n, j = n<br />

2. C^at timp i > 0<br />

1. Dacă T(i,i) = 0 atunci<br />

1. Dacă i < j atunci<br />

1. Pentru l = i+1 : j<br />

1. [T(l−1:l,l),c,s]= Gc(T(l−1:l,l))<br />

2. k = max(l−2,1)<br />

3. H(l−1:l,k:n) = Gcs(c,s,H(l−1:l,k:n))<br />

4. Dacă l < n atunci<br />

T(l−1:l,l+1: n) = Gcs(c,s,T(l−1:l,l+1:n))<br />

13 După deplasarea unui zero diagonal în ultima poziţie diagonală curentă este po<strong>si</strong>bil ca structura<br />

zerourilor diagonale ”încă nedeplasate” să se modifice, e.g. numărul lor să scadă. De aceeea<br />

după deplasarea tuturor zerourilor diagonale în colţul din dreapta jos este po<strong>si</strong>bil ca numărul lor<br />

să fie diferit de numărul iniţial al zerourilor diagonale ale matricei T. De asemenea, aşa cum s-a<br />

precizat, pentru aspectele specifice ale tratării zerourilor din poziţiile diagonale terminale, cititorul<br />

este invitat să consulte algoritmul formal.

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

Saved successfully!

Ooh no, something went wrong!