Calculul valorilor proprii

Σχετικά έγγραφα
METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder

Metode iterative pentru probleme neliniare - contractii

Sisteme diferenţiale liniare de ordinul 1

Metode de interpolare bazate pe diferenţe divizate

2 Transformări liniare între spaţii finit dimensionale

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate.

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a.

Curs 1 Şiruri de numere reale

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile

Esalonul Redus pe Linii (ERL). Subspatii.

Curs 4 Serii de numere reale

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi"

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale.

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă.

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice

Descompunerea valorilor singulare

Integrala nedefinită (primitive)

Sisteme liniare - metode directe

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE.

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu

Curs 2 Şiruri de numere reale

Asupra unei inegalităţi date la barajul OBMJ 2006

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă

Matrice. Determinanti. Sisteme liniare

METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare

Seminar 5 Analiza stabilității sistemelor liniare

Proceduri numerice de analiză sistemică

Seminar Algebra. det(a λi 3 ) = 0

Criptosisteme cu cheie publică III

Calculul funcţiilor de matrice Exponenţiala matriceală

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005.

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro

Aplicaţii ale principiului I al termodinamicii la gazul ideal

Examen AG. Student:... Grupa:... ianuarie 2011

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă.

Subiecte Clasa a VIII-a

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Calculul valorilor şi vectorilor proprii

1.3 Baza a unui spaţiu vectorial. Dimensiune

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt.

riptografie şi Securitate

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy

Subiecte Clasa a VII-a

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca

Laborator 6. Integrarea ecuaţiilor diferenţiale

Functii Breviar teoretic 8 ianuarie ianuarie 2011

prin egalizarea histogramei

PROBLEME DE VALORI ŞI VECTORI PROPRII

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15

Capitolul 4 PROPRIETĂŢI TOPOLOGICE ŞI DE NUMĂRARE ALE LUI R. 4.1 Proprietăţi topologice ale lui R Puncte de acumulare

3. Vectori şi valori proprii

Laborator 11. Mulţimi Julia. Temă

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2

Examen AG. Student:... Grupa: ianuarie 2016

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)).

MARCAREA REZISTOARELOR

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Lucian Maticiuc CURS I II. 1 Matrice şi determinanţi. Sisteme de ecuaţii liniare. 1.1 Matrice şi determinanţi

Să se arate că n este număr par. Dan Nedeianu

III. Reprezentarea informaţiei în sistemele de calcul

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I.

1.4 Schimbarea bazei unui spaţiu vectorial

1. Sisteme de ecuaţii liniare Definiţia 1.1. Fie K un corp comutativ. 1) Prin sistem de m ecuaţii liniare cu n necunoscute X 1,...

Rezolvarea ecuaţiilor şi sistemelor de ecuaţii diferenţiale ordinare. Cuprins. Prof.dr.ing. Gabriela Ciuprina

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale

IV. CUADRIPOLI SI FILTRE ELECTRICE CAP. 13. CUADRIPOLI ELECTRICI

