Calcul Numeric Cursul 8 2019 Aca Igat
Valori şi vectori proprii (eigevalues, eigevectors) Defiiţie Fie A. Numărul complex se umeşte valoare proprie a matricei A dacă există u vector u, u0 astfel ca: Au=u Vectorul u se umeşte vector propriu asociat valorii proprii λ. Petru existeţa vectorului u 0 este ecesar şi suficiet ca matricea (I A) să fie sigulară, adică det(i A)=0. 1
Poliomul de grad : p det I A A se umeşte poliom caracteristic al matricei A. Propoziţia 1 Fie rădăciile poliomului caracteristic 1, 2,..., disticte, i j petru 1 i j şi u1, u2,, u vectorii proprii corespuzători. Atuci u1, u2,, u sut liiar idepedeţi. (demostraţia se face pri iducţie) 2
Propoziţia 2 Fie valorile proprii i ale matricei A disticte. Atuci există o matrice esigulară T astfel ca: 1 T AT diag[ 1, 2,, ]. Demostraţie. Fie u1, u2,, u vectorii proprii ai matricei A. Cosiderăm matricea T ale cărei coloae sut vectorii proprii ui, u1u 2 u ]. Deoarece vectorii proprii sut liiar idepedeţi coform propoziţiei 1 rezultă că matricea T este esigulară. Vom avea: AT Au Au Au u u u T.diag 1 2 1 1 2 2 1 2 Îmulţid la stâga cu T -1 obţiem cocluzia propoziţiei 2. 3
Defiiţie Matricile A şi B sut asemeea (otaţie AB) dacă şi umai dacă există o matrice esigulară T (det T 0) astfel ca: A=T B T -1 Propoziţia 3 A B pa pb. Demostraţie. p det( I A) det I TBT det TT TBT 1 1 1 A 1 1 T I B T T I B T p det det( )det det B Propoziţia 3 e spue că matricele asemeea au același poliom caracteristic şi aceleași valori proprii. 4
Teorema lui Gershgori Fie A Atuci: şi o valoare proprie oarecare a matricei A. i0 î â ai 0i r 0 i r 0 i a 0 i0 j j1 ji 1,2,, astfel c t. (Valoarea proprie se află î cercul di plaul complex de cetru a şirază r.) i i 0 0 0 i 0 5
Demostraţie. Fie o valoare proprie a matricei A şi u 0 u vector propriu asociat valorii proprii, Au u. Avem: u a u a u ( a ) u a u, i 1,,. i ii i ij j ii i ij j j1 j1 ji ji u u max u ; k 1,, 0 u 0). Fie i0 astfel ca Vom avea: i 0 u uj u j j ai, ţiâd seama că 1. 0i a 0 i0 j ai 0 j ri 0 u u u j1 i j1 i i ji k 0 0 0 0 ji0 6
Observaţie. Presupuem că matricea A are vectori proprii 1 2 liiar idepedeţi u, u,, u asociaţi valorilor proprii 1, 1 2 2,..., Fie U u u u. Datorită idepedeţei vectorilor u k rezultă că matricea U este esigulară şi avem: diag 1, 2,, 1 U AU. Cosiderăm matricea perturbată: A A B. 1 1 U A U U BU C. 1 A( ) U A( ) U au aceleaşi valori proprii ( ) c c i ii ij i j1 ji. i 7
Metoda puterii petru matrice simetrice Propoziţie Fie T A, A A. Atuci toate valorile proprii ale matricei A sut umere reale. Demostraţie. Fie şi u, u 0 Au u. Cosiderăm produsul scalar: Au, u u, u u. T Au, u u, A u u, Au Au, u Au, u, Au u 2. u 2 2 2 8
Propoziţie T Fie A, A A. Atuci există o bază ortoormată de vectori proprii ai matricei A, {u 1, u 2,..., u } : i u, u j ij 1 dacă i j 0 dacă i j Echivalet, putem scrie ca există vectori proprii {u 1, u 2,..., u } asociaţi valorilor proprii reale {λ1, λ2,..., λ} atfel ca: T AU U U AU cu diag şi 1 2 [,,..., ] U [ u u u ] matrice ortogoală. 1 2 9
Defiiţie Se umeşte coeficiet Rayleigh al vectorului matricea A următoarea mărime scalară: u petru T u Au Au, u Au, u ru ( ) T u u u, u u Se verifică uşor că dacă u este vector propriu al matricei A asociat valorii proprii λ atuci r(u)= λ. T Fie A, A A. Matricea are valori proprii reale λ1, λ2,..., λ. Presupuem î plus că: 0 1 2 2 2 10
Metoda puterii este u algoritm care aproximează valoarea proprie de modul maxim λ1 şi u vector propriu asociat. Se poreşte de la u vector eul de ormă euclidiaă 1, (0) (0) u, u 2 1 şi se costruieşte următorul şir de vectori de ormă euclidiaă 1: (0) (1) 1 (0) (2) 1 (1) u, u Au, u Au,..., (0) (1) Au Au u 2 2 1 Au ( k) ( k1) ( k1) Au 2,... Î aumite codiţii acest şir coverge la u vector propriu asociat valorii proprii λ1, iar coeficieţii Rayleigh corespuzători coverg către λ1. 11
Teoremă T Fie A, A A o matrice simetrică petru care valorile proprii îdepliesc codiţia: 1 2 0. Dacă (0) u, (0) 2 1 u, asociat lui λ1) atuci: k 1 k u A u k (0) Au u ( ) (0) 1 ru ( k ) ( ) 1 2 (0) 1 (, ) 0 u u (u 1 vector propriu ( vector propriu asociat lui ) 1 12
Demostraţie. Fie {u 1, u 2,..., u } vectori proprii asociaţi valorilor proprii {λ1, λ2,..., λ} care formează o bază ortoormată î. Avem: (0) 1 2 u a1u a2 u au, ai (0) 1 Deoarece ( u, u ) 0 rezultă că a1 0. Di costrucţia şirului u (k) deducem că există o costată ck astfel ca: 13
u c A u ( k) k (0) k k c A ( a u a u a u ) k 1 2 1 2 c ( a u a u a u ) k 1 k 2 k k 1 1 2 2 k k k 1 2 2 ck1 a1u a2 u a u 1 1 Di această ultimă relaţie, di faptul că λ1 este valoare proprie domiată şi a1 0 deducem că petru k suficiet de mare vectorul u (k) se aliiază după vectorul propriu u 1 : u c a u ( k) k 1 k 1 1 14
u (0) (0) k do Metoda puterii 0; k ; w u ( k ) k, u 1; Au ( k1) 1 w 2 ; 2 w ; r u Au u ( k ) ( k ) ( k ) ( ), ; ( k) ( k) while( Au u şi k k ); k max 15
Metoda iteraţiei iverse T Cosiderăm o matrice simetrică A, A A şi u umăr real care u este valoare proprie a matricei A. Vom folosi metoda puterii petru a aproxima valoarea proprie a matricei A care este cea mai apropiată de μ şi u vector propriu asociat. valoare proprie det( A I ) 0 ( A I ) Fie {λ1, λ2,..., λ} valorile proprii reale ale matricei A. 1 16
Valorile proprii ale matricei (A-μI) -1 sut: 1 1 1,,..., ( 1 ) ( 2 ) ( ) Matricele A şi (A-μI) -1 au aceiași vectori proprii. Să presupuem că λi este valoarea proprie cea mai apropiată de μ (şi sigura). Atuci: 1 1 j I j I 17
Această relaţie sugerează ideea aplicării metodei puterii matricei (A - μi) -1 petru a aproxima valoarea proprie (λi μ) -1 şi a uui vector propriu asociat. Algoritmul duce la aproximarea valorii proprii cea mai apropiată de μ, λi şi a uui vector propriu asociat acestei autovalori, u I. 18
u (0) (0) k do Metoda iteraţiei iverse 0; k ; Se rezolvă sistemul u ( k ) k, u 1; 1 w 2 2 w ; r u Au u ( k ) ( k ) ( k ) ( ), ; ( k1) ( A I ) w u ; ( k) ( k) while( Au u şi k k ); k max 19
Spuem că o matrice H Hesseberg dacă: Forma superioară Hesseberg este î formă superioară h 0, i 1,,, j 1,, i 2 ij O matrice î formă Hesseberg arată astfel: 20
H h h h h h 11 12 13 11 1 h h h h h 21 22 23 21 2 0h h h h 32 33 31 3 00h h h 43 41 4 000 h h 1 Ne iteresează u algoritm care să trasforme o matrice pătratică A oarecare îtr-o matrice Hesseberg superioară H care să aibă aceleaşi valori proprii: 21
1 A Ha.î. H A, H PA P, Pmatrice esigulară Algoritmul este o adaptare a algoritmului lui Housholder şi se desfăşoară î (-2) paşi, folosid matricile de reflexie petru a trasforma matricea. Pas 1 se efectuează operaţiile A=P1 A P1 (matricea P1 se alege astfel îcât coloaa 1 să fie trasformată î formă superior Hesseberg) 22
Pas 2 iit A = P2 AP2 P2 ( P1 A ) P2 (P2 trasformă coloaa 2 î formă superior Hesseberg fără să schimbe coloaa 1) Pas r A P ( iit r APr Pr Pr 1 P1 A P1 Pr 1) Pr (se trasformă coloaa r î formă superior Hesseberg fără să schimbe primele (r-1) coloae) 23
Pasul r (r=1,2,,-2) La itrarea î pasul r matricea A are primele (r-1) coloae î formă superior Hesseberg. La ieşirea di pasul r matricea A va avea primele r coloae î formă superior Hesseberg: A P A P, A A ies r itr r ies itr r r T r r P = I 2 v ( v ), v R, v = 1 r 2 Vectorul v r se alege astfel ca matricea Aies să aibă coloaa r î formă superior Hesseberg şi să u schimbe primele (r-1) coloae ale matricii Aitr. 24
Calculul matricii Pr 1 T P I uu ka = r 1r 2 2 2 2 2 r1r ir r ir i= r1 sem k = sem a r 1 r k = = a a a = a k = 25
26 1 0 0 := r r ir r a k u a a 0 1 ( ) r r P I
Algoritmul de trecere de la matricea A la matricea Pr A este următorul: Ae jpetru j = 1,, r 1 T ( Pr A) e j = ( a1r, a2r,, arr, k,0,,0) petru j = r j Ae j upetru j = r 1,, = ( Ae, u) = u a j j i ij i= r1 ui = 0, i = 1,, r, ur 1 = ar1r k, ui = air, i = r 2,, 27
Vom descrie î cotiuare cum se efectuează operaţia A:=APr fără a face îmulţire matricială (matricea A este cea obţiută mai sus avâd primele r coloae î formă superior Hesseberg). Vom arata că această operaţie u schimbă forma superior Hesseberg obţiută. Vom pue î evideţă trasformările liiilor matricii A. Petru i=1,..., avem: T T 1 T ei ( AP) oualiieiamatriciiape i A)( I uu ) 1 ( ) i ei A ei A uu ei A u ude T T T T T 28
T i ( ei A) u air1ur 1 aiu Elemetele liiei i se schimbă astfel: i aij aij u j, j r 1,,, i 1,, Operaţia A:=APr u modifică primele r coloae ale matricii A, ele rămââd î formă superior Hesseberg. 29
Algoritmul de obţiere a formei superior Hesseberg forr 1,, 2 costrucţiamatriciipcostataşivectorulu 2 = air; i= r1 if( ) break ; / / r r 1 P I k = ; if( ar1r0 ) k k; ka ; r1r u a k; u a, i r 2,, ; r1 r1r i ir r r 30
A P A r trasformareacoloaelor j r 1,, for j r 1,, ( / ) ( Ae, u) / = ( u a ) / ; j j i ij i= r1 fori r 1,, aijaij ui ; trasformareacoloaeiramatriciia a k; a i r 2,, ; r1r ir 31
A AP trasformarealiiilori 1,, fori 1,, ( / ) (( ) ) / = ( ) / ; for j r 1,, aijaij u j; r T i ei A u u jaij j= r1 32
Algoritmul QR de aproximare a valorilor proprii ale uei matrici oarecare Prezetăm î cotiuare cel mai folosit algoritm de aproximare a valorilor proprii petru matrici pătratice oarecare. Spuem că o matrice S este î formă Schur reală dacă matricea S este î formă superior Hesseberg şi î plus este bloc-diagoală: 33
S S S S 11 12 1 p S S 22 2 p 0 S pp blocurile Sii sut astfel ca: - Sii - este valoare proprie reală 22 - S ii - este bloc corespuzător valorilor proprii complexe Valorile proprii corespuzătoare blocului ab 22 Sii c d sutrădăciile ecuaţiei: 34
- a b -c -d 2 ( - a)( - d) - bc ( a d) ad bc 0 Se presupue că această ecuaţie de gardul 2 are rădăcii complexe. Algoritmul QR de aproximare a valorilor proprii ( k ) costruieşte u şir de matrici A, matrici asemeea ( k ) cu matricea A, A A, k, şir care coverge la o matrice î ( k ) formă Schur reală, A S, k. Matricea limită S este asemeea cu matricea A, valorile prorii ale matricii S fiid uşor de calculat. Şirul A (k) se costruieşte astfel: 35
(0) (0) (0) A : A, A Q R ( descomp. QR calc. petrumatriceaa ) 0 0 (1) (1) (1) A : R Q, A Q R ( descomp. QRcalc. petrumatriceaa ) A (2) : 0 0 1 1 R Q 1 1 ( k) ( k) A Q R ( descomp. QRcalc. petrumatriceaa ), ( k 1) A k k : RkQk, k 0,1, 2, 1 T Matricile Qk sut matrici ortogoale ( Q k Qk ) iar matricile Rk sut superior triughiulare. 36
Matricile A (k) şi A (k+1) sut asemeea: Q A Q R R Q A T ( k ) T ( k ) k k k k k A R Q Q A Q A A, k ( k1) T ( k ) ( k1) ( k ) k k k k Matricile şirului costruit sut toate asemeea pri urmare au aceleaşi valori proprii aume cele ale matricii iiţiale A= A (0) : (0) (1) ( k ) A A A A S Dacă matricea A (k) este î formă superioară Hesseberg, atuci descompuerea QR realizată cu algoritmul lui Gives se simplifică. Reamitim algoritmul lui Gives: 37
R R R R R A R 1( 1) p( p) pp1( pp1) 1( 1) 12( 12) Dacă matricea A este î formă Hesseberg î algoritmul lui ( 1) Gives, di cele îmulţiri cu matrici de rotaţie 2 rămâ doar (-1): R ( ) R ( ) R ( ) R ( ) A R. 1 1 pp1 pp1 23 23 12 12 Problema care se pue este dacă porid cu o matrice î formă Hesseberg, toate matricile şirului rămâ î formă Hesseberg: 38
( k ) A ( îformăhesseberg) H QR( cugives)? ( k1) T ( k ) T A H RQ Q A Q Q HQestetotîformăHesseberg Avem: H Q HQ R R ( ) R ( ) R ( ) T T T T 12 12 rr1 rr1 1 1 Notăm cu: petru care avem: R R R ( ) T 12 12 39
ri 1 cri 1 sri 2, i ri 1 0, i 2,, ri 1 0, i 3,, ri 2 sri 1 cri 2, i ri 2 0, i 3,, ri 2 0, i 3,, deci coloaa 1 se trasformă î formă Hesseberg iar coloaa 2 rămâe î formă suprior triughiulară. La pasul p avem: RR ( ) R ( ) R ( ) RR ( ) R, T T T T 12 12 p1 p p1 p pp1 pp1 pp1 pp1 R RR ( ) R ( ) T T 12 12 p1 p p1 p 40
matricea R are primele (p-1) coloae î formă Hesseberg iar restul coloaelor sut î formă superior triughiulară. Vom arata că la acest pas matricea R va avea primele p coloae î formă Hesseberg iar restul coloaelor î formă superior T triughiulară. Operaţia R R Rpp1( pp1) presupue doar schimbarea elemetelor coloaelor p şi p+1: r ip crip srip1, i r ip 0, i p 1,, r ip1 srip crip1, i r ip1 0, i p 2,,. rip 0, i p 2,, rip1 0, i p 2,, 41
Observăm di relaţia de mai sus că î matricea R coloaa p are formă Hesseberg iar coloaa p+1 rămâe î formă superior triughiulară (celelalte elemete di matrice u se modifică). ( k 1) Pri urmare după pasul -1 matricea H A este î formă superioară Hesseberg. Algoritmul QR de aproximare a valorilor proprii folosid descompuerea Gives păstrează forma Hesseberg. 42
Algoritmul QR petru valori proprii seaducematriceaala formahesseberg AQ AQ T ; k 0; while( AformaSchurreală) A QR; / / secalculeazăcualgoritmulgives T A RQsau Q AQ; k k 1; 43
Î practică se presupue că matricea A este î formă Hesseberg eredusă, adică: a ii 1 0 i 2,, Dacă matricea u este î formă eredusă, problema se decuplează: A11A12 p A, p 1sau 2 A21A22 p p p 44
Algoritmului QR cu deplasare ( shift ) simplă Algoritmul cu deplasare simplă este următorul: T AQ AQ ; aducerealaformahessebergeredusă k 0; while( AformaSchurreală) A dki QR; / / secalc. cualg. Gives A : RQ d ki; k k 1; 45
dk sut costatele de deplasare. Dacă A - d I = QR (A (k) ) şi A RQdI ( A (k+1) ), se pue problema dacă cele două matrici sut asemeea ( A A) (şirul de matrici costruit cu pasul QR cu deplasare simplă au aceleaşi valori proprii). A Q T QRQ dq T QQ T ( QR di ) QQ T AQ A A Variata cu deplasare se efectuează petru a accelera covergeţa algoritmului. Dacă λ1, λ2,..., λ sut valorile proprii ale matricii A ordoate astfel ca: d d d 1 2 46
Rapiditatea cu care a 1 0, k este dată de rata de ( k ) p covergeţa a expresiei covergeţa Teoremă ( k ) a 1 0 p p1 p d d k. Dacă se alege d este rapidă. Avem următoarul rezultat: Fie d o valoare proprie a uei matrici Hesseberg ereduse H. Dacă H RQ d I, cu H d I QR descompuerea QR a matricii H d I QR. Atuci: h1 0, h d 47
Algoritmul QR cu deplasare simplă găseşte valoarea proprie d îtr-u sigur pas. Euristic s-a costatat că la fiecare pas, cea ( ) mai buă aproximare a uei valori proprii este a k. ( k ) d a k Algoritmul QR cu deplasare simplă T AQ AQ ; aducerealaformahessebergeredusă k 0; while( AformaSchurreală) A ai QR; / / secalc. cualgoritmulgives A : RQ ai ; k k 1; 48
Algoritmului QR cu deplasare ( shift ) dublă Î cazul câd valorile proprii a1, a2 corespuzătoare blocului: appap G, p 1 apa sut complexe, a1, a2, abordarea cu deplasare simplă u mai asigură accelerarea covergeţei. Avem: 49
det( I G) ( a )( a ) ( a )( a ) a a 2 1 2 ( a a ) a a ( a a ) a a a a 2 2 1 2 1 2 pp p p pp pp p p a a a a trace( G), a a a a a a detg 1 2 pp 1 2 pp p p Algoritmul QR cu deplasare dublă costă î trecerea de la matricea A = A (k) la matricea A2 = A (k+1) realizâd doi paşi cu deplasare simplă : A A1 (deplasare simplă a1), A1 A2 (deplasare simplă a2) 50
Fie matricea : A a I Q R 1 1 1 A R Q a I 1 1 1 1 A a I Q R 1 2 2 2 A R Q a I 2 2 2 2 M Q Q R R Q Q R R Q A a I R : 1 2 2 1 1 2 2 1 1 1 2 1 Q Q AQ a I R Q Q AQ R a Q R T T 1 1 1 2 1 1 1 1 1 2 1 1 A a 2 I Q1R1 A a2 I A a1 I M Q Q R R A a I A a I 1 2 2 1 2 1 2 A ( a1 a2) A a1a2i 51
Avem următoarele relaţii de asemăare: T T T T T 1 1 1 2 2 1 2 2 1 1 2 1 2 1 2 T T 2 1 2 1 2, : 1 2 A A Q AQ A Q A Q Q Q AQ Q Q Q A Q Q A Q Q A Q Q Q AQ Q Q Q Matricea Q care asigură trecerea de la matricea A la matricea A2 este matricea ortogoală di descompuerea QR a matricii M A a 2I A a1 I. Pasul QR cu deplasare dublă se face urmâd etapele: 52
1) se calculează matricea 2 M A sa qi cu s = a1+a2 = app+a, q = a1a2 = app a - apap ; 2) se calculează descompuerea QR a matricii M; 3) A2:=Q T AQ. 53
Vectori proprii Cosiderăm două matrici asemeea A şi B: A B A PBP 1, Pmatrice esigulară Ştim că cele două matrici au acelaşi poliom caracteristic, p A ( ) p ( ), deci au aceleaşi valori proprii. Ne iteresează B care este legătura ître vectorii proprii asociaţi aceleiaşi valori proprii. Fie u vector propriu asociat valorii proprii petru matricea A şi w vector propriu asociat valorii proprii petru matricea B. Care este relaţia ître u şi w? 54
1 1 Au u, Bw w, A PBP PBP u u 1 1 1 BP u P u w P u, u Pw Dacă se aplică algoritmul QR uei matrici simetrice, forma Schur reală la care se ajuge este o matrice diagoală: S = Λ = diag[1, 2,..., ] Legătura ditre matricea simetrică iiţială A şi matricea diagoală este de forma: S = Λ = diag[1, 2,..., ] = U T A U ude U este o matrice ortogoală, coloaele matricii U fiid vectori proprii asociaţi valorilor proprii reale 1, 2,...,. Matricea U se poate calcula astfel: 55
Algoritmul QR petru matrici simetrice (valori +vectori proprii) seaducematriceaa laformahesseberg AQ AQ U Q T ; T ; k 0; while ( Amatricediagoal ă) A QR; / / secalculeazăcu algoritmulgives T A RQsauQ AQ; U UQ; k k 1; 56