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.4. ALGORITMUL QR 251<br />

B. Strategia paşilor dubli<br />

În cazul matricelorrealese poate impune utilizarea exclu<strong>si</strong>văaunei aritmetici reale.<br />

Dacă matricea are şi valori <strong>proprii</strong> complex conjugate alegerearecomandatămai sus<br />

pentru deplasarea µ k nu mai poate a<strong>si</strong>gura convergenţa procesului de evidenţiere a<br />

<strong>valorilor</strong> <strong>proprii</strong>. Aşa cum s-a văzut în demonstraţia lemei 4.3, pentru evidenţierea<br />

unui bloc 2×2 alformei Schurreale, deflaţia se face cu ajutorulunei baze ortogonale<br />

(reale) a subspaţiului A-invariantgenerat de parteareală şi cea imaginarăaperechii<br />

devectori<strong>proprii</strong>asociaţi. Aceastaaconduslaideeacomasăriiadoipaşiconsecutivi<br />

QR într-unul <strong>si</strong>ngur 20 şi a utilizării unei perechi de deplasări complex conjugate<br />

care, în pasul dublu, apar în combinaţii reale.<br />

Concret, fie H ∈ IR n×n o matrice superior Hessenberg şi doi paşi consecutivi<br />

QR cu deplasare explicită<br />

{<br />

Hk −µ k I n = Q k R k<br />

H k+1 = R k Q k +µ k I n<br />

,<br />

{<br />

Hk+1 −µ k+1 I n = Q k+1 R k+1<br />

H k+2 = R k+1 Q k+1 +µ k+1 I n<br />

, (4.130)<br />

care pot fi contraşi în transformarea directă H k −→ H k+2 , numită pas dublu QR.<br />

Într-adevăr, pasul k produce matricea H k+1 = Q H k H kQ k astfel încât factorizarea<br />

QR din cadrul pasului k + 1 poate fi scrisă sub forma Q H k H kQ k − µ k+1 I n =<br />

= Q k+1 R k+1 . Înmulţind această relaţie la stânga cu Q k, la dreapta cu R k şi utilizând<br />

factorizareaQR din cadrulpasului k, rezultă căun pasdublu QReste descris<br />

de { (Hk −µ k I n )(H k −µ k+1 I n ) = Q k Q k+1 R k+1 R k<br />

, (4.131)<br />

H k+2 = (Q k Q k+1 ) T H k Q k Q k+1<br />

şi implică efectuarea următoarelor calcule:<br />

1. SecalculeazămatriceaM def<br />

= H 2 k −s kH k +p k I n ,undes k = µ k +µ k+1<br />

şi p k = µ k µ k+1 .<br />

2. Se calculează factorizarea QR a matricei M, i.e. M = ˘Q˘R, unde<br />

˘Q = Q k Q k+1 şi ˘R = Rk R k+1 .<br />

3. H k+2 = ˘Q T H k ˘Q.<br />

Deplasările µ k şi µ k+1 se aleg, în concordanţă cu cele discutate mai sus, egale cu<br />

valorile <strong>proprii</strong> ale blocului 2×2 din colţul din dreapta jos al matricei H k :<br />

[<br />

(k) h n−1,n−1 h (k) ]<br />

n−1,n<br />

H k (n−1 : n, n−1 : n) =<br />

. (4.132)<br />

h (k)<br />

n,n−1<br />

h (k)<br />

n,n<br />

Important este faptul că, în schema de calcul aferentă unui pas dublu QR, cele<br />

două valori <strong>proprii</strong> apar sub formă de sumă şi produs:<br />

⎧<br />

⎨<br />

⎩<br />

s k = µ k +µ k+1 = h (k)<br />

n−1,n−1 +h(k) n,n<br />

p k = µ k µ k+1 = h (k)<br />

n−1,n−1 h(k) n,n −h (k)<br />

n−1,n h(k) n,n−1<br />

, (4.133)<br />

20 Se poate imagina şi o comasare a mai mulţi paşi QR în cadrul unei strategii a paşilor<br />

”multipli”. O astfel de soluţie este utilizată în LAPACK [XV] pentru procedurile bloc de calcul<br />

al <strong>valorilor</strong> <strong>proprii</strong>.

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

Saved successfully!

Ooh no, something went wrong!