SEMINAR 14. Funcţii de mai multe variabile (continuare) ( = 1 z(x,y) x = 0. x = f. x + f. y = f. = x. = 1 y. y = x ( y = = 0

a. 11 % b. 12 % c. 13 % d. 14 %

Problema a II - a (10 puncte) Diferite circuite electrice

T R A I A N ( ) Trigonometrie. \ kπ; k. este periodică (perioada principală T * =π ), impară, nemărginită.

z a + c 0 + c 1 (z a)

Cap2. Sisteme de ecuaţii algebrice liniare - metode iterative

Conice - Câteva proprietǎţi elementare

Problema celor mai mici pătrate

Nicolae Cotfas ELEMENTE DE EDITURA UNIVERSITĂŢII DIN BUCUREŞTI

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1)

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera.

CURS 5 Spaţii liniare. Spaţiul liniar R n

Cap.2. Sisteme de ecuaţii algebrice liniare - metode directe (II)

Criterii de comutativitate a grupurilor

5.4. MULTIPLEXOARE A 0 A 1 A 2

SEMINARUL 3. Cap. II Serii de numere reale. asociat seriei. (3n 5)(3n 2) + 1. (3n 2)(3n+1) (3n 2) (3n + 1) = a

Spaţii vectoriale. Definiţia 1.1. Fie (K, +, ) un corp şi (V, +) un grup abelian.

3 FUNCTII CONTINUE Noţiuni teoretice şi rezultate fundamentale Spaţiul euclidian R p. Pentru p N *, p 2 fixat, se defineşte R

Sisteme de ecuaţii algebrice liniare - metode iterative nestaţionare (semiiterative)


Transcript:

Laborator 5 Calculul valorilor proprii 5.1 Valori şi vectori proprii Definiţia 5.1 Fie A C n n. Un vector x C n n este un vector propriu al matricei A, asociat valorii proprii λ C, dacă sunt satisfăcute următoarele două proprietăţi a) x 0 b) Ax = λx. (5.1) Câteva dintre cele mai importante proprietăţi ale valorilor proprii ale unei matrice pătrate sunt prezentate mai jos. Teorema 5.2 Fie A R n n. Numărul λ C este o valoare proprie a lui A dacă şi numai dacă matricea λi A este singulară. Mai mult, matricea A sunt exact n valori proprii, incluzând multiplicităţile, care sunt zerourile polinomului caracteristic p(λ) = det(λi n A). (5.2) Dacă A R n n, atunci valorile proprii complexe apar în perechi conjugate. Notând cu λ(a) = {λ 1, λ 2,..., λ n } = {λ C det(λi A) = 0} (5.3) mulţimea tuturor valorilor proprii ale matricei A C n n. Mulţimeaλ(A) se numeşte spectrul de valori proprii al lui A. Este, evident, util să definim transformările matriceale care conservă spectrul de valori proprii al unei matrice date. Definiţia 5.3 Două matrice A, B R n n se numesc asemenea dacă există o matrice nesingulară T R n n astfel încât B = T AT 1. (5.4) Dacă T este o matrice ortogonală, atunci A şi B se numesc ortogonal asemenea. 1

2 LABORATOR 5. CALCULUL VALORILOR PROPRII Teorema 5.4 Dacă A, B R n n sunt asemenea atunci ele au acelaşi spectru de valori proprii λ(a) = λ(b). (5.5) Mai mult, dacă T este o transformare de asemănare ca în (5.4) şi dacă x A este un vector propriu al lui A asociat valorii proprii λ λ(a), atunci vectorul x B = T x A (5.6) este un vector propriu al matricei B, asociat aceleiaşi valori proprii. 5.2 Forma Schur (reală) Forma Schur (reală) joacă un rol central în calculul eficient al valorilor proprii ale unei matrice. Definiţia 5.5 O matrice S R n n se numeşte formă Schur reală (FSR) dacă are structura S 11 S 12 S 1q 0 S S = 22 S 2q, (5.7) 0 0... S qq unde S ii R 1 1 sau S ii R 2 2 şi toate blocurile diagonale 2 2 au valori proprii complexe. O consecinţă imediată a structurii Schur este dată în propoziţia următoare. Propoziţia 5.6 Fie S R n n în FSR. Atunci: λ(s) = q i=1 λ(s ii). (5.8) Un rezultat important în calculul valorilor proprii este dat de următoarea teoremă. Teorema 5.7 Pentru orice matrice pătrată A R n n există o matrice ortogonală Q R n n astfel încât Q T AQ = S (5.9) este in FSR. Calculul (exact) al formei Schur (reale) pentru matrice de ordin superior lui 4 nu poate fi realizat într-un număr finit de operaţii elementare pentru că altfel s-ar contrazice un rezultat fundamental din algebră conform căruia rezolvarea unei ecuaţii algebrice de grad superior lui 4 nu este posibilă într-un număr finit de operaţii elementare.

5.2. FORMA SCHUR (REALĂ) 3 Pe de altă parte, dacă se dispune de un vector propriu x, calculul valorii proprii asociate λ este imediat folosind formula λ = xt Ax x T x. Mai mult, printr-o procedură de deflaţie, după determinarea unui vector propriu şi a valorii proprii asociate, problema îşi reduce dimensiunea. De aceea, există metode de calcul iterativ al unui vector propriu în absenţa cunoaşterii valorii proprii asociate, metode care stau la baza algoritmului QR, de calcul iterativ al formei Schur (reale). Prezentăm direct algoritmii corespunzători celor mai folosite astfel de metode: metoda puterii şi metoda puterii inverse. 5.2.1 Metoda puterii Presupunem că matricea A R n n are o valoare proprie dominantă, i.e. mai mare în modul decât toate celelalte, şi fie aceasta λ 1. Metoda puterii se bazează faptul că şirul vectorial y (k) = A k y 0, k = 1, 2,, (5.10) unde y 0 este un vector aleator ales, tinde, ca direcţie, către direcţia vectorului propriu asociat valorii proprii dominante. Introducând şi normarea vectorilor din acest şir, acesta poate fi definit recurent prin unde ρ k = 1 Ay (k 1) y (k) = ρ k Ay (k 1), k = 1, 2, (5.11) este un factor de scalare. Algoritm 5.8 (Metoda puterii) (Dată o matrice A C n n, un nivel de toleranţă tol R, tol < 1, şi un număr maxim admis maxiter de iteraţii, algoritmul calculează un vector propriu unitar y asociat valorii proprii dominante a matricei date sau tipăreşte un mesaj dacă obiectivul nu a fost atins în numărul de iteraţii admis.) 1. Se alege aleator un vector y R n 2. y y/ y 3. i = 0, e = 1 4. C^at timp e > tol 1. Dacă i > maxiter atunci 1. Tipăreşte S-a atins numărul maxim de iteraţii fără a se fi obţinut nivelul prescris al toleranţei. 2. Stop 2. z = Ay 3. z z/ z 4. e = 1 z T y 5. y z 6. i i + 1.

4 LABORATOR 5. CALCULUL VALORILOR PROPRII Dacă matricea nu are o valoare proprie net dominantă, viteza de convergenţă poate fi nesatisfăcătoare, iar în cazul absenţei unei valori proprii dominante şirul poate fi divergent. 5.2.2 Metoda puterii inverse Metoda puterii inverse pentru matricea A este, în fapt, metoda puterii pentru matricea (µi A) 1, unde µ este un scalar adecvat ales la fiecare pas, numit deplasare. Prin urmare, metoda puterii inverse construieşte un şir de vectori cu relaţia de recurenţă y (k) = ρ k (λi A) 1 y (k 1), k = 1, 2,... (5.12) Desigur, mijlocul eficient de implementare a iteraţiei (5.12), evită calculul matricei (λi A) 1 ci apelează la rezolvarea unui sistem liniar, conform următoarei scheme. 1. Se rezolvă în raport cu y (k) sistemul liniar (λi A)y (k) = y (k 1). 2. y (k) y (k) / y (k). Metoda puterii inverse este una dintre cele mai bune metode iterative de calcul al unui vector propriu a unei matrice. de Cea mai bună alegere a deplasării este dată de aşa numitul cât Rayleigh definit λ = (y(k 1) ) T Ay (k 1) y (k 1) 2 = (y (k 1) ) T Ay (k 1). (5.13) Utilizând acelaşi criteriu de trunchiere ca şi la metoda puterii obţinem următorul algoritm. Algoritm 5.9 (Metoda puterii inverse cu deplasare Rayleigh) (Dată o matrice A R n n, un nivel de toleranţă tol R, tol < 1, şi un număr maxim admis maxiter de iteraţii, algoritmul calculează un vector propriu unitar y al matricei date sau tipăreşte un mesaj dacă obiectivul nu a fost atins în numărul admis de iteraţii.) 1. Se alege aleator un vector y R n. 2. y y/ y 3. i = 0, e = 1 4. C^at timp e > tol 1. Dacă i > maxiter atunci 1. Tipăreşte S-a atins numărul maxim de iteraţii fără a se fi obţinut nivelul prescris al toleranţei. 2. Stop 2. µ = y T Ay 3. Se rezolvă sistemul liniar (µi n A)z = y

5.3. ALGORITMUL QR 5 4. z z/ z 5. e = 1 z T y 6. y z 7. i i + 1. 5.3 Algoritmul QR Algoritmul QR este, în esenţă, o procedură de deflaţie iterativă care construieşte (recurent) un şir de matrice ortogonal asemenea cu matricea iniţială, şir care, în anumite condiţii, este convergent către forma Schur (reală). În vederea minimizării efortului de calcul, într-o fază preliminară, matricea dată este adusă, prin transformări de asemănare ce implică un număr (teoretic) finit şi (practic) rezonabil de mic de operaţii, la cea mai apropiată structură posibilă de forma Schur (reală). Această structură este forma superior Hessenberg 1. În continuare, structura Hessenberg este conservată de recurenţa fazei iterative a algoritmului. În acest fel, se obţine o importantă reducere a complexităţii unei iteraţii QR, fapt esenţial în economia algoritmului. 5.3.1 Reducerea la forma superior Hessenberg Posibilitatea reducerii unei matrice A R n n la forma superior Hessenberg, cu conservarea valorilor proprii, este dată de următorul rezultat. Teorema 5.10 Oricare ar fi matricea A R n n, există o matrice ortogonală Q R n n, calculabilă printr-o secvenţă finită de operaţii aritmetice, astfel încât matricea este superior Hessenberg. H = Q T AQ (5.14) Concret, reducerea la forma superior Hessenberg este bazată pe următoarea schemă de calcul HQ 1. Pentru k = 1 : n 2 1. Se calculează un reflector elementar U k+1 astfel încât (U k+1 A)(k + 2 : n, k) = 0. 2. A U k+1 A 3. A AU k+1. care suprascrie matricea A cu matricea Hessenberg rezultată A H = U n 1 U 3 U 2 AU 2 U 3 U n 1 = Q T AQ, (5.15) 1 Precizăm că matricea H R n n este în formă superior Hessenberg dacă h ij = 0, i > j + 1.

6 LABORATOR 5. CALCULUL VALORILOR PROPRII unde Q = U 2 U 3 U n 1. (5.16) Avându-se în vedere că reflectorul U k+1 are structura [ ] Ik 0 U k+1 =, 0 Ū 1 unde Ū1 este un reflector de ordin n k şi indice 1, rezultă imediat următoarele echivalenţe calculatorii: A U k+1 A A(k + 1 : n, :) Ū1A(k + 1 : n, :), A AU k+1 A(:, k + 1 : n) A(:, k + 1 : n)ū1. Prin urmare, pentru obţinerea formei superior Hessenberg este suficient să ştim să operăm numai cu reflectori de indice 1. În acest scop introducem următoarele proceduri: H (Procedură de calcul a elementelor definitorii u şi β ale unui reflector de indice 1 U 1 astfel încât (U 1 x)(2 : n) = 0 şi de calcul x U 1 x, unde x R n este un vector dat.) 1. σ = sign(x 1 ) ni=1 x 2 i 2. u 1 = x 1 + σ 3. Pentru i = 2 : n 1. u i = x i 2. x i = 0 4. β = u 1 σ 5. x 1 = σ Sintaxa de apel a procedurii H va fi [u, β, x] = H(x). Hs (Procedură de înmulţire la stânga a unei matrice A R n p cu un reflector de indice 1, U 1, dat prin elementele sale definitorii u şi β, i.e. se calculează A U 1 A.) 1. Pentru j = 1 : p 1. τ = ( n i=1 u i a ij ) /β 2. Pentru i = 1 : n 1. a ij a ij τu i Sintaxa de apel a procedurii Hs va fi A = Hs(u, β, A).

5.3. ALGORITMUL QR 7 Hd (Procedură de înmulţire la dreapta a unei matrice A R m n cu un reflector de indice 1, U 1, dat prin elementele sale definitorii u şi β, i.e. se calculează A AU 1.) 1. Pentru i ( = 1 : m nj=1 ) 1. τ = a ij u j /β 2. Pentru j = 1 : n 1. a ij a ij τu j Sintaxa de apel a procedurii Hd va fi A = Hd(A, u, β). Utilizând procedurile H, Hs şi Hd, se obţine imediat următorul algoritm. Algoritm 5.11 (HQ Reducerea la forma superior Hessenberg) (Dată o matrice A R n n, algoritmul calculează o secvenţă de reflectori U 2, U 3,, U n 1 astfel încât matricea transformată A H = U T n 1 U T 3 U T 2 AU 2U 3 U n 1 este în forma superior Hessenberg. De asemenea se calculează matricea de transformare Q = U 2 U 3 U n 1.) 1. Q = I n 2. Pentru k = 1 : n 2 1. [ u, β, A(k + 1 : n, k) ] = H(A(k + 1 : n, k)) 2. A(k + 1 : n, k + 1 : n) = Hs(u, β, A(k + 1 : n, k + 1 : n)) 3. A(1 : n, k + 1 : n) = Hd(A(1 : n, k + 1 : n), u, β) 4. Q(1 : n, k + 1 : n) = Hd(Q(1 : n, k + 1 : n), u, β). Pentru apelul algoritmului HQ va fi utilizată sintaxa generală [ Q, H ] = HQ(A), care exprimă posibilitatea de a memora rezultatele în alte tablouri decât cele iniţiale deşi calculele se fac cu suprascrierea internă a matricei iniţiale. 5.3.2 Faza iterativă a algoritmului QR Etapa iterativă a algoritmului QR utilizează, într-o manieră implicită, metodele puterii şi puterii inverse pentru reducerea unei matrice la forma Schur (reală). Precizăm că din motive de simplitate vom prezenta exclusiv algoritmul QR cu deplasare explicită cu paşi simpli care funcţionează numai pentru matrice reale cu spectru real.

8 LABORATOR 5. CALCULUL VALORILOR PROPRII Presupunem că matricea H R n n are o structură superior Hessenberg. Algoritmul QR cu deplasare explicită construieşte un şir de matrice H = H 1, H 2,, H k, H k+1, (5.17) pe baza relaţiei de recurenţă { Hk µ k I n = Q k R k H k+1 = R k Q k + µ k I n, k = 1, 2,, H 1 = H, (5.18) unde scalarul µ k, denumit deplasare, este folosit pentru asigurarea convergenţei. Valoarea optimă a deplasării este µ k = H k (n, n). În prima relaţie (5.18) matricea H k µ k I n este factorizată QR. În relaţia a doua din (5.18) matricea succesor H k+1 se obţine înmulţind matricele Q k şi R k în ordine inversă şi anulând deplasarea prin adunarea matricei µ k I n. Şirul (5.17), generat de (5.18), este denumit şirul QR. Corespunzător, tranziţia H k H k+1 se numeşte un pas sau o transformare QR. Prezentăm mai jos un algoritm QR didactic 2 cu paşi simpli cu deplasare explicită în care se realizează şi o gestionare structurală prin monitorizarea elementelor subdiagonale care devin neglijabile. Controlul elementelor subdiagonale se face în ordine inversă (ţinând seama de vitezele diferite de anulare asimptotică). În momentul în care un element subdiagonal devine neglijabil el este anulat efectiv iar în continuare transformările QR se aplică submatricei principale cu dimensiunea redusă cu o unitate. Algoritm 5.12 (QR Calculul iterativ al formei Schur reale) (Date o matrice A R n n cu spectru real şi o toleranţă tol pentru anularea elementelor subdiagonale, algoritmul calculează matricea superior Hessenberg H = Q T AQ, ortogonal asemenea cu A şi apoi suprascrie H cu matricele H k din şirul QR cu paşi simpli cu deplasare explicită. Tipărirea lui H la fiecare iteraţie permite urmărirea convergenţei şirului QR către forma Schur reală.) 1. [ Q, H ] = HQ(A) 2. iter = 0 3. k = n 4. C^at timp k > 1 1. µ = H(k, k) 2. Pentru i = 1 : k 1. H(i, i) = H(i, i) µ 3. [ Q, R ] = qr(h(1 : k, 1 : k)) 2 Algoritmul QR profesional foloseşte paşi dubli cu deplasare implicită şi toate procedurile apelate sunt optimizate atât din punctul de vedere al eficienţei cât şi cel al memoriei utilizate.

5.4. SARCINI DE LUCRU 9 Observaţii. 4. H(1 : k, 1 : k) = R Q 5. Pentru i = 1 : k 1. H(i, i) = H(i, i) + µ 6. Dacă k < n 1. H(1 : k, k + 1 : n) = Q T H(1 : k, k + 1 : n) 7. Q(:, 1 : k) = Q(:, 1 : k)q 8. iter = iter + 1 9. Tipăreşte iter şi H 10. Dacă H(k, k 1) < tol 1. H(k, k 1) = 0 2. k = k 1 1. Dacă nu aveţi timp să scrieţi o procedură eficientă de factorizare QR a unei matrice superior Hessenberg puteţi folosi funcţia qr din MATLAB pentru factorizarea QR a matricelor generale. 2. Dacă nu v-a reuşit obţinerea unui program de reducere la forma superior Hessenberg, în locul funcţiei dv. HQ puteţi utiliza funcţia hess din MATLAB. 3. La instrucţiunea 4.10, pentru neglijarea elementelor subdiagonale se preferă satisfacerea unei toleranţe relative, e.g. a unei condiţii de forma H(k, k 1) < tol ( H(k 1, k 1) + H(k, k) ). 5.4 Sarcini de lucru 5.4.1 A. In laborator 1. Se vor edita şi testa programele MATLAB pentru implementarea metodelor puterii şi puterii inverse. 2. Se va edita şi testa un program MATLAB pentru implementarea algoritmului HQ de reducere la forma superior Hessenberg a unei matrice prin transformări ortogonale de asemănare. Se va compara rezultatul obţinut cu cel oferit de funcţia MATLAB hess. 3. Se va edita şi testa un program MATLAB pentru implementarea algoritmului QR de reducere a unei matrice cu spectru real în forma superior Hessenberg la forma Schur (reală). Programul va afişa matricea curentă din şirul QR pentru a se putea urmări anularea asimptotică a elementelor subdiagonale. Pentru aceeaşi matrice se vor utiliza mai multe niveluri de toleranţă tol (e.g. 1.e 15, 1.e 10, 1.e 5) şi se vor compara numerele de iteraţii necesare pentru aducerea la forma Schur. Observaţie. Pentru crearea unei matrice dense cu spectru impus (în particular real) se poate proceda în felul următor: dacă L = { l 1, l 2,, l n } este

10 LABORATOR 5. CALCULUL VALORILOR PROPRII spectrul (real) impus atunci următorul program MATLAB crează o matrice A densă cu spectrul L: L=[l 1, l 2,, l n ]; A=diag(L); T=rand(n); A=T*A/T; Se recomandă impunerea unor valori proprii uşor de recunoscut (de exemplu, numere întregi). 5.4.2 B. Acasă 1 Se va edita şi testa un program MATLAB eficient de triangularizare ortogonală cu rotaţii a unei matrice superior Hessenberg şi un program MATLAB pentru implementarea algoritmului QR cu deplasare explicită cu paşi simpli, de reducere a unei matrice cu spectru real în forma superior Hessenberg la forma Schur (reală) fără a calcula explicit matricea Q din factorizarea QR a matricei H µi. 2 Se va edita şi testa un program MATLAB pentru implementarea algoritmului QR cu deplasare implicită cu paşi simpli, de reducere a unei matrice cu spectru real în forma superior Hessenberg la forma Schur (reală). Programul va afişa matricea curentă din şirul QR pentru a se putea urmări anularea asimptotică a elementelor subdiagonale.