Metode Numerice Curs I Introducere. Ion Necoara

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Metode Numerice Curs I Introducere. Ion Necoara"

Transcript

1 Metode Numerice Curs I Introducere Ion Necoara 2014

2 Personal Curs: Prof. dr.. Ion Necoara Laborator: drd. Andrei Patrascu Examinare 25 puncte laborator, seminar si curs 25 puncte colocviu ( saptamana 8) 50 puncte examen final

3 Bibliografie Note de curs/lab: Carte: B. Dumitrescu, C. Popeea, B. Jora, Metode de calcul numeric matricial. Algoritmi fundamentali, Editura All. Culegere: G. Stamatescu, I. Dumitru, V. Buta, Metode numerice: Culegere de probleme, MatrixRom. Alte carti: R.A. Horn, C.R. Johnson, Matrix analysis, Cambridge University Press.

4 Obiectivele cursului si subiectele atinse Obiective recunoasterea/formularea de probleme de algebra liniara adaptarea algoritmilor numerici la probleme particulare implementarea algoritmilor in cod Matlab caracterizarea limitelor de performanta a algoritmilor numerici Subiecte atinse rezolvare de sisteme liniare (patratice, supradeterminate or subdeterminate) gasirea valorilor proprii ale unei matrici patratice gasirea valorilor singulare ale unei matrici generale algorimi numerici si complexitatea lor exemple si aplicatii

5 Notatii In cadrul cursului vom utiliza urmatoarele notatii pentru vectori: R multimea numerelor reale, C multimea numerelor complexe Vectori (considerati intotdeauna vector coloana) cu litere mici, x 1 i.e. x R n, x =. x n Produs scalar in spatiul Euclidian: x,y = x T y = n i=1 x iy i Norma Euclidiana standard: x = x,x = x x2 n Norma p: x p = ( x 1 p + + x n p ) 1/p, cu p 1, x = max i=1:n x i. Pentru p [0, 1) norma x p nu defineste o norma (e.g. inegalitatea triunghiului nu mai este satisfacuta). Pentru p = 0 seminorma x 0 = nr. de elemente nenule din x se utilizeaza foarte mult in multe aplicatii (procesare de semnal, control) pentru a obtine un vector rar. e k (cu k = 1 : n) baza standard a spatiului liniar R n

6 Notatii In cadrul cursului vom utiliza urmatoarele notatii pentru matrici: Matrice cu litere mari: A,B,C,H R n m A H conjugata hermitica a matricei (complexe) A, i.e A H = Ā T A(i 1 : i 2,j 1 : j 2 ) blocul matrice A format din liniile de la i 1 la i 2 si coloanele de la j 1 la j 2. A + pseudo-inversa (Moore-Penrose) a matricei A (e.g. A + = (A T A) 1 A T daca are rangul intreg pe coloane) produsul scalar a doua matrici: A,B = tr(b T A) Norma Frobenius a unei matrici: A F = A,A = tr(a T A) = i,j a2 ij Norma spectrala a unei matrici: A = λ max (A T A) Norma p 1 indusa: A p = max x p=1 Ax p = max x 0 Ax p x p λ(a) multimea valorilor proprii ale matricei A σ(a) multimea valorilor singulare ale matricei A

7 Notatii In cadrul cursului vom utiliza urmatoarele notatii pentru matrici: Matrice simetrica: A = A T (spatiul liniar al matricilor simetrice S n R n n ) Matrice pozitiv definita A S n : A 0, si pozitiv semidefinita A 0 (i.e. x T Ax 0 x R n λ i 0 i minorii principali sunt ne-negativi) Matrice ortogonala: Q T Q = I n (coloanele formeaza perechi de vectori ortonormali, i.e. vectori de norma 1 si ortogonali doi cate doi) Matrice inferior/superior triunghiulara: O matrice L R m n s.n. inferior triunghiulara daca L(i,j) = 0 i < j x x x 0 0 L =..... x x x x

8 Notatii In cadrul cursului vom utiliza urmatoarele notatii pentru matrici: Matrice diagonala: O matrice D R mxn s.n. diagonala daca D(i,j) = 0 i j x x 0 0 D = x Matrice tridiagonala: O matrice patratica G R nxn s.n. tridiagonala daca T(i,j) = 0 i j > 1 x x x x x T = 0 x x x x x

9 Notatii In cadrul cursului vom utiliza urmatoarele notatii pentru matrici: Matrice inferior/superior Hessenberg: O matrice patratica H R nxn s.n. inferior Hessenberg daca H(i,j) = 0 j > i +1 H = x x x x x x x x x x x x x x x x x x x x x x x Matrice banda: O matrice B R mxn s.n. matrice banda de latime (p,q) daca B(i,j) = 0 i < j +p si j < i +p

10 Reprezentarea numerelor Fie β N,β 2 o baza de enumeratie C = {0,1,2,...β 1} multimea cifrelor in baza β, adica primele β numere naturale Def.: Orice numar x R poate fi scris unic sub forma unei secvente infinite: x = s a n 1 a n 2...a 0. a 1 a 2 care nu se termina printr-o secventa infinita de cifre egale cu β 1 si in care a i C, iar s este semnul (i.e. s {+, }). Valoarea lui x este x = s( n 1 i=0 a iβ i + i=1 a iβ i ) E.g.: baza 2 (β = 2) sau baza 10 (β = 10) 3.25 =

11 Reprezentarea in virgula mobila Reprezentarea numerelor in calculator se face cu un numar finit de cifre si deci este aproximativa Calitatea aproximarii se defineste prin: domeniu de reprezentare suficient de mare eroare de reprezentare suficient de mica, e.g. eroarea relativa x x x sau absoluta x x o distributie uniforma a erorii relative de reprezentare Def.: Un format virgula mobila (FVM) este definit de 3 intregi (β, t, p), cu urmatoarea semnificatie: β -baza de numeratie ( β 2 ) t nr. de cifre semnificative (lungimea mantisei) p nr. de cifre al exponentului Un numar in VM este o pereche (f,e), cu valoarea reala asociata x = f β e, unde mantisa: f = ±0.f 1 f 2 f t este numar fractionar, cu semn, normalizat f 1 0, cu t cifre f i C exponent: e = ±e 1 e 2 e p un intreg cu semn, cu p cifre e i C

12 Reprezentarea numerelor pe 32 de biti (2,24,8) numarul real este x = ±(f 1 +f 2 β 1 + +f t β (t 1) )β e cu f i C si e Z, e [E min, E max ] 1 bit pentru semnul mantisei, 23 de biti pentru mantisa (f 1 = 1 se omite) si 8 biti pentru exponent mantisa f are lungimea t = 24 biti, cu f i {0,1} si f 1 = 1 exponentul e are lungimea data de p = 8 si poate lua valori intre e [ 126, 127] unde e i {0,1}. e 1 este bitul de semn, astfel pentru e 1 = 0 semnul exponentului este pozitiv iar pentru e 1 = 1 semnul este negativ. exponentul are 8 biti, iar unul din ei se foloseste pentru determinarea semnului, restul de 7 biti codifica reprezentarea exponentului. (e.g.: pentru e = deducem ca exponentul reprezinta numarul 1 deoarece e 1 = 1 codifica semnul iar restul de numar codifica numarul 1) valoarea cea mai mica reprezentata in VM pt. 32 biti este β E min = , iar valoarea cea mai mare este

13 Reprezentarea numerelor aproximarea lui x prin fl(x) (numita rotunjire) se face astfel: trunchiere: x = ±(f1 +f 2 β 1 + +f t β (t 1) + )β e la fl(x) = ±(f 1 +f 2 β 1 + +f t β (t 1) )β e rotunjire: fl(x) cel mai apropiat numar in virgula mobila de x precizia masinii: cel mai mic ǫ cu proprietatea fl(1+ǫ) > 1. Precizia masinii este de ordinul β (t 1). Pentru t = 24 avem ǫ = (7 cifre zecimale semnificative) s e 1 e 2 e 8 f 1 f 2 f 23 Exemplu: fie e = e e e 7 2+e 8 si f = 1+f f f , atunci valoarea x este: daca 0 < e < 255 atunci x = ( 1) s f 2 e 127 daca e = 0, f i = 0 i = 1 : 23 si s = 0 atunci x = 0 daca e = 0, f i = 0 i = 1 : 23 si s = 1 atunci x = 0 daca e = 0 si exista f i 0 atunci x = ( 1) s (f 1)2 126 daca e = 255, f i = 0 i = 1 : 23 si s = 0 atunci x = daca e = 255, f i = 0 i = 1 : 23 si s = 1 atunci x = daca e = 255 si exista f i 0 atunci x = NaN

14 Aplicatii - rezolvarea de sisteme liniare (CMMP) CMMP-fitting de date: prin rezolvarea unui sistem liniar A x= b Se dau urmatoarele: functii f 1,,f n numiti regresori sau functii de baza date sau masuratori (u i,b i ) i = 1,...,m (de obicei m n) Problema: gasiti coeficientii reali x 1, x n s.t. b i = x 1 f 1 (u i )+ +x n f n (u i ) i = 1,,m Obtinem sistemul linear: Solutie: Ax = b unde A R m n, A ij = f j (u i ) A patratica si inversabila, atunci solutie unica A cu n m (subdeterminata) - o infinitate de solutii, atunci se cauta solutia de norma minima (CMMP) A cu m n (supradeterminata) - nici o solutie, atunci se cauta solutia care minimizeaza expresia patratica (CMMP) m (x 1 f 1 (u i )+ +x n f n (u i ) b i ) 2 = Ax b 2 i=1

15 Aplicatia CMMP 1 - fitting un polinom Problema: fitting un polinom de grad < n la datele (t i,b i ), i = 1,,m p(t) = x 0 +x 1 t + +x n 1 t n 1 functii de baza p j (t) = t j 1 pentru j = 1,,n matricea A cu intrarile A ij = t j 1 i (matrice Vandermonde) 1 t 1 t1 2 t n t 2 t2 2 t n 1 2 A = t m tm 2 tm n 1 Exemplu: aproximam functia f(t) = 4t 1+10t 2 cu un polinom pe intervalul [0, 1] avand la dispozitie 100 de date

16 Aplicatia CMMP 1 - fitting un polinom CMMP fit (A R 100 d ) cu polinoame de grad d = 1,2,3,4 avand eroarea Ax b = 0.135, 0.076, 0.025, Linie continua f(t), linie punctate p d (t) pe [0,1] In acest curs vom invata algoritmi numerici pentru rezolvarea acestei probleme!

17 Aplicatia CMMP 2 - identificarea sistemlor Consideram un sistem intrare-iesire: Pentru sistemul considerat dispunem de 40 de masuratori intrare-iesire {u(t), y(t)}: u(t) 1 y(t) t t

18 Aplicatia CMMP 2 - identificarea sistemlor Dorim sa aproximam sistemul printr-un model intrare-iesire de forma ARMA: y model (t) = x 1 u(t)+x 2 u(t 1)+x 3 u(t 2)+x 4 u(t 3)+x 5 u(t 4). Gasirea setului de parametrii x = [x 1 x 5 ] T ai modelului poate fi realizata prin rezolvarea unui sistem liniar (problema CMMP): Ax = b cu A R 36 5 b = [y(5) y(6) y(40)] T A = u(5) u(4) u(3) u(2) u(1) u(6) u(5) u(4) u(3) u(2) u(7) u(6) u(5) u(4) u(3)..... u(40) u(39) u(38) u(37) u(36)

19 Aplicatia CMMP 2 - Identificarea sistemelor Raspunsul modelului estimat: 8 Raspunsul estimat si raspunsul real y model (t) y(t)

20 Aplicatia CMMP 3 - problema Netflix sistem de recomandare pentru filme: predictie cu acuratete cat mai mare a cat de mult iti va placea un film bazat pe preferintele tale concursul privind imbunatatirea algoritmului de recomandare Netflix a pornit in In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in 2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire

21 Aplicatia CMMP 3 - problema Netflix datele de antrenare pentru algoritmul de recomandare: 100 milioane ratings; utilizatori; filme; date stranse in 6 ani ( )

22 Aplicatia CMMP 3 - problema Netflix Principalele obstacole: dimensiunea datelor foarte mare: este nevoie de algoritmi eficienti din punct de vedere al calculelor si al memoriei datele de test si cele de antrenare sunt diferite: e.g. datele de test ratings sunt mai recente 99% date lipsesc, deci metodele standard nu se aplica multi factori afecteaza rating-ul unui film: actorii, regizorul, stilul actiunii, muzica, genul Matematica aplicata ajuta: Metodele Numerice si Optimizarea! utilizator Y caracterizeaza filmele prin atribute: violenta (x 1 = 1.5); umor (x 2 = 3.5); acest actor sau regizor (x 3 = 0.5), etc... factorizarea de matrici este principala abordare combinata cu metoda gradient din optimizare

23 Aplicatia CMMP 3 - problema Netflix Estimarea ratingurilor necunoscute folosind factorizarea matricilor! Aproximarea cu produs de matrici de rang 3: dar algebra standard se aplica numai matricilor cu toate intrarile cunoscute netezirea datelor este necesara via optimizare pentru a evita overfitting

24 Aplicatie CMMP 4 - reconstructie tomografica Tomografie computerizata = tehnica noninvaziva ce foloseste raze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3D ale interiorului obiectului scanat. Procedura de functionare consta in: 1. Se achizitioneaza o serie de proiectii, din diferite unghiuri, ale obiectului scanat; 2. Prin intermediul proiectiilor obtinute, se reconstruieste interiorul obiectului cu ajutorul unui algoritm iterativ; In majoritatea cazurilor, radiatiile folosite sunt daunatoare; de aceea se urmareste achizitionarea unui numar minim de proiectii.

25 Aplicatie CMMP 4 - reconstructie tomografica Formularea problemei: Fie x R n imaginea interiorului de reconstruit. Pentru reconstructie, dispunem de diferite masuratori liniare (proiectii) ale imaginii x: b i = A i x, i = 1,,m. Notam vectorul proiectiilor b R m si A = [A T 1 AT m ]T R m n matricea de achizitie. Imaginea interiorului reprezinta solutia sistemului liniar (subdeterminat deoarece sunt mai putine masuratori m decat dimensiunea imaginii n): Ax = b. Reformulare in termeni de problema CMMP: min x R n : Ax=b x α unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegem α = 0 1 pentru a induce o reprezentare rara a imaginii (vectorul solutie). Se doreste o reprezentare rara a imaginii deoarece aceasta permite: compresie usoara; algoritmi rapizi pt. procesare; memorie de stocare mica; eliminarea usoara a zgomotului;...

26 Aplicatii - valorile proprii ale unei matrici Av = λv λ R, v R n, v 0 Rezolvarea ecuatiei diferentiale cu ajutorul valorilor proprii: n d i y a i dt = 0 i=0 facem schimbare de variabila di y dt = y i, i.e. y = y0 dy0 dt = y 1 dy1 dt = y 2 dyn 2 dt = y n 1 dy n 1 an dt = a n 1 y n 1 a n 2 y n 2 a 0 y 0 din ecuatiile de mai sus formam sistemul y = Ay unde A = a 0 a n a 1 a n a 2 a n a n 2 a n a n 1 a n

27 Aplicatii - valorile proprii ale unei matrici rezolvarea ecuatiei diferentiale cu ajutorul valorilor proprii: n d i y a i dt = 0 i=0 echivalent cu sistemul y = Ay, A matrice particulara vom invata ca o matrice se descompune dupa valorile proprii: A = VΛV 1, unde Λ matrice diagonala data de valorile proprii λ i si V matrice avand coloanele vectorii proprii facem schimbarea de variabila: y = Vu. Vu = AVu u = V 1 AVu u = Λu u i = λ i u i u i (t) = exp λ it u i (0) u(t) = exp Λt u(0) V 1 y(t) = exp Λt V 1 y(0) y(t) = V exp Λt V 1 y(0)

28 Aplicatia 1 - valorile proprii ale unei matrici Pendule cuplate: dynamica data de ecuatia diferentiala: d2 y dt = Ay ( ) 2 1 matricea de elasticitate: A = si y = [θ θ 2 ] T cautam solutii de forma: y(t) = cexp λt, cu c R 2 dupa substituire in ecuatia diferentiala obtinem: (A λ 2 I 2 )c = 0 solutia gasirea valorilor si vectorilor proprii matricei A

29 Aplicatia 2 - valorile proprii ale unei matrici Vehicule cuplate: dynamica data de ecuatia diferentiala: d2 y dt = Ay matricea de elasticitate: A = si y = [y 1 y 2 y 3 ] T cautam solutii de forma: y(t) = cexp λt, cu c R 3 dupa substituire in ecuatia diferentiala obtinem: (A λ 2 I 2 )c = 0 solutia gasirea valorilor si vectorilor proprii matricei A

30 Aplicatia 3 - valorile proprii ale unei matrici Stabilitatea sistemelor dinamice: dinamica continua in spatiul starilor: x = Ax sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in partea stanga a planului complex dinamica discreta in spatiul starilor: x t+1 = Ax t sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in discul unitate

31 Aplicatii - descompunerea valorilor singulare Descompunerea valorilor singulare ale unei matrici - (DVS): A=UΣV T Σ diagonala, intrari valorile singulare σ i ; U,V ortogonale Pseudo-inversa unei matrici oarecare: pseudo-inversa: A = VΣ 1 U T e.g. rang intreg pe linii: A = (A T A) 1 A T solutia CMMP via A : x cmmp = A b Imaginea discului unitate prin transformarea liniara {Ax : x 1} este elipsoidul cu axele principale σ i u i : rotatie (prin V T ) alungire dea lungul axelor (prin σ i ) rotatie (prin U)

32 Aplicatia DVS 1 - descompunerea valorilor singulare Aproximarea unei matrici cu matrice de rang mai mic: fie A R m n cu rang(a) = r si A = UΣV T = r i=1 σ iu i vi T cautam matricea  avand rangul p < r a.i.  A, i.e. A  minim solutie:  = p i=1 σ iu i vi T, deci A  = r i=p+1 σ iu i v T interpretare: componentele principale de rang 1, u i vi T, sunt ordonate in functie de importanta lor data de σ i multe aplicatii: procesarea de imagine, simplificare model,... Dem: fie rang(b) p, deci dim Null(B) n p. Apoi: dim Span {v 1,,v p+1 } = p +1. Cele 2 spatii se intersecteaza: z : z = 1, Bz = 0, z Span{v 1,,v p+1 } p+1 (A B)z = Az = i=1 p+1 (A B)z 2 = i=1 Deci A B = max x 1 (A B)x x σ i u i v T i z (z v p+2...) σ 2 i (v T i z) 2 σ 2 p+1 z 2 (A B)z z i σ p+1 = A Â

33 Aplicatia DVS 2 - descompunerea valorilor singulare Simplificare model: fie modelul y = Ax +ǫ A R are VS σ i : 10, 7, 2, 0.5, 0.01,, x 1 si zgomotul ǫ are norma mai mica decat 0.1 atunci termenii σ i u i vi T x sunt mai mici decat ǫ pentru i 5 modelul simplificat: y = 4 i=1 σ iu i vi T x +v (i.e. descris de o matrice de rang 4, nu rang 30!) Alta interpretare pentru σ i : σ i = min A B B:rang(B) i 1 i.e. σ i reprezinta distanta (in norma matriceala) la cea mai apropriata matrice de rang i 1 Exemplu: pentru A R n n, σ n reprezinta distanta la cea mai apropiata matrice singulara (deci σ n mica inseamna ca A este foarte apropiata de o matrice singulara).

34 Aplicatia DVS 3: matrix completion se da o matrice X cu elemente lipsa (e.g. o imagine) se presupune ca matricea X este de rang scazut scopul este sa se gaseasca elementele lipsa din X pentru a impune rang mic asupra unei matrici se foloseste nuclear norm : daca A are descompunerea DVS A = r i=1 σ iu i vi T, atunci A = r i=1 σ i problema se pune astfel: min X R = m nrang(x) }{{} relaxare convexa min X R m n X s.l.: X ij = A ij i,j S s.l.: X ij = A ij i,j S unde se dau valorile A ij cu (i,j) S o submultime a elementelor matricei cautate relaxarea convexa se poate scrie ca un SDP: min tr(w 1 )+tr(w 2 ) X,W 1,W 2 s.l.: X ij = A ij i,j S, [ ] W1 X X T 0 W 2

35 Aplicatia DVS 3: matrix completion cu aplicare in recuperarea de imagine imaginea data (40% elemente lipsa) si imaginea recuperata

36 Complexitatea algoritmilor Pentru a rezolva o problema de calcul numeric, un calculator executa o secventa (finita) de operatii, denumita algoritm Complexitatea algoritmului caracterizata de: numarul de operatii (flops) de executat memoria ocupata de datele problemei Numarul de operatii este o functie de dimens. probl. N op (n) algorithm de tip P (complexitate polinomiala, e.g. N op (n) = O(n k )) E.g.: cautarea ordonata (binara) (cautarea unui numar de telefon in cartea de telefoane cand se cunoaste numele persoanei) O(logn), inmultirea a doua matrici O(n 3 ) algorithm de tip NP (complexitate non-polinomiala, e.g. N op (n) = O(exp n )) E.g. cautarea neordonata (cautarea unui numar de telefon in cartea de telefoane cand se cunoaste numarul de telefon) E.g.: factorizarea unui numar intreg in produs de numere prime (aplicatie in codificare) - complexitate O(exp (nlog2)1/3 ), quantum algoritm (Shor) are complexitate polinomiala

37 Metode Numerice Curs II Algoritmi elementari Ion Necoara 2014

38 Spatiul vectorial R n R multimea numerelor reale, C multimea numerelor complexe Vectori (considerati intotdeauana vector coloana) cu litere x 1 mici, i.e. x R n, x =. x n Produs scalar in spatiul Euclidian: x,y = x T y = n i=1 x iy i norma este o functie ce satisface urmatoarele conditii: x 0; αx = α x α R,x R n ; x +y x + y Norma Euclidiana standard: x = x,x = x x2 n Norma p: x p = ( x 1 p + + x n p ) 1/p p 1, x = max i=1:n x i (Observatie: p [0, 1) nu defineste o norma, e.g. x 0 = nr. de elemente nenule din x) orice doua norme p sunt echivalente: e.g. x x 1 n x sau x x 1 n x

39 Spatiul vectorial R n unghiul a doi vectori nenuli se defineste prin θ = arccos x,y x y doi vectori sunt ortogonali daca unghiul corerspunzator este π/2 (i.e. produsul lor scalar este 0) teorema lui Pitagora: doi vectori sunt ortogonali iff x +y 2 = x 2 + y 2 combinatia liniara a vectorilor {u 1,,u p } cu coeficientii α 1,,α p este vectorul: α 1 u 1 + +α p u p vectorii {u 1,,u p } sunt ortonormali iff u i,u j = δ ij (i.e. vectorii sunt de norma 1 si ortogonali doi cate doi) vectorii {u 1,,u p } sunt linear independenti daca nu exista o combinatie liniara netriviala a elementelor lui X care sa fie nula. Vectorii sunt liniar dependenti daca cel putin unul dintre ei se poate exprima printr-o combinatie liniara a celorlalti multimea de vectori B este baza a subspatiului S daca: (i) vectorii lui B sunt liniar independenti; (ii) S generat de B e k (cu k = 1 : n) baza standard a spatiului liniar R n

40 Spatiul vectorial R n dimensiunea subspatiului S este numarul vectorilor din baza doua subspatii S,T sunt complementare daca: (i) S T = 0; (ii) R n = Span(S T ) dims +dimt = n e.g. in R 3, un plan (S) si o dreapta (T ) ce se intersecteaza in origine formeaza doua subspatii complementare un subspatiu S este complementul ortogonal al subspatiului T daca: (i) sunt complementare; (ii) sunt ortogonale S T Algoritm pentru calculul normei p = : 1. norm = 0 2. pentru i = 1 : n daca x i > norm atunci norm = x i Algoritm pentru calculul normei p = 2: 1. norm = 0 2. pentru i = 1 : n avem norm = norm +x 2 i 3. norm = norm

41 Matrice in R m n Matrice cu litere mari: A,B,C,H R m n (A T ) T = A, (A+B) T = A T +B T, (AB) T = B T A T A H conjugata hermitica a matricei (complexe) A, i.e A H = ĀT A(i 1 : i 2,j 1 : j 2 ) blocul matrice A format din liniile de la i 1 la i 2 si coloanele de la j 1 la j 2. A + pseudo-inversa (Moore-Penrose) a matricei A (e.g. A + = (A T A) 1 A T daca are rangul intreg pe coloane) produsul scalar a doua matrici: A,B = tr(b T A) Norma Frobenius a unei matrici: A F = A,A = tr(a T A) = i,j a2 ij Norma spectrala a unei matrici: A = λ max (A T A) Norma p 1 indusa: A p = max x p=1 Ax p = max x 0 Ax p x p λ(a) multimea valorilor proprii ale matricei A σ(a) multimea valorilor singulare ale matricei A

42 Matrice in R m n imaginea unei matrici A (subspatiul generat de coloane): Im A = {y R m : x R n a.i. y = Ax} nucleul unei matrici: Ker A = {x R x : Ax = 0} Proprietati: Im A si Ker A T sunt subspatii ortogonale si complementare: (i) Im A Ker A T ; (ii) R m = Span(Im A Ker A T ) rangul matricei A = dimensiunea subspatiului Im A (i.e. nr. maxim de coloane liniar independente din A) Avem rang A = rang A T (i.e. nr maxim de linii liniar independente din A) Concluzionam: (i) dimim A = dimim A T = rang A = r; (ii) dimker A = n r; (iii) dimker A T = m r matrice monica: coloanele liniar independente (i.e. Ker A = 0) matrice epica: liniile liniar independente (i.e. Im A = R m )

43 Matrice in R m n Exemplu: fie matricea A = Atunci imaginea lui A este data de subspatiul: Im A = {y R 3 : y = [x 1 x 2 x 1 +x 2 ] T, x 1,x 2 R} i.e. planul ecuatiei y 3 = y 1 +y 2 dim = 2 Kernel lui A T este subspatiul: Ker A T = {y R 3 : y 2 +y 3 = 0, y 1 +y 3 = 0} i.e. generat de vectorul [1 1 1] T dim = 1

44 Matrice in R m n Matrice simetrica: A = A T (spatiul liniar al matricilor simetrice S n R n n ) Matrice pozitiv definita A S n : A 0, si pozitiv semidefinita A 0 (i.e. x T Ax 0 x R n λ i 0 i minorii principali sunt ne-negativi) Matrice ortogonala: Q T Q = I n (coloanele formeaza perechi de vectori ortonormali, i.e. vectori de norma 1 si ortogonali doi cate doi) Matrice inferior/superior triunghiulara: O matrice L R m n s.n. inferior triunghiulara daca L(i,j) = 0 i < j x x x 0 0 L =..... x x x x

45 Matrice in R m n Daca D matrice diagonala si A matrice cu structura, atunci DA si AD au aceeasi structura cu A Produsul a doua matrici inferior triunghiulare este matrice inferior triunghiulara Daca L matrice inferior triunghiulara si H inferior Hessenberg atunci produsul LH si HL este matrice inferior Hessenberg Orice submatrice principala a unei matrice pozitiv definite este pozitiv definita Daca U si V sunt ortogonale atunci produsul lor UV este tot o matrice ortogonala si in plus: U 2 = 1, Ux 2 = x 2, UAV 2 = A 2 si UAV F = A F A Memorarea matricelor structurate: (i) O matrice triunghiulara sau simetrica se memoreaza intr-un vector de lungime n(n+1)/2 (ii) o matrice tridiagonala se memoreaza in 3 vectori

46 Matrice in R m n Alte tipuri de matrici: A R n n matrice normala daca: A T A = AA T (e.g. matrice simetrice A = A T, antisimetrica A = A T sau ortogonala A T A = I n ) Fie P R n n si S un subspatiu, atunci P este proiector pe S daca: (i) P 2 = P; (ii) S = Im P Interpretare: orice x R n satisface Px Im P = S. Mai mult P(Px) = Px deci aplicarea proiectorului nu modifica proiectia. Analog, Q = I n P este proiector pentru T = Im Q Daca in plus P = P T (simetrica), atunci P este proiector ortogonal deoarece Px (x Px), i.e. x se descompune ca suma a doi vectori ortogonali Demonstratie: P(x Px) = 0, deci x Px Ker P = KerP T ImP, i.e. Px (x Px). Exemplu: daca B R n r are coloane ortonormale (B T B = I r ), atunci P = BB T este proiectie ortogonala pe subspatiul Im B avand ca baza ortonormala coloanele lui B.

47 Inmultirea matricilor Algoritm pt produsul C = AB, unde A R m l si B R l n C = 0 pentru j = 1 : n pentru i = 1 : m pentru k = 1 : l C ij = C ij +A ik B kj Inmultirea de matrici necesita 2mnl flopi, deci 2n 3 complexitate aritmetica pentru matrici patratice! Observatie: Algoritmul Strassen (1969) are complexitate mai mica O(n log 2 7 ) O(n 2.8 ) si se bazeaza pe inmultirea recursiva la nivel de blocuri

48 Inmultirea matricilor Consideram impartirea pe blocuri: [ ] [ ] [ ] A11 A A = 12 B11 B, B = 12 C11 C, A = 12 A 21 A 22 B 21 B 22 C 21 C 22 Algoritmul Strassen este definit de urmatoarele formule: [ ] M1 +M C = AB = 2 +M 3 M 4 M 4 +M 6 M 3 +M 5 M 1 M 5 +M 6 +M 7 unde am definit blocurile: M 1 = (A 11 +A 22 )(B 11 +B 22 ) M 5 = (A 21 +A 22 )B 11 M 2 = (A 12 A 22 )(B 21 +B 22 ) M 6 = A 11 (B 12 B 22 ) M 3 = A 22 (B 21 B 11 ) M 7 = (A 21 A 11 )(B 11 +B 12 ) M 4 = (A 11 +A 12 )B 22

49 Inmultirea matricilor Se observa ca pentru calculul matricei C sunt necesare 7 inmultiri si 18 adunari de matrice de dimensiuni n/2 n/2, in timp ce algoritmul standard la nivel de bloc pentru aceeasi partitie, 8 inmultiri si 4 adunari de blocuri. Astfel, nr. de operatii pt. alg. Strassen este N 1 (n) = 14n n2 4. Evident, pentru n suficient de mare (n > 18), N 1 (n) < 2n 3, deci alg. Strassen este mai rapid decat cel standard. Numar de operatii mai bun se obtine daca, pt. calculul celor 7 produse de matrice n/2 n/2 se utilizeaza, recursiv, aceleasi formule ale lui Strassen. Obtinem complexitate O(n 2.8 )

50 Sisteme liniare de ecuatii Un sistem de ecuatii liniare: a 11 x 1 +a 12 x 2 + +a 1n x n = b 1 a 21 x 1 +a 22 x 2 + +a 2n x n = b 2 a m1 x 1 +a m2 x 2 + +a mn x n = b m poate fi reprezentat compact in forma matriceala Ax = b, unde A R m n si b R m. daca m = n sistem determinat daca m < n sistem subdeterminat daca m > n sistem supradeterminat

51 Sisteme liniare de ecuatii - retea electrica Sistemele de ecuatii liniare apar in foarte multe aplicatii din inginerie, fizica, biologie, etc... Exemplu 1 - retea electrica: determinarea cantitatii de curent de pe fiecare ramura a retelei. Legea I a lui Kirchof: in fiecare nod curentii care intra sunt egali cu cei care ies din nodul respectiv: i 1 = i 2 +i 3 si i 2 +i 3 = i 1.

52 Sisteme liniare de ecuatii - retea electrica Legea II a lui Kirchof: suma tensiunilor intr-o bucla este zero loop de sus : 9 i 2 4i 1 = 0 loop de jos : 4 2i 3 +i 2 3i 3 = 0 loop mare : 4 2i 3 4i i 3 = 0 Observam ca a 3-a ecuatie este suma primelor doua!

53 Sisteme liniare de ecuatii - retea electrica Obtinem sistemul: i 1 i 2 i 3 = 0 4i 1 +i 2 = 9 i 2 +5i 3 = 4

54 Sisteme de ecuatii - analiza fortelor in sistem de grinzi Exemplu 2 - sistem de grinzi (stress analysis of a truss, e.g un pod rutier): presupunem capetele sunt fixe si se doreste determinarea fortelor ce actioneaza pe fiecare grinda din sistem Fie f k magnitudinea fortei pe grinda k. Consideram f k > 0 daca grinda este sub tensiune si f k < 0 daca grinda este sub comprimare.

55 Sisteme de ecuatii - analiza fortelor in sistem de grinzi echilibru static in punctul A proiectie orizontala : 1 2 f 1 +f f 5 = 0 proiectie verticala : 1 2 f 1 f f 5 = 0 echilibru static in punctul B proiectie orizontala : f 4 +f 8 = 0 proiectie verticala : f 7 = 0 echilibru static in punctul C proiectie orizontala : f f f 12 = 0 proiectie verticala : 1 2 f 9 f f 12 = 0

56 Sisteme de ecuatii - analiza fortelor in sistem de grinzi echilibru static in punctul D proiectie orizontala : f 2 +f 6 = 0 proiectie verticala : f 3 10 = 0 echilibru static in punctul E proiectie orizontala : 1 2 f 5 f f 9 +f 10 = 0 proiectie verticala : 1 f 5 +f f 9 15 = echilibru static in punctul F proiectie orizontala : f 10 +f 13 = 0 proiectie verticala : f = 0

57 Sisteme de ecuatii - analiza fortelor in sistem de grinzi Obtinem sistemul subdeterminat Ax = b, unde A R : 1 2 f 1 +f f 5 = f 1 f f 5 = 0 f 4 +f 8 = 0 f 7 = 0 f f f 12 = f 9 f f 12 = 0 f 2 +f 6 = 0 f 3 = f 5 f f 9 +f 10 = f 5 +f f 9 = 15 f 10 +f 13 = 0 f 11 = 20

58 Sisteme liniare de ecuatii Solutiile unui sistem de ecuatii liniare: (i) sistemul Ax = b are solutie iff b Im A or echivalent daca rang A = rang[a b] (ii) daca x 0 este o solutie particulara atunci multimea tuturor solutiilor este x 0 +Ker A (iii) solutia este unica iff Ker A = 0 (i.e. A are coloanele independente) (iv) daca m = n atunci sistemul are solutia x = A 1 b iff A inversabila Im A = R m Ker A = 0

59 Sisteme liniare de ecuatii Exemplu 1: daca Im A = R m (i.e. liniile independente), atunci sistemul are solutie pentru orice b. ) ) Exemplu 2: A = si b =. Atunci x 0 = ( este solutie particulara. Pe de alta parte ( 2 1 Ker A = {x R 3 : x 1 +x 2 = 0, x 2 +x 3 = 0} = Span Deci o solutie generala este de forma 1+α 1 α α

60 Rezolvarea sistemelor triunghiulare Consideram sistemul inferior triunghiular: Lx = b unde L ij = 0 i < j prima ecuatie: x 1 = b 1 /L 11 se cunosc x 1,x 2,,x i 1 si se rezolva a i-a ecuatie: i 1 i 1 L ij x j +L ii x i = b i x i = b i L ij x j j=1 Algoritm (LTRIS): x = b pentru i = 1 : n pentru j = 1 : i 1 x i = x i L ij x j x i = x i /L ii j=1 / Lii

61 Rezolvarea sistemelor triunghiulare Consideram sistemul inferior triunghiular: Lx = b Algoritm (LTRIS): apelare x = LTRIS(L, b) x = b pentru i = 1 : n pentru j = 1 : i 1 x i = x i L ij x j x i = x i /L ii Complexitate: - fiecare executia a buclei i necesita 2(i 1)+1 flopi - in total n i=1 (2i 1) = n2 flopi!

62 Rezolvarea sistemelor triunghiulare Consideram sistemul superior triunghiular: Ux = b unde U ij = 0 i > j prima ecuatie: x n = b n /U nn se cunosc x n,,x i+1 si se rezolva a i-a ecuatie: n n U ij x j +U ii x i = b i x i = b i U ij x j j=i+1 Algoritm (UTRIS): apelare x = UTRIS(U, b) x = b pentru i = n : 1 : 1 pentru j = i +1 : n x i = x i U ij x j x i = x i /U ii j=i+1 / Uii

63 Inversarea matricelor triunghiulare Fie o matrice inferior triunghiulara L inversabila: atunci L 1 = X LX = I n Partitionam inversa X pe coloane, i.e. X = [x 1 x n ], cu x j = Xe j. rezolvam n sisteme inferior triunghiulare: Lx j = e j luam in calcul structura acestui sistem Lx j = e j : ( L j 11 0 L j 21 L j 22 )( x j x j ) = ( 0 e j ) Obtinem: unde L j 11 R(j 1) (j 1), etc... L j 11 x j = 0 x j = 0 L j 21 x j +Lj 22 x j = e j L j 22 x j = e j (LTRIS dimensiune n j +1)

64 Inversarea matricelor triunghiulare L j 11 x j = 0 x j = 0 L j 21 x j +Lj 22 x j = e j L j 22 x j = e j (LTRIS dimensiune n j +1) Concluzionam: inversa unei matrici inferior triunghiulare este tot inferior triunghiulara! Algoritm (LINV) pentru calcularea inversei: pentru j = 1 : n x jj = 1/L jj pentru i = j +1 : n i 1 x ij = L ik x kj /L ii k=j Numarul total de operatii este O(n 3 /3)! In mod similar putem calcula inversa unei matrici superior triunghiulare: algoritm (UINV)!

65 Inversarea matricelor triunghiulare In concluzie pentru a rezolva sistemul inferior triunghiular Lx = b avem doua posibilitati: utilizam LTRIS pentru gasirea solutiei x cu complexitate n 2 inversam matricea L cu complexitate n 3 /3 si aploi aflam solutia x = L 1 b Deci pentru a gasi solutia unui sistem Lx = b este intodeauna mai ieftin sa utilizam LTRIS decat sa inversam matricea! In Matlab utilizam comanda x = b/l in loc de x =inv(l) b.

66 Valori si vectori proprii Definitie: λ C valoare proprie a matricei A R n n daca exista v R n, v 0 a.i. Av = λv. Observatie 1: A are exact n valori proprii care coincid cu zerourile polinomului caracteristic p(λ) = det(a λi n ). Observatie 2: daca A are valori proprii distincte, atunci exista un set de vectori proprii V = [v 1 v n ] liniar independenti si avem V 1 AV = diag(λ i ) Demonstratie: AV = [Av 1 Av n ] = [λ 1 v 1 λ n v n ] = [v 1 v n ]diag(λ i ) si V este inversabila (vectori proprii liniar independenti) daca U matrice superior triunghiulara atunci valorile proprii ale lui U se calculeaza usor: λ i = U ii

67 Vectori proprii pentru matrici triunghiulare Cazul I: valorile proprii sunt distincte doua cate doua: T = λ j I n U a.i. Tv j = 0 ce se partitioneaza astfel T 11 y T w T 0 0 T 33 v j v jj v j = 0 Din ultima ecuatie T 33 v j = 0 obtinem v j = 0. Ecuatia 2 este mereu satisfacuta: w T v j = 0, si deci putem alege v jj = 1. Din prima ecuatie avem T 11 v j = y care se rezolva cu UTRIS si obtinem unic v j deoarece T 11 este inversabila (U avand valori proprii distincte) Observatie: Vectorii proprii astfel calculati sunt linear independenti deoarece V = [v 1 v n ] este matrice superior triunghiulara cu elemente 1 pe diagonala (vezi alegerea v jj = 1)

68 Vectori proprii pentru matrici triunghiulare Cazul II: valorile proprii nu sunt distincte doua cate doua. In acest caz T 11 poate fi singulara. Se pune problema daca sistemul T 11 v j = y are solutie. Presupunem v jj = 1 si ca am calculat valorile v j (j 1),,v j (i +1) si scriem ecuatia i a acestui sistem: T 11 (ii)v j (i) = β ij = T 11 (ij) j 1 k=i+1 T 11 (ik)v j (k) (i) Daca T 11 (ii) 0 atunci v j (i) = β ij/t 11 (ii) (ii) Daca T 11 (ii) = 0 atunci fie β ij = 0 si putem alege v j (i) = 1; fie β ij 0 si atunci sistemul nu are solutie (i.e. nu se pot calcula n vectori proprii liniar independenti) Numarul total de operatii este O(n 3 /3)!

69 Vectori proprii pentru matrici triunghiulare Algoritm TRV - calculul vectorilor proprii unei matrice sup. tr. (Se da U R n n sup. tr. si calculeaza vectorii proprii lui U in matr. V; coloanele nule din V sunt cazuri de defectivitate): 1. Pentru j = 1 : n 1. v jj = 1 2. Pentru i = j 1 : 1 : 1 1. β u ij + j 1 k=i+1 u ik v kj 2. Daca u ii u jj atunci v ij β/(u jj u ii ) altfel daca β = 0 atunciv ij = 1 altfel v kj = 0 k = i +1 : j treci la urmatorul j Numarul total de operatii este O(n 3 /3)!

70 Metode Numerice Curs III Rezolvarea sistemelor de ecuatii liniare Ion Necoara 2014

71 Sisteme liniare de ecuatii Un sistem determinat de ecuatii liniare: a 11 x 1 +a 12 x 2 + +a 1n x n = b 1 a 21 x 1 +a 22 x 2 + +a 2n x n = b 2 a n1 x 1 +a n2 x 2 + +a nn x n = b n poate fi reprezentat compact in forma matriceala Ax = b, unde A R n n este matrice inversabila si b R n un vector dat. Prezentam principalele metode de rezolvare a sistemelor liniare; Analizam implementari eficiente ale metodelor prezentate pentru diferite cazuri particulare;

72 Care este probabilitatea castigatoare p i ca soarecele sa ajunga la coridorul cu hrana pornind din intersectie i? Aplicatie -soarecele si labirintul O aplicatie din probabilitate: consideram un labirint si un soarece intr-un experiment de laborator: experimentul consta in plasarea unui soarece la una din cele 10 intersectii ale labirintului daca soarecele ajunge intr-un coridor exterior atunci el nu se poate intoarce inapoi in labirint cand soarecele este intr-o intersectie, alege aleator un drum

73 Aplicatie -soarecele si labirintul De exemplu, in prima intersectie, soarecele are probabilitatea: 1 4 de a alege sus-dreapta si a pierde 1 4 de a alege sus-stanga si a pierde 1 4 de a alege jos-dreapta si astfel a ajunge la un punct cu probabilitate de castigare p de a alege jos-stanga si astfel a ajunge la un punct cu probabilitate de castigare p 2. In mod similar obtinem: p 1 = 1 4 (0)+ 1 4 (0)+ 1 4 (p 2)+ 1 4 (p 3) p 2 = 1 5 (0)+ 1 5 (p 1)+ 1 5 (p 3)+ 1 5 (p 4)+ 1 5 (p 5) p 10 = 1 4 (0)+ 1 4 (1)+ 1 4 (p 6)+ 1 4 (p 9) Obtinem sistemul patratic Ap = b, cu matricea A R foarte rara, p = [p 1 p 10 ] T si b = [ ].

74 Metode de rezolvare a sistemelor liniare Clasificare a metodelor de rezolvare a sistemelor liniare Metode directe - bazate pe reducerea sistemului liniar (printr-o secventa finita de transformari elementare) la unul sau doua sisteme triunghiulare, care se rezolva utilizand proceduri de substitutie (alg. LTRIS si UTRIS). Exemple: metodele de eliminare gaussiana; factorizare compacta LU; Sunt recomandate pentru sisteme de dim. medii n < 500. Metode iterative - bazate pe construirea recursiva a unui sir de vectori care converge catre solutia sistemului liniar. Exemple: algoritmul Jacobi; algoritmul Gauss-Seidel; Sunt recomandate pentru sisteme de dimensiuni foarte mari.

75 Transformari elementare Definitie. O matrice inferior triunghiulara elementara (ITE) de ordin n si indice k este o matrice de forma M k = I n m k e T k, unde m k = [0 0 0 µ k+1,k µ nk ] T este un vector cu primele componente nule, iar e k este vectorul unitate de indice k M k = µ k+1,k µ nk 1 Matricea M k nu se memoreaza integral, ci doar prin vectorul m k!

76 Transformari elementare - proprietati a) O matrice ITE este inversabila si M 1 k = I n +m k ek T; b) Fie x R n un vector dat, iar M k o matrice ITE. Atunci vectorul transformat y = M k x are elementele { x i, pentru i = 1 : k, (M k x) i = x i µ ik x k, pentru i = k +1 : n. (1) c) Fie x R n. Daca x k 0, atunci exista o matrice ITE M k astfel incat vectorul transformat y = M k x are ultimele n k componente nule, mai precis { x i, pentru i = 1 : k, (M k x) i = 0, pentru i = k +1 : n. Daca x k = 0, atunci pentru orice M k avem M k x = x. Observatie: alegeti in (1) multiplicatorii µ ik = x i x k.

77 Transformari elementare - exemplu 2 Fie vectorul x = 2 1. O matrice ITE de indice 1 are forma M 1 = I 4 m 1 e1 T = µ µ , unde m 1 = µ 21 µ 31. µ µ 41 Alegand µ i1 = x i /x 1, pt. i = 2,3,4 atunci avem M 1 = I 4 m 1 e1 T = / Vectorul transformat (vezi 1/ proprietatea c) din slide-ul precedent) y = M 1 x este

78 Matrice de permutare Definitie. O matrice P ij R n n obtinuta din matrice unitate I n prin interschimbarea a doua coloane (sau linii) i si j, adica o matrice de forma (aici i < j): P ij = [e 1 e i 1 e j e i+1 e j 1 e i e j+1... e n ] I i = I j i I n j in care toate elementele nefigurate sunt nule, se numeste (matrice de) permutare elementara (PE).

79 Matrice de permutare - Proprietati a) O PE este ortogonala si simetrica, deci P 1 ij = P ij, iar detp ij = 1. b) Premultiplicarea unei matrice A cu PE P ij interschimba linia i cu linia j din A, adica: e ek T k T A, pentru k i,j, (P ija) = ej T A, pentru k = i, ei T A, pentru k = j. c) Postmultiplicarea unei matrice A cu PE P ij interschimba coloana i cu coloana j din A, adica: Ae k, pentru k i,j, (AP ij )e k = Ae j, pentru k = i, Ae i, pentru k = j.

80 Matrice de permutare - exemplu Fie matricea P 23 = si A = Premultiplicand pe A obtinem P 23 A = Postmultiplicand pe A obtinem AP 23 =

81 Triangularizare prin eliminare gaussiana Fie A R n n o matrice nu neaparat inversabila. Eliminarea gaussiana = metoda de reducere a matricei A la forma superior triunghiulara prin aplicarea la stanga lui A a unei secvente de matrice ITE, fiecare aleasa astfel incat sa anuleze elementele subdiagonale in coloana corespunzatoare a k a matricei A. Propozitie. Fie A R n n. a) Daca L R n n este inferior triunghiulara, atunci (LA) [k] = L [k] A [k]. b) Daca L i R n n,i = 1 : p, sunt matrice inferior triunghiulare, atunci (L 1 L 2 L p A) [k] = L [k] 1 L[k] 2 L[k] p A [k].

82 Rezolvarea sistemelor liniare - exemplu x 1 +x 2 +x 3 = 1 Rezolvati sistemul 2x 1 +3x 2 +4x 3 = 2 utilizand eliminare 4x 1 +2x 2 +3x 3 = 3 gaussiana. Substituind pe x 1 din prima ecuatie in celelalte doua, avem x 1 +x 2 +x 3 = 1 x 2 +2x 3 = 0 2x 2 x 3 = 1. Din nou, substituind pe x 2 din a doua ecuatie in a treia, avem x 1 +x 2 +x 3 = 1 x 2 +2x 3 = 0 3x 3 = 1. Solutia: x 1 = 2/3,x 2 = 2/3,x 3 = 1/3.

83 Triangularizare prin eliminare gaussiana Teorema. Daca matricea A R n n satisface conditia: submatricele lider principale A [k],k = 1 : n 1, sunt nesingulare, atunci exista o matrice inferior triunghiulara unitate M a.i. matricea MA = U este superior triunghiulara. Daca A este nesingulara, atunci U este nesingulara. Demonstratia descrie o procedura de reducere efectiva a matricei A la forma superior triunghiulara U. Procedura consta in n 1 pasi: Initializare : A 1 = A Pas 1 : A 2 = M 1 A 1 = M 1 A Pas 2 : A 3 = M 2 A 2 = M 2 M 1 A... Pas n 1 : A n = M n 1 A n 1 = M n 1 M } n 2 M {{ 1 A = U. } M

84 Triangularizare prin eliminare gaussiana Demonstratie: Pasul 1. Fie A 1 = A si a 1 = Ae 1. Prin ipoteza, A [1] 1 = A [1] = a Atunci exista o matrice ITE M 1 a.i. { a 11, pentru i = 1, (M 1 a 1 ) i = 0, pentru i = 2 : n, adica matricea A 2 = M 1 A are toate elementele subdiagonale ale primei coloane egale cu 0: a (2) 11 a (2) a (2) 1n 0 a (2) a (2) 2n A 2 = 0 a (2) a (2) 3n a (2) n2... a nn (2) Matricea A 2 reprezinta rezultatul Pasului 1.

85 Triangularizare prin eliminare gaussiana Demonstratie (continuare): Pasul k. Presupunem ca matricea curenta A k = M k 1 M 2 M 1 A a (k) 11 a (k) a (k) 1,k 1 a (k) 1k... a (k) 1,n 0 a (k) a (k) 2,k 1 a (k) 2k... a (k) 2,n a (k) 3,k 1 a (k) 3k... a (k) 3,n A k = a (k) k 1,k 1 a (k) k 1,k... a (k) k 1,n a (k) k,k... a (k) k,n a (k) n,k... a n,n (k) este superior triunghiulara in primele k 1 coloane, i.e. matricea A [k] k este superior triunghiulara.

86 Triangularizare prin eliminare gaussiana Din propozitia precendenta avem A [k] k = M [k] k 1 M[k] 2 M[k] 1 A[k], unde matricile M [k] i sunt inf. tr. unitate (i.e. det(m [k] i ) = 1). Din conditia teoremei (i.e. A [k] nesingulara) avem det(a [k] k ) = det(m[k] k 1 ) det(m[k] 1 )det(a[k] ) = det(a [k] ) 0, ce conduce la concluzia ca pivotul a (k) kk este nenul. Deci, din proprietatea c) a matricilor ITE, exista o matrice ITE M k ce induce zerouri subdiagonale pe coloana k matricii A k. Mai mult, premultiplicarea cu M k a matricei A k nu altereaza primele k 1 coloane (in care s-au indus [ zero-uri ] la pasii anteriori) Ik 1 0 deoarece matricea elementara M k =. 0 M1 Prin urmare, matricea A k+1 = M k A k este sup. tr. in primele k coloane; continuand procedura pana la pasul n 1 (inclusiv), obtinem U def = A n = M n 1 M } n 2 M {{} 1 A, unde M inf. tr. unitate. M

87 Triangularizare prin eliminare gaussiana Schema EG 1. Pentru k = 1 : n 1 1. Se calculeaza matricea ITE M k (adica multiplicatorii µ ik, i = k +1 : n), astfel incat (M k A) ik = 0, pentru i = k +1 : n 2. Se calculeaza A M k A La pasul 1.1, multiplicatorii µ ik sunt calculati conform µ ik = a(k) ik a (k) kk si memorati pe pozitiile elementelor anulate. u 11 u u 1,k u 1,k+1... u 1,n µ 21 u u 2,k u 2,k+1... u 2,n µ k1 µ k2... u k,k u k,k+1... u k,n µ k+1,1 µ k+1,2... µ k+1,k a (k+1) k+1,k+1... a (k+1) k+1,n µ n1 µ n2... µ nk a (k+1) n,k+1... a n,n (k+1)

88 Triangularizare prin eliminare gaussiana - exemplu Aplicam procedura de eliminare gaussiana matricii A = Conditiile de nesingularitate sunt indeplinite: det(a [1] ) = 1 si det(a [2] ) = 3. Pasul 1. Se urmareste anularea elementelor a 21 si a 31. Consideram pivot elementul a 11. Calculam multiplicatorii µ 21 = a 21 a 11 = 2 si µ 31 = a 31 a 11 = 1, ce definesc matricea M 1 = Din premultiplicarea matricii A avem A 2 = M 1 A =

89 Triangularizare prin eliminare gaussiana - exemplu Pasul 2. Se urmareste anularea elementului a (2) 32. Consideram pivot elementul a (2) 22. Calculam multiplicatorul µ 32 = a(2) 32 = 1/3, ce a (2) definesc matricea M 2 = In final avem 0 1/ U = A 3 = M 2 A 2 = Schema EG memoreaza multiplicatorii gaussieni in triunghiul inferior al matricii U: /3 1

90 Triangularizare prin eliminare gaussiana Algoritmul G. (Se da A R n n, cu submatricele lider principale A [k],k = 1 : n 1 nesingulare. Se calculeaza matricea sup. tr. U si matricele ITE M 1,,M n 1, astfel incat U = M n 1 M 1 A. Matricea U se memoreaza in triunghiul superior al lui A, inclusiv diagonala, iar multiplicatorii µ ik in triunghiul inferior al lui A, pe pozitiile elementelor anulate.) 1. Pentru k = 1 : n 1 1. Pentru i = k +1 : n 1. a ik µ ik = a ik a kk 2. Pentru j = k +1 : n Algoritmul necesita 2n3 3 operatii. 1. Pentru i = k +1 : n 1. a ij a ij µ ik a kj

91 Rezolvarea sistemelor liniare - exemplu 2 Rezolvati sistemul { 10 4 x 1 +x 2 = 1 x 1 +x 2 = 2. Solutia exacta a sistemului este x 1 = si x 2 = Presupunem precizia masinii de calcul ǫ = Utilizam procedura de eliminare gaussiana { pt. sistemul: 10 4 x 1 +x 2 = 1 fara pivotare, avem sistemul, in care x 1 +x 2 = 2 prima ecuatie conduce la x 1 = 10 4 (1 x 2 ). In urma substitutiei in a doua ecuatie avem x 2 = Deci, obtinem x 1 = 0 (solutie falsa!). cu { pivotare (i.e. schimband pivotul), avem sistemul x 1 +x 2 = care in urma substitutiei x 1 +x 2 = 1, 10 4 (2 x 2 )+x 2 = 1 conduce la x 2 = Obtinem x 1 = 1 (solutie corecta!).

92 Strategii de pivotare In cazul in care o submatrice lider principala A [k] este singulara, atunci la pasul k al schemei de eliminare gaussiana, pivotul a (k) kk este nul. Deci nu exista o matrice ITE M k care sa anuleze elementele subdiagonale din coloana k a matricii A. Remediu: strategii de pivotare = interschimbarea de linii (sau/si coloane), care aduce in pozitia pivotului un element nenul. Pivotare partiala - la pasul k se alege ca pivot elementul maxim in modul din coloana k; Pivotare completa - la pasul k se alege ca pivot elementul maxim in modul din coltul dreapta-jos al matricei A k, i.e. elementele a (k) ij,i = k : n,j = k : n;

93 Pivotare partiala La pasul k al procedurii de triangularizare, se alege ca pivot elementul maxim in modul din coloana k. Presupunand ca se afla pe linia i k si este nenul, se interschimba liniile i k si k prin inmultirea la stanga a matricii A cu o PE P kik. Observatie: alegem i k k pentru a nu altera structura matricii obtinute pana la pasul k. u u 1k... u 1n u u 1k... u 1n a (k) kk... a (k) kn a (k) i A k = 0... ;P kik A k = k k... a (k) i k n 0... a (k) i k k... a (k) i k n a (k) kk... a (k) kn a nn (k)... a nn (k) a (k) nk a (k) nk

94 Pivotare partiala Notam P k = P ik k. Schema Eliminarea Gaussiana cu Pivotare Partiala. 1. Se determina cel mai mic i k k a.i. a ik k = max i=k:n a ik. 2. Se interschimba liniile i k si k, i.e. A P k A. 3. Se determina matricea ITE M k a.i. (M k A) ik = 0,i = k+1 : n. 4. Se aplica transformarea A M k A. Procesul global conduce la matricea superior triunghiulara: U = A n = M n 1 P n 1 M n 2 P n 2 M 1 P 1 A.

95 Eliminarea Gaussiana cu Pivotare Partiala - exemplu Aplicam procedura de GPP matricii A = Conditiile de nesingularitate sunt indeplinite: A [1] = 0.01 si det(a [2] ) = Initializare: A 1 = A; Pasul 1. Se determina elementul cu modul maxim din coloana 1, i.e. a (1) 13 = 2. Aplicam o PE pentru a-l muta in pozitia pivotului: A 1 = = }{{}}{{} P 1 A Consideram pivot elementul a (1) 11 elementelor a (1) 21 si a(1) 31. = 2. Se urmareste anularea

96 Eliminarea Gaussiana cu Pivotare Partiala - exemplu Calculam multiplicatorii µ 21 = a(1) 21 a (1) 11 = 0.5 si µ 31 = a(1) 31 a (1) 11 = 0.005, ce definesc matricea M 1 = Din premultiplicarea matricii A avem A 2 = M 1 A 1 = Pasul 2. Observam ca nu este necesara pivotare (elementul cu modul maxim de pe coloana 2 este deja in pozitia pivotului). Consideram pivot elementul a (2) 22 elementului a (2) 32. = 2. Se urmareste anularea

97 Eliminarea Gaussiana cu Pivotare Partiala - exemplu Calculam multiplicatorul µ 32 = a(2) 32 = 0.5, ce defineste matricea a (2) M 2 = Din premultiplicarea matricii A 2 avem U = M 2 A 2 = Schema GPP memoreaza multiplicatorii gaussieni in triunghiul inferior al matricii U:

98 Algoritmul GPP - Eliminare gaussiana cu pivotare partiala (Se da A R n n, nesingulara. Se calculeaza matricea sup. tr. U, matricele ITE M 1,...,M n 1 si PE P 1,...,P n 1 a.i. U = M n 1 P n 1 M 1 P 1 A. Matricea U se memoreaza in triunghiul superior al lui A, inclusiv diagonala, iar multiplicatorii µ ik ce definesc M k se memoreaza in triunghiul inferior al lui A. Intregii i k care definesc PE P k, sunt memorati in vectorul p N n 1.) 1. Pentru k = 1 : n 1 1. Se determina cel mai mic i k k : n a.i. a ik k = max i=k:n a ik. 2. p(k) i k 3. Pentru j = k : n % interschimba liniile k si i k 1. a kj a ik j 4. Pentru i = k +1 : n 1. a ik µ ik = a ik /a kk 5. Pentru j = k +1 : n 1. Pentru i = k +1 : n 1. a ij a ij µ ik a kj

99 Eliminare gaussiana cu pivotare partiala Remarca: Operatiile suplimentare necesare in algoritmul GPP, fata de algoritmul G, apar numai in cautarea pivotului si constau in comparatiile necesare gasirii elementului maxim in modul din coloana respectiva. Numarul de comparatii necesare: n 2 2 << 2n3 3. Teorema. Daca A R n n este nesingulara, atunci algoritmul GPP se va executa complet iar matricea superior triunghiulara U rezultata in final, este nesingulara.

100 Pivotare completa La pasul k al procedurii de triangularizare, se alege ca pivot elementul maxim in modul din blocul a (k) ij,i = k : n,j = k : n. Presupunand ca primul element nenul cu modul maxim este a ik j k, se muta in pozitia de pivot (k,k) prin doua interschimbari: una de linii, cealalta de coloane. Exprimate prin inmultirea lui A la stanga, respectiv la dreapta, cu PE P kik, respectiv Q kjk. A k P kik A k Q kjk {}} {{ }} { u u 1k... u 1jk... u 1n u u 0. 1jk... u 1k... u 1n a (k) kk... a (k) kj k... a (k) kn a (k) i k j k... a (k) i k k... a(k) i k n a (k) i k k... a(k) i k j k... a (k) i k n a (k) kj 0... k... a (k) kk... a (k) kn 0... a (k) nk... a (k) nj k... a nn (k) a (k) nj k... a (k) nk... a nn (k)

101 Pivotare completa Notam P k = P ik k si Q k = Q kjk. Schema Eliminarea Gaussiana cu Pivotare Completa. 1. Se determina cei mai mici (i k,j k ) a.i. a ik j k = max i,j=k:n a ij. 2. Se interschimba liniile i k si k, i.e. A P k A. 3. Se interschimba coloanele j k si k, i.e. A AQ k. 4. Se determina matricea ITE M k a.i. (M k A) ik = 0,i = k+1 : n. 5. Se aplica transformarea A M k A. Procesul global conduce la matricea superior triunghiulara: U = A n = M n 1 P n 1 M n 2 P n 2 M 1 P 1 AQ 1 Q n 1. Algoritmul GPC - Eliminare gaussiana cu pivotare completa (Se da A R n n, nesingulara. Se calculeaza matricea sup. tr. U, matricele ITE M 1,...,M n 1 si PE P 1,Q 1,...,P n 1,Q n 1 a.i. U = M n 1 P n 1 M 1 P 1 A. Matricea U se memoreaza in triunghiul superior al lui A, iar multiplicatorii µ ik se memoreaza in triunghiul inferior. Intregii i k si j k care definesc PE P k si Q k sunt memorati in vectorii p,q N n 1.)

102 Eliminare gaussiana cu pivotare completa 1. Pentru k = 1 : n 1 1. Se determina i k,j k k : n a.i. a ik j k = max i,j=k:n a ij. 2. p(k) i k 3. q(k) j k 4. Pentru j = k : n % interschimba liniile k si i k 1. a kj a ik j 5. Pentru i = 1 : n % interschimba coloanele k si j k 1. a ik a ijk 6. Pentru i = k +1 : n 1. a ik µ ik = a ik /a kk 7. Pentru j = k +1 : n 1. Pentru i = k +1 : n 1. a ij a ij µ ik a kj

103 Eliminare gaussiana cu pivotare completa Remarca: Operatiile suplimentare necesare in algoritmul GPC, fata de algoritmul G, apar numai in cautarea pivotului (ca si in cazul pivotarii partiale). n Numarul de comparatii necesare: 3 3 2n3 3. Observam ca pivotarea completa introduce un nr. de comparatii de acelasi ordin cu numarul operatiilor aritmetice, ce poate conduce la o crestere semnificativa a timpului de executie. De aceea alg. GPC se utilizeaza numai cand se doreste o mare siguranta in calculul rezultatului. Matlab are implementat o versiune a alg. GPP! Teorema. Daca A R n n este nesingulara, atunci algoritmul GPC se va executa complet, iar matricea superior triunghiulara U rezultata in final, este nesingulara.

104 Eliminarea Gaussiana cu Pivotare Completa - exemplu Aplicam procedura de GPC matricii A = Initializare: A 1 = A; Pasul 1. Observam ca nu este necesara pivotare (elementul cu modul maxim din matricea A este deja in pozitia pivotului). Consideram pivot elementul a (1) 11 = 3. Calculam multiplicatorii µ 21 = a(1) 21 a (1) 11 = 2/3 si µ 31 = a(1) 31 a (1) 11 = 1/3, ce definesc matricea M 1 = 2/ Din premultiplicarea matricii A avem 1/ A 2 = M 1 A 1 = 0 4/3 2/3. 0 1/3 5/3

105 Eliminarea Gaussiana cu Pivotare Completa - exemplu Pasul 2. Se determina elementul maxim in modul din blocul A 2 (2 : 3,2 : 3), i.e. a (2) 33 = 5/3. Aplicam PE la stanga si la dreapta pentru a-l muta in pozitia pivotului: A 2 = /3 2/ = 0 5/3 1/ /3 5/ /3 4/3 }{{}}{{}}{{} P 1 A 2 Q 1 Consideram pivot elementul a (2) 22 µ 32 = a(2) 32 a (2) 22 = 5/3. Calculam multiplicatorul = 2/5, ce defineste matricea M 2 = Din 0 2/5 1 premultiplicarea matricii A 2 avem U = M 2 A 2 = 0 5/3 1/ /15.

106 Eliminarea Gaussiana cu Pivotare Completa - exemplu Calculam multiplicatorul µ 32 = a(2) 32 = 2/5, ce defineste matricea a (2) M 2 = Din premultiplicarea matricii A 2 avem 0 2/ U = M 2 A 2 = 0 5/3 1/ /15 Schema GPC memoreaza multiplicatorii gaussieni in triunghiul inferior al matricii U: /3 5/3 1/3. 1/3 2/5 22/15

107 Factorizari LU In multe situatii (e.g. rezolvarea de sisteme liniare) este convenabil a exprima o matrice data ca produs a doua matrice triunghiulare. Aceasta forma poate fi utilizata pentru a simplifica anumite calcule implicand matricea respectiva. Definitie. Fie A R n n. Daca exista L R n n inferior triunghiulara si U R n n superior triunghiulara astfel incat A = LU atunci se spune ca A admite o factorizare (descompunere) LU. Definitie. Fie A R n n. Daca exista L R n n inferior triunghiulara, U R n n superior triunghiulara si D R n n diagonala astfel incat A = LDU atunci matricea A admite o factorizare LDU.

108 Factorizari LU Teorema. O matrice A R n n are o unica factorizare LU si LDU daca si numai daca submatricele lider principale A [k] k = 1 : n 1 sunt nesingulare. Demonstratie: am aratat anterior ca sub conditiile teoremei M inf. triung. unitate (deci inversabila) si U sup. triung. a.i. MA = U. Deci, L = M 1 este inf. triung. unitate si A = LU. De asemenea, daca definim D = diag(u 11 u nn ) si U = D 1 U, atunci avem descompunerea A = LDU. Factorizari LU: factorizarea Doolittle A = LU, cu L inferior triunghiulara unitate si U superior triunghiulara, factorizarea Crout A = LU, cu L inferior triunghiulara si U superior triunghiulara unitate. Din teorema rezulta ca ambele factorizari (Crout si Doolittle) exista si sunt unice daca si numai daca submatricele lider principale A [k],k = 1 : n 1 sunt nesingulare.

109 Factorizari LU rezultate din eliminarea gaussiana Factorizarea Doolittle este calculata chiar de algoritmul G de triangularizare gaussiana!! Teorema. Algoritmul G, aplicat matricei A R n n, cu det(a [k] ) 0,k = 1 : n 1, calculeaza factorizarea Doolittle A = LU, cu L inferior triunghiulara unitate si U superior triunghiulara. Factorii L (mai putin elementele diagonale) si U sunt memorati peste A. Observatie. Matricea inferior triunghiulara L este definita de L = (M n 1 M 2 M 1 ) 1 = M 1 1 M 1 2 M 1 n 1 = (I n +m 1 e T 1 )(I n +m 2 e T 2 ) (I n +m n 1 e T n 1) n 1 = I n + m k ek T i=1 deoarece e T i m j = 0 i < j

110 Factorizari LU rezultate din eliminarea gaussiana Teorema. Triangularizarea obtinuta prin algoritmul GPP, i.e. M n 1 P n 1 M 1 P 1 A = U, a matricei A R n n este echivalenta cu factorizarea Doolittle a matricei A cu liniile permutate, adica PA = LU, unde P = P n 1 P 1. In partea subdiagonala, coloana L(:,k) este o permutare a vectorului Gauss corespunzator m k ; mai precis, daca h k = P n 1 P k+1 m k, atunci L(k +1 : n,k) = h k (k +1 : n).

111 Factorizari LU compacte Factorizarea Crout poate fi dedusa din factorizarea Doolittle prin modificarea factorilor triunghiulari. Fie factorizarea Doolittle a matricii A = L Do U Do si matricea diagonala D = diag[(u Do ) 11,...,(U Do ) nn ]. Atunci o varianta de calcul ( necompacta ) a factorizarii Crout A = L Cr U Cr este: A = L Do U Do = L Do DD }{{} 1 U Do = L }{{} Cr U Cr. L Cr U Cr Factorizarea Crout compacta se deduce direct din relatia A = LU, calculand succesiv cate o coloana din L si cate o linie din U.

112 Factorizari LU compacte Schema factorizare Crout compacta. Initializare. Calculam prima coloana din L si prima linie din U: Ae 1 = LUe 1 = Le 1 ce implica l i1 = a i1,i = 1 : n. e T 1 A = et 1 LU = l 11e T 1 U ce implica u 1j = a 1j /l 11,j = 2 : n. (din conditia teoremei avem l 11 = a 11 = A [1] 0) Presupunem primele k 1 col. din L si k 1 lin. din U calculate (vezi fig.). Din identitatea A = LU obtinem a ik = l ik + k 1 l is u sk ce implica l ik = a ik k 1 l is u sk, i = k : n. s=1 s=1

113 Factorizari LU compacte k 1 De asemenea avem: a kj = l kk u kj + l ks u sj. s=1 Din conditia teoremei avem ca A [k] = L [k] U [k] este nesingulara, deci si L [k] este nesingulara (i.e. l kk 0). In concluzie, ( k 1 u kj = a kj l ks u sj )/l kk. s=1 Observatie. Factorizarea Crout se obtine prin simpla identificare a fiecarui element al matricii A cu produsul scalar dintre linia lui L si coloana lui U corespunzatoare elementului respectiv.

114 Factorizari LU compacte Algoritmul Crout. (Se da A R n n, cu submatricele lider principale A [k],k = 1 : n 1 nesingulare. Se calculeaza factorizarea Crout A = LU, cu L inf. tr. si U sup. tr. unitate. Matricele L si U sunt memorate peste elementele corespunzatoare din A, mai putin elementele diagonale ale lui U, egale cu 1.) 1. Pentru k = 1 : n 1. Pentru i = k : n k 1 1. a ik l ik = a ik l is u sk s=1 2. Pentru j = k +1 : n ( k 1 1. a kj u kj = a kj l ks u sj )/l kk. Algoritmul necesita 2n3 3 operatii (la fel ca alg. G, GPP, GPC). s=1

115 Rezolvarea sistemelor liniare utilizand G Consideram sistemul liniar Ax = b cu submatricile principale de la k = 1 la k = n 1 ale lui A nesingulara (observatie: A poate sa fie singulara!). Utilizand alg. G si tinand cont ca matricele M k sunt nesingulare, inf. tr. obtinem sistemul echivalent: M n 1 M 1 Ax = M }{{} n 1 M 1 b. }{{} U d In final, am obtinut un sistem superior triunghiular Ux = d. Deci, odata ce avem implementat alg. G, trebuie doar sa calculam d = Mb si sa chemam alg. UTRIS pentru perechea (U,d).

116 Rezolvarea sistemelor liniare utilizand GPP Consideram urmatoarea sintaxa pentru utilizarea algoritmilor GPP si GPC: [M,U,p] = GPP(A) [M,U,p,q] = GPC(A) unde M denota multiplicatorii gaussieni µ ik,k = 1 : n 1, i = k +1 : n, U matricea sup. tr. produsa de algoritm, iar p si q vectori de intregi definind permutarile de linii si, respectiv, coloane. Consideram sistemul liniar Ax = b cu A nesingulara. Utilizand GPP si tinand cont ca matricele M k si P k sunt nesingulare, obtinem sistemul echivalent M n 1 P n 1 M 1 P 1 Ax = M }{{} n 1 P n 1 M 1 P 1 b. }{{} U d In final, am obtinut un sistem superior triunghiular Ux = d.

117 Rezolvarea sistemelor liniare utilizand GPP Algoritmul S GPP. (Se dau A R n n nesingulara si b R n. Se calculeaza solutia sistemului liniar Ax = b, utilizand procedura de eliminare gaussiana cu pivotare partiala.) 1.[M,U,p] = GPP(A) 2. Pentru k = 1 : n 1 1. b k b p(k) 2. Pentru i = k +1 : n 1. b i b i µ ik b k 3. x = UTRIS(U,b). Algoritmul necesita 2n3 3 operatii (principalul efort consta in triangularizarea matricei A).

118 Rezolvarea sistemelor liniare utilizand GPC Alternativ, dar mai costisitor, putem utiliza algoritmul GPC. In acest caz, sistemul Ax = b este echivalent cu M n 1 P n 1 M 1 P 1 AQ }{{ 1 Q n 1 Q } n 1 Q 1 x = M }{{} n 1 P n 1 M 1 P 1 b. }{{} U y d Se rezolva sistemul superior triunghiular Uy = d cu algoritmul UTRIS, iar stiind ca Q 1 k = Q k obtinem solutia finala x = Q 1 Q 2 Q n 1 y.

119 Rezolvarea sistemelor liniare utilizand GPC Algoritmul S GPC. (Se dau A R n n nesingulara si b R n. Se calculeaza solutia sistemului liniar Ax = b, utilizand procedura de eliminare gaussiana cu pivotare completa.) 1. [M,U,p,q] = GPC(A) 2. Pentru k = 1 : n 1 1. b k b p(k) 2. Pentru i = k +1 : n 1. b i b i µ ik b k 3. x = UTRIS(U,b) 4. Pentru k = n 1 : 1 : 1 1. x k x q(k). Algoritmul necesita 2n3 3 operatii (principalul efort consta in triangularizarea matricei A).

120 Rezolvarea sistemelor liniare utilizand factorizarea LU Utilizand factorizarea LU obtinem o forma echivalenta a sistemului Ax = b: LUx = b. Ce se poate rescrie sub forma Ly = b, unde am notat Ux = y. Prin urmare putem folosi urmatoarea schema: 1. A = LU (calculeaza factorizarea LU) 2. Se rezolva sistemul inferior triunghiular Ly = b 3. Se rezolva sistemul superior triunghiular Ux = y

121 Rezolvarea sistemelor liniare multiple utilizand LU Sistemele cu parte dreapta multipla, i.e. de forma AX = B, cu B R n p,p > 1, pot fi reduse la p sisteme cu parte dreapta simpla, Ax j = b j,j = 1 : p, unde vectorii x j si b j sunt coloanele j din X, respectiv B. Utilizarea naiva de p ori a algoritmului S GPP ar conduce la un efort de calcul de pn 3 /3 flopi, inacceptabil de mare. Se utilizeaza factorizarea LU o singura data, ramanand de rezolvat doar sisteme triunghiulare: 1. A = LU (calculeaza factorizarea LU) 2. Pentru j = 1 : p 1. Se rezolva sistemul inferior triunghiular Ly = b j 2. Se rezolva sistemul superior triunghiular Ux j = y

122 Calculul inversei unei matrice Fie A R n n nesingulara. Algoritmul GPP aplicat matricii A produce matricea superior triunghiulara U definita de: M n 1 P n 1 M 1 P 1 A = U, unde M k sunt matrice ITE si P k sunt PE. Se observa usor ca A 1 = U 1 M n 1 P n 1 M 1 P 1. Deci, inversa matricei A poate fi calculata dupa schema: 1. [M,U,p] = GPP(A) 2. X = UINV(U) 3. Pentru k = n 1 : 1 : 1 1. X XM k 2. X XP k.

123 Calculul inversei unei matrice In bucla din instructiunea 3, prima atribuire X XM k poate fi detaliata partitionand pe X pe linii: x T i M k = x T i (I n m k e T k ) = xt i (x T i m k )e T k = [x i1... x i,k 1 x ik x T i m k x i,k+1... x in ], i = 1 : n. Se observa ca sunt modificate doar elementele de pe coloana k a lui X. A doua atribuire, i.e. X XP k, interschimba coloanele k si i k. Prezentam varianta eficienta de calculare a inversei unei matrice, ce ia in considerare observatiile de mai sus.

124 Algoritmul INV GPP (Se da A R n n nesingulara. Se calculeaza matricea A 1 peste A. Algoritmul utilizeaza algoritmii GPP pentru triangularizarea gaussiana si UINV pentru inversarea unei matrice superior triunghiulare). 1. [M,U,p] = GPP(A) %M si U sunt memorate in A 2. A X = UINV(U) % doar triunghiul sup. e modificat 3. Pentru k = n 1 : 1 : 1 1. Pentru i = k +1 : n 1. g i µ ik % salveaza multiplicatorii 2. Pentru i = 1 : k 1. a ik a ik Σ n t=k+1 a itg t 3. Pentru i = k +1 : n 1. a ik Σ n t=k+1 a itg t 4. Daca p(k) k atunci 2. Pentru i = 1 : n % interschimba coloanele k si p(k) 1. a ik a i,p(k).

125 Calculul inversei unei matrice Observatie 1. Numarul de operatii in virgula mobila efectuate de algoritmul INV GPP este 2n 3. Observatie 2. Este remarcabil faptul ca inversarea matriceala nu este mai complexa (ca numar de operatii) decat inmultirea de matrice. Observatie 3. Efortul de calcul necesar inversarii unei matrice este de aproximativ trei ori mai mare decat cel pentru rezolvarea unui sistem liniar de aceeasi dimensiune. De aceea, in cazurile posibile, inversarea matriceala trebuie evitata si inlocuita cu rezolvarea de sisteme liniare.

126 Exemplu inversare eficienta Sa se calculeze eficient scalarul α = c T A 1 b, unde A R n n,b,c R n. Schema recomandata: 1. Se rezolva sistemul Ax = b % rezulta x = A 1 b 2. α c T x Schema este sensibil mai eficienta decat aplicarea algoritmului INV GPP.

127 Calculul determinantului Algoritmii GPP si GPC sunt utili si in calculul determinantului unei matrice. Amintim ca o PE P are det(p) = 1, iar o matrice ITE M k are elementele diagonale egale cu 1, deci det(m k ) = 1. Asadar n det(a) = ( 1) s det(u) = ( 1) s u ii, unde s n 1 este numarul de PE proprii (adica P k I n ) din relatia M n 1 P n 1 M 1 P 1 A = U. i=1

128 Calculul determinantului Algoritmul DET GPP. (Se da A R n n. Se calculeaza det(a), utilizand algoritmul GPP.) 1. [M,U,p] = GPP(A) 2. det 1 3. Pentru k = 1 : n 1. det det u kk 4. Pentru k = 1 : n 1 1. Daca p(k) k atunci 1. det det. Principalul efort de calcul este efectuat de algoritmul GPP. Daca e disponibila o factorizare LU matricii A, atunci det(a) = det(l)det(u) = ( n i=1 l ii)( n i=1 u ii).

129 Conditionarea sistemelor liniare Avand in vedere ca determinarea solutiei unui sistem liniar Ax = b cu precizie absoluta este (in cazul general) imposibila, analiza acuratetii rezultatului obtinut este importanta. Considerand o perturbatie a datelor de intrare (A,b) (A+ A,b + b) (Â,ˆb), se obtine o perturbatie a solutiei x x + x ˆx, a.i. (A+ A)(x + x) = b + b. Teorema. Presupunem ca x 0. Eroarea relativa a solutiei sistemului perturbat este marginita conform relatiei ( x A x κ(a) A + b ), b unde κ(a) = A 1 A se numeste numar de conditionare al matricei A.

130 Conditionarea sistemelor liniare Observatie 1. Numarul de conditionare κ(a) furnizeaza o masura a conditionarii problemei rezolvarii sistemului Ax = b, i.e. un κ(a) mic corespunde unei bune conditionari (sensibilitate redusa a solutiei in raport cu perturbatiile datelor). Observatie 2. Doar matricea A determina conditionarea unui sistem, vectorul b neavand niciun rol. Observatie 3. In cazul normei Euclidiene, avem κ(a) = 1 daca si numai daca matricea A este ortogonala.

131 Sisteme simetrice Consideram sistemul Ax = b cu A inversabila si simetrica. Observatie. Daca dispunem de factorizarea LU a matricii A = LU, atunci din simetria A = A T se observa ca U = L T. Deci, este necesar calculul unui singur factor triunghiular! (intuitiv, dorim un algoritm cu o complexitate de doua ori mai mica) Aplicarea naiva a procedurii de eliminare gaussiana distruge simetria matricii A! Deci, este necesara o modificare a algoritmului G pentru a profita de simetrie. Utilizam transformari de congruenta pentru a pastra simetria, adica se aplica transformarii ITE de ambele parti ale matricei A.

132 Sisteme simetrice Schema eliminare gaussiana pentru sisteme simetrice Initializare: D 1 = A. La pasul 1: D 2 = M 1 AM T 1 Stim ca M 1 = I n e 1 m1 T, deci rezulta D 2 = M 1 A (M 1 A)e 1 m1 T; deoarece (M 1 A)e 1 = a 11 e 1, se observa ca inmultirea la dreapta cu M1 T, adica (M 1A)M1 T nu afecteaza decat prima linie a matricii M 1 A, introducand zero-uri in pozitiile din dreapta diagonalei. Continuand analog pentru restul coloanelor, obtinem: La pasul n 1: D = M n 1 M 2 M 1 AM T 1 MT 2 MT n 1, unde D este matrice diagonala. La iesire, obtinem factorizarea A = LDL T, cu L = M1 1 M 1 2 Mn 1 1 inf. tr. unitate si D matrice diagonala.

133 Sisteme simetrice Algoritm G pentru sisteme simetrice 1. Pentru k = 1 : n 1 1. Pentru i = k +1 : n 1. t i a ik 2. a ik a ik /a kk 2. Pentru j = k +1 : n 1. Pentru i = j : n 1. a ij a ij a ik t j. Vectorul t se utilizeaza la salvarea elementelor coloanei curente k, pe pozitiile carora se memoreaza multiplicatorii La iesire, obtinem factorizarea A = LDL T, cu L = M1 1 M 1 2 Mn 1 1 inf. tr. unitate si D matrice diagonala memorata peste A.

134 Sisteme simetrice pozitiv definite Consideram sistemul Ax = b, cu matricea A R n n este simetrica si pozitiv definita. Teorema. Pentru orice matrice simetrica si pozitiv definita A R n n, exista o unica matrice inferior triunghiulara L R n n, cu elemente diagonale pozitive, astfel incat A = LL T, expresie numita factorizare Cholesky (iar L este numit factor Cholesky ). Reciproc, daca factorizarea exista, atunci A este pozitiv definita. Evident, putem considera descompunerea A = R T R, unde R = L T este superior triunghiulara.

135 Sisteme simetrice pozitiv definite Din identitatea A = LL T, obtinem pt. prima coloana: a 11 = l 2 11 l 11 = a 11 a i1 = l i1 l 11 l i1 = a i1 /l 11, i = 2 : n. Presupunand primele k 1 coloane din L calculate, identificarea elementului din pozitia (k,k) conduce la a kk = k 1 lkj 2 +l2 kk. a 11 l 11 l l k1... l n a k1... a kk = l k1... l kk l kk... l nk a n1... a nk... a nn l n1... l nk... l nn j=1 l nn

136 Sisteme simetrice pozitiv definite Din conditia ca A sa fie pozitiv definita, avem a kk k 1 lkj 2 > 0, si j=1 putem determina l kk : l kk = a kk k 1 lkj 2. Din identificarea j=1 elementelor de pe coloana k avem a ik = k 1 l ij l kj +l ik l kk,i = k +1 : n. Asadar, j=1 k 1 l ik = a ik l ij l kj /l kk,i = k +1 : n. j=1 a 11 l 11 l l k1... l n a k1... a kk = l k1... l kk l kk... l nk a n1... a nk... a nn l n1... l nk... l nn l nn

137 Algoritm factorizare Cholesky Algoritmul CHOL (Se da A R n n simetrica. Se stabileste daca A este pozitiv definita si, in acest caz, se scrie peste triunghiul inferior al lui A matricea L din factorizarea Cholesky A = LL T.) 1. Pentru k = 1 : n k 1 1. α a kk j=1 l 2 kj 2. Daca α 0 atunci 1. Tipareste A nu este pozitiv definita 2. Stop 3. a kk l kk = α 4. Pentru i = k +1 : n k 1 1. a ik l ik = a ik l ij l kj /l kk. j=1

138 Factorizare Cholesky - exemplu Determinati factorul Cholesky al matricii A = Folosim identitatea A = LL T, i.e. [ ] [ ][ ] 3 1 l11 0 l11 l = l 21 l 22 0 l 22 [ ] Observam ca a 11 = l 2 11 = 3, ceea ce implica l 11 = 3. Din inmultirea liniei 2 din L cu coloana 1 din L T, avem l 21 l 11 = 1, ceea ce implica l 21 = 1/ 3. Din inmultirea liniei 2 din L cu coloana 2 din L T, avem l22 2 = 3 l2 21 = 8/3, ceea ce implica l 22 = 8/3. [ ] 3 0 Am determinat factorul Cholesky L = 1/ 3, si putem 8/3 concluziona ca matricea este pozitiv definita.

139 Sisteme simetrice pozitiv definite Algoritmul CHOL necesita n3 3 operatii. Sistemul liniar Ax = b, cu A pozitiv definita se calculeaza dupa schema: 1. Se factorizeaza A = LL T cu algoritmul CHOL 2. Se rezolva sistemul inferior triunghiular Ly = b 3. Se rezolva sistemul superior triunghiular L T x = y. Se efectueaza de doua ori mai putine operatii decat daca s-ar aplica algoritmul de eliminare gaussiana.

140 Metode iterative pentru rezolvarea sistemelor liniare Metode iterative - construiesc recursiv un sir de vectori convergenti catre solutia sistemului Ax = b. Iteratia este de forma: x k+1 = Bx k +c, unde matricea B si vectorul c sunt determinate de (A,b). Convergenta acestor metode este asigurata daca raza spectrala ρ(b) < 1. Metodele iterative se bazeaza pe descompunerea: A = M N unde M se alege a.i. inversa ei se calculeaza usor (e.g. matrice diagonala, triunghiulara). Atunci sistemul Ax = b se rescrie Mx = Nx +b ce conduce la iteratia Mx k+1 = Nx k +b. Deci, B = M 1 N si c = M 1 b. Exemple: algoritmul Jacobi; algoritmul Gauss-Seidel

141 Metoda Jacobi In metoda Jocabi se considera urmatoarea descompunere a lui A: A = D N, i.e. M = D este matricea diagonala data de D = diag(a 11 a nn ). Obtinem iteratia: Dx k+1 = Nx k +b sau echivalent x k+1 = D 1 Nx k +D 1 b x k+1 i = b i j i a ijx k j a ii metoda este bine-definita daca toate elementele diagonale ale lui A sunt ne-nule! metoda converge daca ρ(d 1 N) < 1 sau daca matricea A este strict diagonal dominanta: a ii > j i a ij i

142 Metoda Jacobi - exemplu Consideram sistemul cu 2 necunoscute: [ ] [ ] [ ] x = si x 0 1 = }{{}}{{} A b In acest caz B = D 1 N = [ ] 11/2 c = D 1 b =. 13/7 [ 0 1/2 5/7 0 Iteratiile x k+1 = (D 1 N)x k +D 1 b devin: x 1 = [ ] 5, x 2 = 8/7 ] si [ ] 69/14, 12/7 si continua pana la convergenta (A matrice diagonal dominanta) i.e. norma Ax k b mica.

143 Metoda Gauss-Seidel In metoda Gauss-Seidel se considera descompunere lui A: A = L U, i.e. M = L este matricea inferior triunghiulara din A si U strict superior triunghiulara. Obtinem iteratia Lx k+1 = Ux k +b sau: x k+1 =L 1 Ux k +L 1 b x k+1 i = b i i 1 j=1 a ijx k+1 j a ii n j=i+1 a ijx k j metoda este bine-definita daca toate elementele diagonale ale lui A sunt ne-nule! metoda converge daca ρ(l 1 U) < 1 sau A este pozitiv definita sau daca matricea A este strict diagonal dominanta: a ii > j i a ij i

144 Metoda Gauss-Seidel - exemplu Consideram sistemul cu 2 necunoscute: [ ] [ ] x = si x 0 = }{{}}{{} A In acest caz L 1 U = b [ ] si L 1 b = [ ] 1 1 [ ] Iteratiile x k+1 = (L 1 U)x k +L 1 b devin: [ ] [ ] x =, x =, si continua pana la convergenta (A matrice diagonal dominanta), i.e. norma Ax k b mica.

145 Aplicatie -soarecele si labirintul O aplicatie din probabilitate: consideram un labirint si un soarece intr-un experiment de laborator: experimentul consta in plasarea unui soarece la una din cele 10 intersectii ale labirintului daca soarecele ajunge intr-un coridor exterior, atunci el nu se poate intoarce (reveni)in labirint cand soarecele este intr-o intersectie, alege aleator un drum Care este probabilitatea castigatoare p i ca soarecele sa ajunga la coridorul cu hrana pornind din intersectie i?

146 Aplicatie -soarecele si labirintul De exemplu, in prima intersectie, soarecele are probabilitatea: de a alege sus-dreapta si a pierde de a alege sus-stanga si a pierde de a alege jos-dreapta si astfel a ajunge la un punct cu probabilitate de castigare p 3 de a alege jos-stanga si astfel a ajunge la un punct cu probabilitate de castigare p In mod similar obtinem: p 1 = 1 4 (0)+ 1 4 (0)+ 1 4 (p 2)+ 1 4 (p 3) p 2 = 1 5 (0)+ 1 5 (p 1)+ 1 5 (p 3)+ 1 5 (p 4)+ 1 5 (p 5) p 10 = 1 4 (0)+ 1 4 (1)+ 1 4 (p 6)+ 1 4 (p 9)

147 Aplicatie -soarecele si labirintul Obtinem sistemul patratic Ap = b, cu matricea A R foarte rara, p = [p 1 p 10 ] T si b = [ ]: A = Folosind Gauss-Seidel pornind cu p = 0, produce dupa 18 iteratii solutia (datorita raritatii A, G-S este mai avantajoasa decat GPP): p 1 = 0.09, p 2 = 0.18, p 3 = 0.18, p 4 = 0.29,p 5 = 0.33 p 6 = 0.29, p 7 = 0.45, p 8 = 0.52, p 4 = 0.52,p 10 = 0.45

148 Metode Numerice Curs IV Problema celor mai mici patrate Ion Necoara 2014

149 Rezolvarea de sisteme liniare: m n In acest curs prezentam metode numerice pentru rezolvarea sistemelor de ecuatii liniare: Ax = b, unde A R m n, m n daca m > n (sistem supradeterminat), atunci de regula nu avem solutie cautam o solutie aproximativa a.i. reziduul r = b Ax sa fie cat mai mic, i.e. solutia aproximativa sa minimizeze norma reziduului: min x Rn b Ax daca m < n (sistem subdeterminat), atunci de regula avem o infinitate de solutii cautam o solutie de lungime cat mai mica, i.e. solutia se obtine din minimizarea: min x x R n :Ax=b Ambele probleme se numesc: problema celor mai mici patrate (CMMP). Probleme de tip (CMMP) apar in multe aplicatii: aproximarea functiilor, modelarea si identificarea sistemelor, prelucrarea semnalelor!

150 Problema CMMP - interpretarea geometrica Se observa ca cea mai buna aproximare a lui b pe S = Im A coincide cu proiectia ortogonala a lui b pe S, i.e. Ax. Distanta minima de la un punct b la un subspatiu S este lungimea perpendicularei duse din b pe S, i.e. b Ax. Avem b = Ax +(b Ax ) si Ax b Ax.

151 Applicatie CMMP - 1 Fitting de date: se dau urmatoarele functii f 1,,f n numiti regresori sau functii de baza date sau masuratori (u i,b i ) i = 1,...,m (de obicei m n) Problema: gasiti coeficientii reali x 1, x n s.t. b i = x 1 f 1 (u 1 )+ +x n f n (u 1 ) i = 1,,m Obtinem sistemul linear: Solutie: Ax = b unde A R m n, A ij = f j (u i ) A patratica si inversabila, atunci solutie unica A cu n m (subdeterminata) - o infinitate de solutii, atunci se cauta solutia de norma minima (CMMP) A cu m n (supradeterminata) - nici o solutie, atunci se cauta solutia care minimizeaza expresia patratica (CMMP) m (x 1 f 1 (u i )+ +x n f n (u i ) b i ) 2 = Ax b 2 i=1

152 Aplicatie CMMP - 2 Fitting un polinom de grad < n la datele (t i,b i ), i = 1,,m p(t) = x 0 +x 1 t + +x n 1 t n 1 functii de baza p j (t) = t j 1 pentru j = 1,,n matricea A cu intrarile A ij = t j 1 i (matrice Vandermonde) 1 t 1 t1 2 t n t 2 t2 2 t n 1 2 A = t m tm 2 tm n 1 Exemplu: aproximam functia f(t) = 4t 1+10t 2 cu un polinom pe intervalul [0, 1] avand la dispozitie 100 de date

153 Aplicatie CMMP - 2 Fitting un polinom la date CMMP fit (A R 100 d ) cu polinoame de grad d = 1,2,3,4 avand eroarea Ax b = 0.135, 0.076, 0.025, Linie continua f(t), linie punctate p d (t) pe [0,1] In acest curs vom invata algoritmi numerici pentru rezolvarea acestei probleme!

154 Aplicatie CMMP - 2 Regresie liniara: fitting un polinom de grad 2 pentru estimarea populatiei planetei. Se cunoaste populatia (in miliarde) intre anii 1950 si 1985: anul populatie Exemplu: se porneste de la t = 4 pana la t = 3 si polinomul: p(t) = a 2 t 2 +a 1 t +a 0 solutia CMMP este a 2 = 0.013, a 1 = 0.351, a 0 = estimati populatia planetei din anul 1990?

155 Aplicatie CMMP - 3 Identificarea sistemlor: consideram un sistem intrare-iesire Pentru sistemul considerat dispunem de 40 de masuratori intrare-iesire {u(t), y(t)}: u(t) 1 y(t) t t

156 Aplicatie CMMP - 3 Identificarea sistemelor: dorim sa aproximam sistemul printr-un model intrare-iesire de forma ARMA y model (t) = x 1 u(t)+x 2 u(t 1)+x 3 u(t 2)+x 4 u(t 3)+x 5 u(t 4). Gasirea setului de parametrii x = [x 1 x 5 ] T ai modelului poate fi realizata prin rezolvarea unui sistem liniar (problema CMMP): Ax = b cu A R 36 5 b = [y(5) y(6) y(40)] T A = u(5) u(4) u(3) u(2) u(1) u(6) u(5) u(4) u(3) u(2) u(7) u(6) u(5) u(4) u(3)..... u(40) u(39) u(38) u(37) u(36)

157 Aplicatie CMMP - 3 Identificarea sistemelor: raspunsul modelului estimat 8 Raspunsul estimat si raspunsul real y model (t) y(t)

158 Aplicatie CMMP - 4 Problema Netflix: sistem de recomandare pentru filme: predictie cu acuratete cat mai mare,a cat de mult iti va placea un film bazat pe preferintele tale concursul privind imbunatatirea algoritmului de recomandare Netflix a pornit in In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in 2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire

159 Aplicatie CMMP - 4 Problema Netflix: datele de antrenare pentru algoritmul de recomandare: 100 milioane ratings; utilizatori; filme; date stranse in 6 ani ( )

160 Aplicatie CMMP - 4 Problema Netflix: principalele obstacole dimensiunea datelor foarte mare: este nevoie de algoritmi eficienti din punct de vedere al calculelor si al memoriei datele de test si cele de antrenare sunt diferite: e.g. datele de test ratings sunt mai recente 99% date lipsesc, deci metodele standard nu se aplica multi factori afecteaza rating-ul unui film: actorii, regizorul, stilul actiunii, muzica, genul Matematica aplicata ajuta: Metodele Numerice si Optimizarea! utilizator Y caracterizeaza filmele prin atribute: violenta (x 1 = 1.5); umor (x 2 = 3.5); acest actor (x 3 = 0.5), etc... factorizarea de matrici este principala abordare combinata cu metoda gradient din optimizare

161 Aplicatie CMMP - 5 Tomografie computerizata = tehnica noninvaziva ce foloseste raze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3D ale interiorului obiectului scanat. Reconstructie tomografica: procedura de functionare consta in 1. Se achizitioneaza o serie de proiectii, din diferite unghiuri, ale obiectului scanat; 2. Prin intermediul proiectiilor obtinute, se reconstruieste interiorul obiectului cu ajutorul unui algoritm iterativ; In majoritatea cazurilor, radiatiile folosite sunt daunatoare; de aceea se urmareste achizitionarea unui numar minim de proiectii.

162 Aplicatie CMMP - 5 Reconstructie tomografica - formularea problemei: Fie x R n imaginea interiorului de reconstruit. Pentru reconstructie, dispunem de diferite masuratori liniare (proiectii) ale imaginii x: b i = A i x, i = 1,,m. Notam vectorul proiectiilor b R m si A = [A T 1 AT m ]T R m n matricea de achizitie. Imaginea interiorului reprezinta solutia sistemului liniar (subdeterminat deoarece sunt mai putine masuratori m decat dimensiunea imaginii n): Ax = b. reformulare in termeni de problema CMMP: min x R n : Ax=b x α unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegem α = 0 1 pentru a induce o reprezentare rara a imaginii (vectorul solutie). Se doreste o reprezentare rara a imaginii deoarece aceasta permite: compresie usoara; algoritmi rapizi pt. procesare; memorie de stocare mica; eliminarea usoara a zgomotului;...

163 Transformari ortogonale Definim 2 transformari ortogonale utilizate in calculul numeric: reflectori (transformari Householder) si rotatii (transformari Givens). Reflector, corespunzator unui vector u R m normat (i.e. u = 1), se defineste astfel: U = I m 2uu T Rotatie, corespunzatoare unei perechi de intregi (k, i), se defineste astfel: I k 1 c s P ki = I i k 1 s c, unde c2 +s 2 = 1 I m i

164 Transformari ortogonale - reflectori Principalele proprietati ale reflectorilor (transformari Householder): U = I m 2uu T, unde u = 1 Un reflector este matrice simetrica (U = U T ) si ortogonala (U T U = I m ) Definim un reflector de ordin m si indice k asociat unui vector u R m cu primele k 1 componente nule, i.e. u = [0 0 u k u m ] T, astfel: U k = I m 2 uut u 2 = I m uut u 2, unde β = β 2 Numim u vector Hauseholder si β factor de normare Aplicarea transformarii U k unui vector x: U k x = x ut x β u = x νu, unde ν = ut x β Observatie: deoarece u are primele k 1 componente nule, atunci transformarea U k x nu modifica primele k 1 componente din x

165 Transformari ortogonale - reflectori Reflector de ordin m si indice k asociat vectorului Hauseholder u = [0 0 u k u m ] T si factorului de normare β = u 2 2 : [ ] U k = I m uut β = Ik Ũ 1 aplicarea transformarii U k unui vector x lasa neschimbate primele k 1 componente ale lui x aplicarea transformarii U k matricei [ ] A lasa neschimbate [ primele ] B B k 1 linii din A: i.e. daca A =, atunci U C k A = Ũ 1 C matricea transformata U k A este modificare de rang 1 a lui A: U k A = (I m uut β )A = A uvt, unde v = AT u β

166 Transformari ortogonale - reflectori Generarea reflectorilor se face in scopul introducerii de zerouri intr-un vector x. E.g. pentru a face zerouri in x(2 : m), putem defini vectorul: u 1 = x + x e 1 U 1 = I m 2 u 1u T 1 u 1 2 U 1 x = x e 1 E.g. pentru a face zerouri in x(k +1 : m), putem defini vectorul x = [0(1 : k 1) x(k : m)] T si apoi u k = x + x e k U k = I m 2 u ku T k u k 2 (U k x)(k : m) = x e 1 si (U k x)(1 : k 1) = x(1 : k 1)

167 Transformari ortogonale - reflectori Generarea reflectorilor se face in scopul introducerii de zerouri intr-un vector. Pentru x R m, putem determina un reflector U k a.i. ultimele m k componente ale vectorului transformat sa fie nule, i.e. (U k x) i = 0, pentru i = k +1 : m Propozitie: Pentru k = 1 : m 1 si vectorul x R m a.i. m σ = sgn(x k ) i=k x2 i 0, definim vectorul Householder u R m : 0, pentru i = 1 : k 1, u i = x k +σ, pentru i = k si scalarul β = u 2 = σu k. 2 x i, pentru i = k +1 : m Atunci reflectorul U k = I m uut β de ordin m si indice k satisface: x i, pentru i = 1 : k 1, (U k x) i = σ, pentru i = k 0, pentru i = k +1 : m Demonstratie: observam imediat ca ν = ut x β = 1 si U k x = x νu!

168 Transformari ortogonale - reflectori Pentru a asigura stabilitate numerica si pentru ca vectorul u este esential determinat numai ca directie, realizam scalarea acestuia: u k = 1+ x k si u i = x i σ σ i = k +1 : m β = u k Algorithm RFG: Se genereaza un reflector U k si se aplica transformarea. Partea esentiala u i, i = k +1 : m, a vectorului Householder u se memoreaza pe pozitiile corespunzatoare din x. daca k < m σ = m i=k daca σ 0 x 2 i σ = sgn(x k )σ x i u i = x i /σ i = k : m β u k = 1+x k si x k = σ Pentru k = 1 obtinem un reflector U 1 a.i. U 1 x = σe 1!

169 Transformari ortogonale - reflectori Fie acum U 1 un reflector dat, generat de alg. RFG, iar y R m un vector arbitrar. Consideram aplicarea transformarii y U 1 y. Algorithm RF: Transformarea y U 1 y data de U 1 y = y νu: daca β 0 t = u 1 u 1 = β m ν = ( u i y i )/β i=1 x i y i νu i i = 1 : m u 1 = t

170 Transformari elementare - exemplu reflector 2 Fie vectorul x = 2 0. Un reflector de ordin 4 si indice 1 care 1 anuleaza ultimile 3 componente din x se defineste astfel: σ = = 3 (semnul lui x 1 este +) si vectorul Householder u = [5/3 2/3 0 1/3] T. In plus β = 5/3. Reflectorul are forma: U 1 = I 4 uut β = Vectorul transformat x = U 1 x este

171 Transformari ortogonale - rotatii Pentru m = 2 o rotatie de unghi θ este data de matricea: [ ] cosθ sinθ P = sinθ cosθ Rotatia (transformarea Givens) de ordin m > 2 in planul (k,i): I k 1 c s P ki = I i k 1 s c, unde c2 +s 2 = 1 I m i Observatie: o rotatie nu este matrice simetrica, dar este matrice ortogonala: Pki TP ki = P ki Pki T = I m. Rotatia P ki aplicata unui vector x modifica doar componentele (k,i) din x: x l, pentru l k,i (P ki x) l = cx k +sx i, pentru l = k cx i sx k, pentru l = i P ki aplicata matricei A, i.e. P ki A, modifica doar liniile (k,i) din A.

172 Transformari ortogonale - rotatii Rotatiile pot introduce un zerou intr-un vector. Fiind dat un vector x R m, putem determina o rotatie P ki a.i. componenta i din vectorul transformat este nula, i.e. (P ki x) i = 0. Propozitie: Pentru k i 1 : m si x R m a.i. r = xk 2 +x2 i 0, definim numerele reale: c = x k si s = x i r r. Atunci rotatia P ki de ordin m in planul (k,i) satisface: x l, pentru l k,i (P ki x) l = r, pentru l = k 0, pentru l = i Observatie: rotatiile permit anularea unei singure componente din vector se utilizeaza in matrici structurate. Pentru a anula mai multe componente dintr-un vector,utilizam o secventa de rotatii: P k = P km P k,k+1 a.i. (P k x) i = 0 i = k +1 : m

173 Transformari ortogonale - rotatii Pentru a asigura stabilitate numerica, semnul lui r se alege a.i. r si cel mai mare (in modul) dintre x k si x i sa aiba acelasi semn! Algorithm ROTG: Se genereaza o rotatie P si se aplica transformarea pe x R 2. Pe pozitia elementului anulat x 2 se returneaza scalarul z care permite reconstructia parametrilor c, s. r = x daca x 2 > x 1 r = sgn(x 2 )r altfel r = sgn(x 1 )r c = x 1 /r, s = x 2 /r, x 1 = r daca c = 0 atunci z = 1 altfel daca x 2 x 1 atunci z = 1/c altfel z = s x 2 = z %calculul lui z

174 Transformari ortogonale - rotatii Fie acum P o rotatie data, generata de alg. ROTG, iar y R 2 un vector arbitrar. Consideram aplicarea transformarii y Py. Algorithm ROT: Transformarea y Py: %reconstructia perechii (c, s) daca z = 1 c = 0, s = 1 altfel daca z > 1 c = 1/z, s = 1 c 2 altfel s = z, c = 1 s 2 %se aplica transformarea t = x 1 x 1 = ct +sx 2 x 2 = cx 2 st

175 Transformari elementare - exemplu rotatie 3 Fie vectorul x = 2. O rotatie in planul (1,3) care anuleaza 4 componenta 3 din x se defineste astfel: r = = 5 (semnul este dat de x 3 deoarece x 3 > x 1 ) si c = 3/5, s = 4/5. Rotatia are forma: 3/5 0 4/5 P 13 = /5 0 3/5 5 Vectorul transformat x = P 13 x este 2. 0

176 Triangularizare ortogonala In cele ce urmeaza, descriem proceduri de triangularizare folosind transformari ortogonale. Reamintim ca reflectorii si rotatiile sunt transformari ortogonale: U T U = P T P = I m! Teorema. Pentru oricare matrice A R m n, exista o matrice de transformare ortogonala U = Q T a.i. matricea UA = Q T A = R este superior triunghiulara (sau echivalent A poate fi scrisa sub forma unui produs A = QR, unde Q ortogonala si R superior triunghiulara, numita factorizarea QR). Demonstratia descrie o procedura de reducere efectiva a matricei A la forma superior triunghiulara R: (i) In cazul m > n procedura consta in n pasi, construind U = U n U 2 U 1 : initializam A 1 = A si apoi iteram Pas 1 : A 2 = U 1 A 1 = U 1 A, Pas 2 : A 3 = U 2 A 2 = U 2 U 1 A, Pas n : A n+1 = U n A n = U n U } n 1 U {{} 1 A = R U

177 Triangularizare ortogonala Demonstratie: Pasul 1. Fie A 1 = A si a 1 = Ae 1. Daca a 1 const. e 1, atunci exista un reflector U 1 de ordin m si indice 1 a.i. (U 1 a 1 ) i = 0, pentru i = 2 : n adica matricea A 2 = U 1 A are toate elementele subdiagonale ale primei coloane egale cu 0: r 11 r r 1n 0 a (2) a (2) 2n A 2 = 0 a (2) a (2) 3n a (2) m2... a mn (2) Matricea A 2 reprezinta rezultatul Pasului 1.

178 Triangularizare ortogonala Demonstratie (continuare): Pasul k = 2 : n. Presupunem ca matricea curenta A k = U k 1 U 2 U 1 A r 11 r r 1,k 1 r 1k... r 1,n 0 r r 2,k 1 r 2k... r 2,n r 3,k 1 r 3k... r 3,n A k = r k 1,k 1 r k 1,k... r k 1,n a (k) k,k... a (k) k,n a (k) m,k este superior triunghiulara in primele k 1 coloane. Daca a (k) i,k... a (k) m,n, i = k +1 : m nu sunt toate nule, atunci exista un reflector U k de ordin m si indice k a.i. (U k a (k) k ) i = 0 i = k +1 : m.

179 Triangularizare ortogonala Deci A k este superior triunghiulara in primele k 1 coloane. Exista un reflector U k de ordin m si indice k a.i. (U k a (k) k ) i = 0 i = k +1 : m. Tinand cont coloana j = 1 : k 1 din A k are ultimele m k +1 elemente 0 si vectorul Hauseholder u k are primele k 1 componente 0, atunci produsul scalar intre coloana r j din A k cu vectorul Hauseholder u k este zero si deci ν = rj T u k /β = 0. In concluzie, din U k x = x νu, obtinem ca A k+1 = U k A k are primele k 1 coloane nemodificate, iar in coloana k elementele subdiagonale sunt nule. Mai mult, deoarece este reflector de indice k, primele k 1 linii din A k raman nemodificate In concluzie, avem: [ Ik 1 0 A k+1 = U k A k = 0 Ũ 1 ][ R k 1 R k 1 0 A kk ] = [ R k 1 R k 1 ] 0 Ũ 1 A kk

180 Triangularizare ortogonala Daca A k este superior triunghiulara in primele k 1 coloane. Exista un reflector U k de ordin m si indice k a.i. (U k a (k) k ) i = 0 i = k +1 : m. Deci folosind aceasta transformare, obtinem: [ ][ Ik 1 0 R A k+1 = U k A k = k 1 R ] k 1 0 Ũ 1 0 A kk = [ R k 1 R k 1 ] 0 Ũ 1 A kk Prin urmare, matricea A k+1 = U k A k este sup. tr. in primele k coloane; continuand procedura pana [ ] la pasul n (inclusiv), obtinem R def R = A n+1 = U n U } n 1 U {{} 1 A =, cu R 0 R n n sup. tr. si U ortogonala. U

181 Triangularizare ortogonala (ii) In cazul m n procedura consta in m 1 pasi, construind U = U m 1 U 2 U 1 : initializam A 1 = A si apoi iteram Pas 1 : A 2 = U 1 A 1 = U 1 A, Pas 2 : A 3 = U 2 A 2 = U 2 U 1 A, Pas m 1 : R = A m = U m 1 A m 1 = U m 1 U } m 2 U {{ 1 A = [R S], } U unde R R m m este sup. tr., iar S o matrice fara structura. Observatie: Aceasta triangularizare ortogonala se poate folosi si pentru m = n, i.e. in locul eliminarii gaussiene! Aceasta procedura necesita aproximativ 2(mn 2 n 3 /3) operatii, care in cazul m = n se reduce la 4 3 n3 (i.e. complexitate dubla fata de algoritmul de eliminare gaussiana). De aceea, in cazul patratic se prefera algoritmul de eliminare gaussiana.

182 Triangularizare ortogonala Algoritmul QR. (Se da A R m n si efectuam triang. ortog. Q T A = R, unde Q T = U s U 1, iar U k = Uk T reflectori. Partea esentiala u k (k +1 : m) a vectorilor Householder u k se memoreaza in A(k +1 : m,k) si se tine seama ca u kk = β k. Elementele nenule din R suprascriu triunghiul superior din A) 1. Pentru k = 1 : s = min(m 1,n) 1. Calculam σ = A(k : m,k) 2. Daca σ 0 atunci σ = sgn(a kk )σ %determinam U k 1. a ik u ik = a ik /σ pentru i = k : m 2. β k u kk = 1+a kk 3. Pentru j = k +1 : n %aplicam U k m 1. ν = u ik a ij /β k i=k 2. a ij a ij νu ik pentru i = k : m 4. a kk = σ

183 Triangularizare ortogonala - exemplu 1 Aplicam procedura de triangularizare ortogonala matricii 2 3 A = Pasul 1. Se urmareste anularea elementelor a 21 si a 31 cu un reflector U 1. Calculam σ = 2 2 +( 1) = 3 (semnul lui a 11 este +) si atunci vectorul Hauseholder u 1 = [5/3 1/3 2/3] T si β 1 = 5/3. Definim apoi reflectorul: U 1 = I 3 u 1u T 1 β 1 = Din premultiplicarea matricii A avem: 3 1 A 2 = U 1 A =

184 Triangularizare ortogonala - exemplu 1 Pasul 2. Se urmareste anularea elementului a 32 cu un reflector U 2. Calculam σ = (1.8) 2 +( 2.6) 2 = 10 (semnul lui a (2) 22 este +) si atunci vectorul Hauseholder u 2 = [ ] T si β 2 = Definim apoi reflectorul: U 2 = I 3 u 2u T 2 β 2 = Din premultiplicarea matricii A2 avem: 3 1 R = A 3 = U 2 A 2 = In final, matricea ortogonala Q: Q T = U 2 U 1 =

185 Triangularizare ortogonala - exemplu 2 [ ] R Consideram matricea cu structura: A = R C m n, unde R R n n este deja sup. tr., iar C R (m n) n este matrice oarecare. Schema de triangularizare ortogonala este: [ ] Q T R A = U n U 1 A = 0 in care reflectorii U k sunt determinati de vectorii Householder: u k = [0 0 u kk 0 0 u n+1,k u mk ] T pentru a anula complet coloana k din C. Mai mult, datorita structurii de zerouri intre pozitiile k +1 si n din u k, liniile i = k +1 : n din A raman nemodificate. In acest caz, numarul de operatii se reduc de la 2(mn 2 n 3 /3) la 2(m n)n 2!

186 Factorizarea QR: m n Pentru cazul m n avem: [ ] R A = QR = R =, cu R R n n si Q = U 0 1 U n Partitionand si Q conform cu R: Q = [Q Q ], cu Q R m n si Q Rm (m n) observam ca (Q ) T Q = I n, i.e. Q are coloanele ortogonale, si: Teorema: A = Q R Orice matrice A R m n, cu m n, poate fi scrisa sub forma A = Q R, unde Q R m n are coloanele ortogonale si R R n n sup. triunghiulara (numita fctorizarea QR). Daca A monica (coloanele independente), atunci R inversabila. Factorizarea QR este unica daca impunem R sa aiba elemente diagonale pozitive.

187 Triangularizare ortogonala Algoritmul GQR. (Utilizand iesirea Alg. QR cu m n, se efectueaza direct acumularea in A a primelor n coloane Q din Q = Q 1 Q s, unde Q i = U i ) 1. Pentru j = 2 : n 1. a ij = 0 pentru i = 1 : j 1 2. Pentru k = n : 1 : 1 daca β k 0 atunci 1. a kk u kk = β k 2. Pentru j = k +1 : n m 1. ν = u ik a ij /β k i=k 2. a ij a ij νu ik pentru i = k : m 3. a ik a ik i = k : m; a kk = 1+a kk altfel 4. a ik = 0 i = k +1 : m; a kk = 1

188 Legatura intre factorizarea QR si Cholesky Matricea monica A R m n, atunci A T A gramian al (coloanelor) lui A (mat. poz. definita). Atunci mat. sup tr. R din factorizarea QR a lui A coincide cu factorul Cholesky al gramianului. (i) daca se cunoaste factorizarea Cholesky a lui A T A atunci se poate determina economic factorizarea QR a lui A: e.g. A T A = R T R, atunci calculam Q = AR 1 din rezolvarea sistemului sup tr. QR = A. Observatie: nu se recomanda aceasta procedura deoarece necesita calcularea lui A T A care este rau conditionata (necesita ridicarea la patrat a elementelor din A). Regula de aur: evitarea formarii gramianului A T A in favoarea operarii directe asupra lui A. (ii) anumite probleme de factorizare LU sau Cholesky pot fi reformulate in termeni de factorizare QR (procedura care este mult mai stabila).

189 Legatura intre factorizarea QR si Cholesky Anumite probleme de factorizare LU sau Cholesky pot fi reformulate in termeni de factorizare QR, procedura numita de radacina patrata. Exemplu: fie G = R T R mat. poz. definita cu factorul Cholesky R cunoscut si se cere factorizarea Cholesky R + a matricei modificate G + = G +C T C, C R l n e.g. C = c T (actualizare rang 1). Problema factorizarii Cholesky a lui G + se poate face fara a forma explicit G + : [ ] G + = [R T C T R ] = A T C +A + Factorul Cholesky R + poate fi determinat din triangularizarea matricei A + = Q + R + ce depinde de (R,C), i.e. G + = R T + R +.

190 Interpretarea geometrica a factorizarii QR Matricea monica A R m n avand factorizarea A = Q R satisface: Ax = Q (R x), si cum R inversabila rezulta ca S = Im A = Im Q, i.e. coloanele lui A si Q genereaza acelasi subspatiu S. De fapt coloanele lui A (Q ) formeaza o baza (ortogonala) a lui S. In acest caz proiectorul ortogonal pe S este: P 1 = A(A T A) 1 A T = Q Q,T Aratati ca P 2 1 = P 1, P T 1 = P 1 si S = Im P 1! Similar coloanele lui Q R m (m n) formeaza o baza ortogonala a subspatiului complementar S = Ker A T, iar proiectorul ortogonal pe S este P 2 = Q Q,T si P 1 +P 2 = I m Concluzie: partitia Q = [Q Q ] corespunde descompunerii ortogonale R m = Im A Ker A T

191 Rezolvarea problemei CMMP: m > n Daca m > n (sistem supradeterminat), cautam o solutie aproximativa a.i. reziduul r = b Ax sa fie cat mai mic, i.e. x = arg min x Rn b Ax (CMMP) Teorema: Problema (CMMP) are solutie unica A este monica, i.e. m n si rang A = n. In acest caz, pseudosolutia in sens CMMP a sistemului Ax = b are forma: x = (A T A) 1 A T b = A + b }{{} A +

192 Rezolvarea problemei CMMP: m > n Demonstratie: Existenta solutiei: fie S = Im A si S = Ker A T. Atunci descompunem b = b 1 +b 2 cu b 1 S si b 2 S si avem: Din teorema lui Pitagora: r = b Ax = b }{{} 2 +(b 1 Ax) }{{} S b Ax 2 = b 1 Ax 2 + b 2 2 b 2 2 x R n Cum b 1 S = Im A, atunci exista un x a.i. Ax = b 1 si deci solutie a problemei (CMMP). Expresia solutiei: fie r = b Ax, atunci r = b 2 Ker A T. Deci avem: S A T r = 0 r =b Ax 0 = A T b A T Ax Cum A este monica, A T A este pozitiv definita si deci inversabila, i.e. x = (A T A) 1 A T b.

193 Rezolvarea problemei CMMP - interpretarea geometrica Se observa ca cea mai buna aproximare b = Ax a lui b pe S = Im A coincide cu proiectia ortogonala b 1, i.e. b = b 1. Distanta minima de la un punct b la un subspatiu S este lungimea perpendicularei duse din b pe S, i.e. b 2.

194 Calculul solutiei CMMP: m > n Solutia CMMP pt. Ax = b se calculeaza din factorizarea QR: [ ] Q T R A = 0 [ ] si Q T d b = d = d [ R 0 ] x = [ ] d In general d 0 si deci sistemul Ax = b este incompatibil. Pentru a determina pseudosolutia x, consideram reziduul r = b Ax: [ Q T d r = R ] x d Cum Q este ortogonala, avem r = Q T r. Prin urmare: r 2 = Q T r 2 = d R x 2 + d 2 d 2 x R n Minimizand in raport cu x obtinem conditia: R x = d. In concluzie, pseudosolutia CMMP se obtine din rezolvarea sistemului superior triunghiular nesingular, i.e. x = (R ) 1 d = [(R ) 1 0]Q T b = (R ) 1 (Q ) T b d

195 Calculul solutiei CMMP: m > n Algoritmul SQR. (Utilizand iesirea Alg. QR cu m n, se calculeaza in x solutia CMMP a sistemului Ax = b) 1. Pentru k = 1 : n %calculam d = Q T b 1. t = a kk = 0 2. a kk u kk = β k m 3. ν = u ik b i /β k i=k 4. b i b i νu ik pentru i = k : m 5. a kk = t 2. Pentru k = n : 1 : 1 %calculam pseudosolutia CMMP n 1. x k = (b k a kj x j )/a kk j=k+1

196 Problema CMMP - exemplu Consideram problema CMMP asociata sistemului: x = Din calcule anterioare am gasit: R = Q T A = si Q T = Trebuie sa calculam: Q T b = 0.01 de unde obtinem: 3.14 [ ] [ ] R 3 1 = si d 1.98 = = R x = d [ ] x 0.65 = 0.003

197 Problema CMMP cu membru drept multiplu Fie A R m n si B R m p. Problema rezolvarii sistemului cu membru drept multiplu in sens CMMP este: AX = B a.i. norma reziduului R = B AX in norma Frobenius sa fie minima: X = arg min X R n p B AX F Partitionand B,X si R pe coloane r j = b j Ax j, trebuie sa rezolvam p probleme CMMP clasice min xj b j Ax j. Deci obtinem pseudosolutia CMMP: X = A + B Se efectueaza o singura data triangularea ortogonala a lui A si apoi se aplica de p ori Alg. SQR.

198 Calculul pseudoinversei A + Pseudoinversa are cateva proprietati importante 1. A + A = I n 2. AA + = (AA + ) T Prima relatie ne spune ca A + R n m este inversa la stanga a lui A, deci rang A + = n, i.e. A + este epica (liniile linear independente) matricea simetrica P 1 = AA + este proiectorul ortogonal pe S = Im A Daca consideram sistemul cu partea dreapta multipla B = I m, gasim X = A + B = A +, deci A + este solutia unica a problemei A + = arg min X R n m I m AX F Calcularea A + in acest fel nu este eficienta, deoarece nu se ia in calcul structura lui B = I m. Dar din solutia CMMP se stie ca: A + = [(R ) 1 0]Q T = (R ) 1 (Q ) T

199 Sisteme liniare subdeterminate: m n Teorema: Oricare ar fi A R m n cu m n, exista o matrice ortogonala V T = Z a.i. AZ = AV T = L unde L este matrice inferior triunghiulara. Factorizarea LQ: din teorema precedenta obtinem: A = LV cu L = [L 0] si L R m m inf. tr. Partitionand V = Z T conform cu L, i.e. [ ] V V = si Z = [Z Z ] V Deci A = L V cu V R m n a.i. V (V ) T = I m (liniile ortog.) Teorema: Orice A R m n cu m n, admite o factorizare LQ, i.e. A = LV, unde L R m m inferior triunghiulara si V R m n are liniile ortogonale VV T = I m.

200 Rezolvarea problemei CMMP: m n Daca m n (sistem subdeterminat), cautam o solutie normala a sistemului b = Ax, i.e. x = arg min x R n :Ax=b x (CMMP) Teorema: Problema (CMMP) are solutie unica A este epica, i.e. m n si rang A = m. In acest caz, pseudosolutia in sens CMMP a sistemului Ax = b are forma: x = A T (AA T ) 1 b = A + b }{{} A +

201 Calculul solutiei CMMP: m n Solutia CMMP pt. Ax = b se calculeaza din factorizarea LQ: AZ = [L 0] unde L inferior triunghiulara inversabila si Z ortogonala. Notam: [ ] u x = Zu cu u =, u R m [ ] u Deci sistemul Ax = b se rescrie: [L 0] = b sau echivalent u u L u = b si u liber Cum Z este ortogonala, avem u = Zu. Prin urmare: x 2 = Zu 2 = u 2 = u 2 + u 2 u 2 Obtinem conditia: (u ) = 0. Solutia normala CMMP este: [ x (L = Z ) 1 ] b = Z (L ) 1 b 0 }{{} A +

202 Conditionarea problemelor CMMP Considerand sistemul Ax = b, solutia in sens CMMP este data de: x = A + b Definim numarul de conditionare bazat pe norma spectrala 2 : κ(a) = A A + Consideram sistemul perturbat: (A+E)x = b +f unde E ǫ A, f ǫ b Atunci sensibilitatea relativa a solutiei CMMP este data de: In cazul A monica (coloanele liniar independente) sensibilitatea este proportionala in cel mai rau caz cu patratul numarului de conditionare: ˆx x x κ 2 (A)O(ǫ) In cazul A epica (liniile liniar independente), sensibilitatea solutiei este proportionala cu numarul de conditionare: ˆx x x κ(a)o(ǫ)

203 Triangularizarea ortogonala completa Teorema: Fie A R m n cu rang A = r. Atunci exista doua matrici ortogonale Q R m m si Z R n n precum si o matrice de permutare Π a.i. Q T AΠZ = S = [ ] S 0, unde S R r r sup. tr. inversabila. 0 0 Problema generala CMMP: fie sistemul Ax = b atunci problema CMMP consta in determinarea solutiei normale a problemei: x = arg min x x X =argmin x Ax b Solutia normala a problemei CMMP generale este: [ x (S = ΠZ ) 1 ] 0 Q T b 0 0 }{{} A + vezi si capitolul DVS (curs XI)!

204 Metode Numerice Curs V Valori si vectori proprii Ion Necoara 2014

205 Calculul valorilor si vectorilor proprii Valorile si vectorii proprii joaca un rol fundamental in descrierea matematica a unor categorii foarte largi de procese tehnice, economice, biologice, etc. Proprietati esentiale (e.g. stabilitatea) ale modelelor matematice cunoscute sub denumirea de sisteme dinamice se exprima in raport cu valorile proprii ale unor matrice. In acest context, calculul cat mai eficient si mai exact al valorilor si vectorilor proprii se impune cu necesitate. C. Popeea et al.

206 Istoric I Initial, notiunile de valoare/vector propriu apar in studiul formelor patratice si al ecuatiilor diferentiale. Euler (sec. XVIII) a studiat miscarea de rotatie a unui corp rigid si a evidentiat importanta axelor principale de rotatie. Lagrange a descoperit ca axele principale sunt vectorii proprii ai matricii de inertie. Cauchy (sec. XIX) a introdus termenul racine caracteristique (radacina caracteristica) echivalentul valorii proprii; pe baza ideilor lui Fourier si Sturm, Cauchy stabileste rezultatul fundamental ca orice matrice reala simetrica are valori proprii reale (extins de Hermite in 1855 la matrici Hermitiene).

207 Istoric II Hilbert (sec. XX) studiaza valorile proprii ale operatorilor integrali considerand operatorii matrici infinite. Este primul care foloseste termenul german eigen insemnand propriu, pentru a nota valorile/vectorii proprii (in 1904). Termenul corespunzator in engleza: proper value, dar eigenvalue este standard. Primul algoritm numeric pentru calcularea valorilor/vectorilor proprii apare in 1929, cand Von Mises publica metoda puterii. Una din cele mai populare metode, algoritmul QR, a fost propus independent de John G.F. Francis and Vera Kublanovskaya in Definitie: Fie o matrice A C n n. Un numar λ C se numeste valoarea proprie a matricei A, daca exista un vector propriu nenul x C n astfel incat: Ax = λx.

208 Aplicatia I - stabilitatea sistemelor Stabilitatea sistemelor dinamice: dinamica continua in spatiul starilor: x = Ax sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in partea stanga a planului complex dinamica discreta in spatiul starilor: x t+1 = Ax t sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in discul unitate

209 Stabilitatea sistemelor - cazul continuu dinamica continua in spatiul starilor: x = Ax sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in partea stanga a planului complex Demonstratie: observam ca x t = e At x 0. Deci sistemul este stabil daca oricare ar fi x 0 avem ca lim x t = 0. t Aceasta este echivalent cu lim t e At = 0. Dar daca A are valori proprii distincte λ i cu vectorii proprii corespunzatori x i atunci vom arata ca ea este diagonalozabila si deci matricea X = [x 1 x n ] este inversabila, satisfacand: A = Xdiag(λ 1 λ n )X 1. In concluzie, e At = Xdiag(e λ 1t e λnt )X 1 converge la 0 daca toate valorile proprii λ i au partea reala negativa. Cand valorile proprii nu sunt toate distincte, se foloseste forma Jordan.

210 Stabilitatea sistemelor - cazul discret dinamica discreta in spatiul starilor: x t+1 = Ax t sistemul este stabil daca toate valorile proprii λ i ale lui A sunt in discul unitate Demonstratie: observam ca x t = A t x 0. Deci sistemul este stabil daca oricare ar fi x 0 avem ca lim x t = 0. t Aceasta este echivalent cu lim t A t = 0. Dar daca A are valori proprii distincte λ i cu vectorii proprii corespunzatori x i atunci vom arata ca matricea X = [x 1 x n ] este inversabila si A = Xdiag(λ 1 λ n )X 1. In concluzie, A t = Xdiag(λ t 1 λt n)x 1 converge la 0 daca toate valorile proprii λ i < 1. Cand valorile proprii nu sunt toate distincte se foloseste forma Jordan.

211 Aplicatia II: model al cresterii populatiei Grupam populatia in n clase de varsta de durata egala (notam cu L varsta maxima): [ 0, ) L, n [ ) [ ) L n, 2L (n 1)L, L n n numarul populatiei in fiecare clasa de varsta este reprezentat de vectorul de distributie a varstei: x = [x 1 x n ] T. peste o perioada de L/n ani, probabilitatea ca un membru din clasa de varsta i sa supravietuiasca si sa devina un membru in clasa de varsta i +1 este data de p i. numarul mediu de nou-nascuti ai unui membru din clasa de varsta i este data de b i. Definim matricea de tranzitie a varstei: b 1 b 2 b n 1 b n p A = 0 p p n 1 0

212 Aplicatia II: model al cresterii populatiei Folosind matricea de tranzitie a varstei b 1 b 2 b n 1 b n p A = 0 p p n 1 0 putem estima vectorul de distributie a varstei la o anumita perioada de timp pe baza vectorului de tranzitie de la perioada de timp anterioara: x i+1 = Ax i Populatia este stabila daca acelasi procentaj din populatia totala se regaseste in fiecare clasa de varsta: x i+1 = Ax i = λx i

213 Aplicatia III: analiza componentelor principale Analiza componentelor principale (PCA) reprezinta o procedura statistica ce realizeaza, prin transformari ortogonale, conversia unui set de esantioane date (ale unor variabile posibil corelate) intr-un set de valori liniar necorelate, numite componente principale. Transformarea este realizata astfel incat prima componenta principala are cea mai mare varianta posibila (explica variatia cea mai mare a datelor). Componentele principale sunt ortogonale, deoarece reprezinta vectorii proprii ai matricii (simetrice) de covarianta.

214 Aplicatia III: analiza componentelor principale PCA este definita de o transformare liniara ortogonala ce aduce datele intrun nou sistem de coordonate, astfel incat varianta maxima obtinuta prin proiectii ale datelor se afla pe prima coordonata (numita prima componenta principala), a doua cea mai mare varianta pe a doua coordonata s.a.m.d. Consideram X R n p, unde fiecare din cele n linii denota o repetitie separata a experimentului, si fiecare din cele p coloane denota un tip particular de date (e.g. rezultatele de un anumit senzor).

215 Aplicatia III: calculul primei componente Transformarea este definita de vectorii de ponderi w (k) R p ce mapeaza fiecare linie x (i) a lui X intr-un nou vector de componente principale t (i) R p, t k(i) = x T (i) w (k) astfel incat componentele lui t (in raport cu setul de date) mostenesc succesiv varianta maxima posibila de la x, cu vectorii de ponderi w pe sfera unitate. Primul vector de ponderi w (1) satisface w (1) = arg max w =1 { } (t 1 ) 2 (i) Conexiune cu catul Rayleigh! i = arg max w =1 (x T (i) w)2 = arg max w =1 Xw 2. Interpretare: w (1) vectorul propriu al matricii X T X coresp. valorii proprii maxime! i

216 Aplicatia IV: eigenfaces Eigenfaces reprezinta numele colectiei de vectori proprii pentru aplicatiile din domeniile vederii artificiale si recunoasterii portretelor umane. Strategia ce foloseste Eigenfaces pentru recunoastere a fost dezvoltata de Sirovich si Kirby (1987). Vectorii proprii sunt derivati din matricea de covarianta a distributiei de probabilitate peste spatiul vectorial al imaginilor de portrete. Eigenfaces formeaza o baza a imaginilor ce construiesc matricea de covarianta. Clasificarea se realizeaza prin compararea reprezentarilor in baza Eigenfaces.

217 Aplicatia IV: eigenfaces + PCA Recunoastere de imagini: Combinatie Eigenfaces + PCA. Consideram 300 de imagini , in scara de gri; fiecare imagine reprezinta un vector de dimensiune 10, 000 si matricea de covarianta S contine 10,000 10,000 = 10 8 elemente. rangul matricii de covarianta este limitat de numarul de imagini de antrenare: avem N exemple de antrenare, atunci avem cel mult N 1 vectori proprii cu valorilor proprii nenule. Fie T matricea exemplelor de antrenare, unde fiecare coloana reprezinta o imagine. Matricea de covarianta poate fi calculata S = TT T si descompunerea vectorilor proprii a lui S Sv i = TT T v i = λ i v i.

218 Aplicatia IV: eigenfaces + PCA Luand in calcul ca S = TT T R are dimensiuni mari, realizam descompunerea pentru T T T si pre-multiplicam cu T: TT T Tu i = λ i Tu i. Daca u i R 300 este vector propriu al matricii T T T R , atunci v i = Tu i R 104 este vector propriu al matricii S. Se determina componenta principala (vectorul propriu maximal al matricii S) prin operatii cu matricea de dimensiuni mult mai reduse T T T R Clasificarea imaginilor de portrete se realizeaza prin proiectia imaginii de test (sau antrenare) pe vectorul propriu obtinut din pasii anteriori, si masurarea diferentelor dintre proiectie si un portret mediu.

219 Valori si vectori proprii - generalitati Definitie. Fie o matrice A C n n. Un numar λ C se numeste valoarea proprie a matricei A, daca exista un vector nenul x C n astfel incat Ax = λx. Un vector x 0 ce satisface relatia de mai sus se numeste vector propriu al matricei A asociat valorii proprii λ. Valorile proprii ale matricei A C n n sunt zerourile polinomului caracteristic p(λ) = det(λi n A), care este un polinom de gradul n cu coeficienti complecsi. Daca matricea este reala (i.e. A R n n ), atunci polinomul p(λ) are coeficienti reali si valorile proprii complexe apar in perechi complex-conjugate.

220 Valori si vectori proprii - generalitati Ordinul de multiplicitate n i a valorii proprii λ i, se numeste multiplicitate algebrica a valorii proprii respective. Daca n i = 1 atunci λ i se numeste simpla. Multimea λ(a) = {λ 1,...,λ n } = {λ C det(λi A) = 0} se numeste spectrul matricei A. Numarul real nenegativ ρ(a) = max{ λ 1,..., λ n } se numeste raza spectrala a matricii A. Deci, valorile proprii se afla in discul cu centrul in origine si raza ρ(a) (i.e. λ i ρ(a)). Valorile proprii satisfac: n λ i = i=1 n a i = tr(a), i=1 n λ i = det(a). i=1

221 Valori si vectori proprii - generalitati Vectorii proprii din definitia precendenta sunt denumiti vectori proprii la dreapta ai matricii A si satisfac sistemul liniar omogen (λi n A)x = 0. Vectorii proprii asociati valorilor proprii distincte sunt liniar independenti. Vectorii proprii la stanga sunt vectori nenuli y C n ce satisfac y H A = λy H A H y = λy, unde H reprezinta operatorul cumulat de transpunere si conjugare. De aici rezulta λ(a H ) = λ(a). Pe de alta parte, din det(λi n A) = det(λi n A T ) avem ca A si A T au acelasi spectru, i.e. in cazul real λ(a T ) = λ(a), dar vectorii proprii, in general, difera. Vectorii proprii reali ai matricei A T sunt vectori proprii la stanga ai matricei A.

222 Valori si vectori proprii - generalitati Observam ca daca x i este un vector propriu al matricii A asociat valorii proprii λ i, atunci y i = αx i este, de asemenea, vector propriu al matricii A asociat aceleiasi valori proprii, pentru orice α C,α 0. Multimea vectorilor proprii asociati valorii proprii λ i, impreuna cu vectorul nul din C n formeaza subspatiul V i = Ker(λ i I n A) C n numit subspatiul propriu asociat valorii proprii λ i. Dimensiunea ν i = dimv i a subspatiului propriu, i.e. numarul de vectori proprii liniar independenti asociati lui λ i, se numeste multiplicitate geometrica a valorii proprii λ i. Este evident ν i n i.

223 Subspatii invariante Definitie. Fie o matrice A R n n. Un subspatiu liniar V R n se numeste subspatiu invariant al matricei A (sau A invariant) daca AV V, i.e. Ax V, x V. Proprietati ale subspatiilor invariante: Fie matricea A R n n. 1. Daca x 1,...,x p sunt vectorii proprii ai matricei A, atunci subspatiul S = Im[x 1 x 2... x p ] R n este A invariant. 2. Daca S este un subspatiu A invariant cu dims = p si coloanele matricei (monice) V = [v 1 v 2...v p ] R n p formeaza o baza a lui S, atunci exista B R p p astfel incat Mai mult, avem λ(b) λ(a). AV = VB.

224 Subspatii invariante 3. Complementul ortogonal T = S in C n al subspatiului A invariant S este un subspatiu A H invariant. Observatii: Orice subspatiu A invariant nenul (i.e. p 1) contine un vector propriu al matricei A. Reciproc, daca are loc relatia AV = VB, atunci ImV este un subspatiu A invariant. Subspatiul A invariant generat de vect. proprii reali este real. Daca x 1,2 = v 1 ±iv 2,v 1,v 2 R n, sunt vectori proprii reali asociati unei perechi de valori proprii complex conjugate λ 1,2 = α±iβ,α,β R,β 0, atunci vectorii v 1,v 2 sunt liniar independenti si S = Im[v 1 v 2 ] este un subspatiu A invariant.

225 Subspatii invariante - Exemplu Se considera matricea A = care are polinomul caracteristic p(λ) = det(λi 3 A) = λ 3 4λ 2 +6λ 4 si valorile proprii λ 1 = 2 si λ 2,3 = 1±i. Vectorii x 1 = v 1 = 1, x 2,3 = v 2 ±iv 3 = 1 ±i sunt vectori proprii ai matricei A asociati valorilor proprii λ 1 si, respectiv, λ 2,3.

226 Subspatii invariante - Exemplu Fie V 1 = v 1 si V 23 = [v 2 v 3 ]. Avem urmatoarele relatii (verificati!): [ ] 1 1 AV 1 = V 1 B 1 cu B 1 = 2, AV 23 = V 23 B 23 cu B 23 = 1 1 si prin urmare, S 1 = ImV 1 si S 23 = ImV 23 sunt subspatii A invariante. Exercitiu. Calculati complementele ortogonale in R 3 ale celor doua subspatii si verificati ca aceste subspatii sunt A T invariante.

227 Matrice asemenea Definitie. Doua matrice A,B R n n se numesc asemenea daca exista o matrice nesingulara T R n n astfel incat B = T 1 AT. Daca matricea de transformare T este unitara, atunci matricele A si B se numesc unitar asemenea. In cazul real, daca matricea de transformare T este ortogonala, matricele A si B se numesc ortogonal asemenea. Observatii: Daca matricele A,B satisfac B = T 1 AT, i.e. sunt asemenea, atunci ele au acelasi spectru λ(a) = λ(b). Daca x este un vector propriu al matricei A asociat valorii proprii λ λ(a), atunci vectorul y = T 1 x este un vectorul propriu al matricei B, asociat aceleiasi valori proprii.

228 Matrice asemenea - Caz particular Consideram matrici de ordin n ce admit un set (complet) de n vectori proprii liniar independenti. S-a demonstrat ca, utilizand ca matrice de transformare T = X, unde X este o matrice avand drept coloane n vectori proprii liniar independenti ai matricei A, obtinem o matrice diagonala: X 1 AX = Λ = diag(λ 1,λ 2,...,λ n ). In acest caz, A se numeste diagonalizabila (peste C). Observatie. Daca o matrice n n are n valori proprii distincte, atunci este diagonalizabila dar reciproca nu este, in general, adevarata.

229 Matrici normale - caz real/complex Definitie. Fie A C n n. Matricea A se numeste normala daca A H A = AA H. In cazul real, matricea A R n n este normala daca A T A = AA T. Reamintim: A se numeste hermitica daca A H = A, si simetrica daca A T = A; A se numeste unitara daca A H A = I n, si ortogonala daca A T A = I n.

230 Matrici normale - proprietati Matricile hermitice si cele unitare sunt matrice normale. Matricile hermitice au proprietatea ca elementele simetrice fata de diagonala principala sunt complex conjugate a ij = ā ij,i,j 1 : n. Deci elementele diagonale ale matricilor hermitice sunt reale. 1 2 i 1+i Exemplu: A = 2+i 1 1 3i. 1 i 1+3i 1 O matrice hermitica/unitara reala este simetrica/ortogonala. Matricele reale simetrice sau ortogonale sunt normale. Exista matrice normale care[ nu sunt ] nici simetrice nici 1 1 ortogonale. Exemplu: A =. 1 1

231 Matrici reale diagonalizabile Teorema. O matrice n n reala A este normala daca si numai daca admite un set complet de n vectori proprii ortogonali, adica exista o matrice unitara Q R n n ale carei coloane sunt vectori proprii ai matricei A astfel incat Q T AQ = Λ = diag(λ 1,λ 2,...,λ n ) R n n. Altfel spus, matricele normale sunt matricele unitar diagonalizabile (peste R).

232 Matrici simetrice Teorema. O matrice A R n n este simetrica daca si numai daca admite un set complet de n vectori proprii ortogonali si toate valorile proprii sunt reale, adica exista o matrice ortogonala Q R n n ale carei coloane sunt vectori proprii ai matricei A a. i. Q T AQ = Λ = diag(λ 1,λ 2,...,λ n ) R n n.

233 Valori proprii - matrici simetrice Fie matricea A R n n si functia reala µ : R n \{0} definita de µ(x) = xh Ax x H x. Vom considera ca spectrul λ(a) = {λ 1,...,λ n } este ordonat descrescator, i.e. λ 1 λ 2 λ n. Teorema. Valorile extreme ale functiei µ sunt date de M = max x S xh Ax = λ 1, min x S xh Ax = λ n, unde S = {x R n x 2 = x H x = 1.} Mai mult, daca W k este subspatiul A invariant asociat valorilor proprii λ j, cu j = k +1 : n, atunci max x H Ax = λ k+1. x S W k

234 Teorema Courant-Fischer Caracterizarea minimax a valorilor proprii ale unei matrice simetrice este oferita de Teorema Courant-Fisher. V = subspatiile liniare din R n ; W = V reprezinta complementele ortogonale; V S = multimea vectorilor de norma euclidiana unitara din V; W S = multimea vectorilor de norma euclidiana unitara din W; Teorema. (Courant - Fisher) Daca matricea A R n n are valorile proprii ordonate atunci pentru k 1 : n avem λ k = max dimv=k min x V S x T Ax = min dimv=k max x W S x T Ax.

235 Teorema Courant-Fischer - exemplu [ ] 2 1 Consideram A =. Spectrul matricii A este Λ(A) = {3,1}. 1 2 Observam ca orice subspatiu de dimensiune 1 determinat de baza b R 2 are forma {y R 2 : x R,bx = y.} Din Teorema Courant-Fischer avem λ 1 = max b R 2 min x R 2, x = 1 b = max b R 2 b T Ab b 2 = 3. x 2 b T Ab Observam ca orice subspatiu de dimensiune 2 determinat de baza B R 2 2 are forma {y R 2 : x R 2,Bx = y.} Din Teorema Courant-Fischer avem: λ 2 = max min b 1,b 2 R 2 x R 2, Bx =1 z=bx = max B R 2 2 min x T B T ABx z =1 zt Az = min z =1 zt Az = 1.

236 Consecinta Courant-Fischer Teorema Courant-Fisher are consecinte importante prin separarea spectrului submatricelor lider principale Teorema. (Separare) Valorile proprii ale submatricelor lider principale de ordinul k ale unei matrice simetrice separa valorile proprii ale submatricelor lider principale de ordinul k + 1, i.e. λ [k+1] 1 λ [k] 1 λ [k+1] 2 λ [k] 2 λ [k] k 1 λ[k+1] k λ [k] k λ [k+1] k+1, pentru toti k 1 : n 1.

237 Valorile proprii ale matricelor simetrice si hermitice Un rezultat util in aprecierea influentei perturbatiilor numerice simetrice este dat de teorema urmatoare. Teorema. Daca matricile simetrice A,E R n n au spectrele ordonate descrescator, atunci, avem λ k (A)+λ 1 (E) λ k (A+E) λ k (A)+λ n (E) pentru toti k 1 : n. Evidentiem o consecinta utila in evaluarea influentelor perturbatiilor numerice asupra valorilor proprii ale matricelor simetrice. Teorema. (W. - H.) Fie A,E R n n simetrice, atunci n (λ j (A+E) λ j (A)) 2 E 2 F, j=1 unde E F = i,j e2 ij = n i=1 λ2 i (E) este norma Frobenius a matricei E.

238 Valorile proprii ale matricelor antisimetrice Definitie. Matricea A R n n se numeste antisimetrica daca Proprietati: A T = A. Orice matrice antisimetrica este unitar diagonalizabila si are toate valorile proprii pur imaginare; Valori proprii complex conjugate daca n impar atunci exista o valoare proprie nula; Orice matrice antisimetrica este normala;

239 Matrici ortogonale Teorema. O matrice A R n n este ortogonala daca si numai daca admite un set complet de n vectori proprii ortogonali si toate valorile proprii sunt de modul unitar, adica este unitar diagonalizabila cu spectru unitar, respectiv exista o matrice Q C n n astfel incat Q H AQ = Λ = diag{λ 1,λ 2,...,λ n } cu λ i = 1, λ i.

240 Forma Schur Issai Schur ( ) matematician, a profesat in Germania o mare parte a vietii sale. A studiat la Berlin, a obtinut doctoratul in 1901, si a devenit lector in Apoi, dupa o perioada de sedere in Bonn, a devenit profesor in Student al lui Frobenius, s-a ocupat de reprezentari de grupuri (subiect cu care este asociat cel mai des), dar si de combinatorica, teoria numerelor si chiar fizica teoretica. Renumele de astazi i se datoreaza rezultatului in legatura cu existenta descompunerii Schur si lucrarile din reprezentarile grupurilor (lema Schur).

241 Forma Schur Ideea centrala: Transformarile de asemanare ortogonale (unitare) prezinta marele avantaj de a conserva conditionarea spectrului de valori proprii ale unei matrice date: λ(a) = λ(q T AQ) pentru orice Q ortogonala. Vom vedea ca orice matrice este unitar asemenea cu o matrice (bloc) triunghiulara, numita forma Schur. Daca se cunoaste λ Λ(A) atunci vectorul propriu asociat este o solutie nenula a unui sistem liniar omogen: (A λi n )x = 0. Daca se cunoaste un vector propriu x al matricei A, atunci valoarea proprie asociata poate fi calculata cu relatia x T Ax x T x = xt λx x T x = λ. Deci este dificil de calculat un vector propriu x cand se cunoaste λ, dar este usor de calculat λ cand se cunoaste x.

242 Forma Schur complexa Valorile proprii = radacinile unui polinom In absenta cunoasterii vectorilor proprii, este necesar un proces iterativ (infinit) pentru calculul valorilor proprii (reamintim ca pentru un polinom de grad > 4 nu exista formule analitice de calculare a a radacinilor lui!). Intuitie: Exploatarea rezultatelor partiale prin reducerea dimensiunii problemei. Propozitie. Fie A C n n si X C n un subspatiu A invariant p dimensional dat printr-o baza ortogonala x 1,x 2,...,x p. Atunci exista o matrice unitara (in cazul A reala, ortogonala) Q C n n cu coloanele Q(:,j) = x j,j = 1 : p, astfel incat [ ] Q H S11 S AQ = 12, 0 S 22 cu S 11 C p p = λ(a) = λ(s 11 ) λ(s 22 ).

243 Forma Schur complexa Pentru p = 1, baza V a subspatiului A invariant se reduce la un vector propriu x de norma unitara asociat valorii proprii λ. Lema.(Deflatie unitara) Fie A C n n si λ Λ(A). Atunci exista o matrice unitara Q C n n astfel incat [ ] Q H λ S12 AQ =. 0 S 22 Se poate considera matricea de transformare Q = U H, unde U este reflectorul (complex) care anuleaza elementele 2 : n ale vectorului propriu x asociat valorii proprii λ: i.e. Ux = e 1. Deci x = U H e 1. Daca consideram coloanele U H = [u1 H uh n ], atunci x = u1 H. Deci consideram Q = [uh 1 Y] si atunci: [ ] [ S = Q H u1 AQ = Y H A[u1 H u1 Au Y] = 1 H ] [ ] u 1 AY λ S12 Y H Au1 H Y H =, AY 0 S 22 unde u 1 Au H 1 = u 1Ax = λu 1 u H 1 = λ u 1 2 = λ si Y H Au H 1 = YH Ax = λy H x = 0.

244 Forma Schur complexa Teorema. (Forma Schur) Oricare ar fi matricea A C n n exista o matrice unitara Q C n n astfel incat matricea Q H AQ = S, este superior triunghiulara. Elementele diagonalei matricei S sunt valorile proprii ale matricei A si pot fi dispuse in orice ordine predeterminata. Matricea S se numeste forma Schur (FS) a matricei A, iar coloanele matricei de transformare Q se numesc vectori Schur al matricei A asociati formei Schur.

245 Forma Schur complexa Demonstratie: Pasul 1. Conform lemei precedente, daca λ 1 Λ(A), atunci exista o matrice unitara Q 1 astfel incat [ ] S 1 = Q H λ AQ = 1 S (1) 11 0 S (2), 22 realizandu-se o deflatie in prima coloana.... Pasul k. Presupunem ca in primii k 1 pasi am realizat triangularizarea in primele k 1 coloane prin transformari unitare de asemanare [ ] S k 1 = Qk 1 H...QH 2 QH 1 AQ S (k 1) 1Q 2...Q k 1 = 11 S (k 1) 12 0 S (k 1), 22 unde S (k 1) 11 C (k 1) (k 1) este superior triunghiulara.

246 Forma Schur complexa Demonstratie (continuare): Aplicam aceeasi lemma pentru a realiza deflatia in coloana k. Daca λ k Λ(S (k 1) 22 ) atunci exista Q k astfel incat Matricea este unitara si Q H k S(k 1) 22 Q k = [ λ k S (k) 12 0 S (k) 22 ] [ ] Ik 1 0 Q k = C n n 0 Qk S k = Q H k S k 1Q k = [ ] S (k) 11 S (k) 12 0 S (k) 22 este superior triunghiulara in primele k coloane. Acest proces de triangularizare prin transformari unitare de asemanare, produce dupa n pasi matricea superior triunghiulara S = Q H AQ, unde Q = Q 1 Q 2...Q n 1 este unitara..

247 Forma Schur reala In majoritatea aplicatiilor in care este necesar calculul valorilor proprii, matricea are elemente reale utilizarea aritmeticii reale este mult mai eficienta. Perechile de valori proprii complexe si perechile de vectori proprii asociati pot fi tratate unitar prin intermediul unor blocuri matriceale 2 2. Corespondentul formei Schur complexe devine o matrice cvasi-superior triunghiulara in care perechile de valori proprii complex conjugate sunt evidentiate prin blocuri 2 2. X X X X 0 X X X 0 X X X X

248 Forma Schur reala Lema.(Deflatie ortogonala) Fie A R n n. a) Daca λ Λ(A) R, atunci exista o matrice ortogonala Q R n n astfel incat [ ] Q T λ S12 AQ =. 0 S 22 b) Daca λ 1,2 = α±iβ Λ(A),β 0, atunci exista o matrice ortogonala Q R n n astfel incat [ ] Q T S11 S AQ = 12, 0 S 22 unde S 11 R 2 2, cu Λ(S 11 ) = {λ 1,λ 2 }.

249 Forma Schur reala Demonstratie: Prima parte a) se demonstreaza asemanator cu primul pas al formei Schur complexe, considerand o matrice ortogonala Q a carei prima coloana este un vector propriu de norma euclidiana unitara asociat valorii proprii λ. Pentru a doua parte b), consideram: vectorii proprii x 1,2 = v 1 ±iv 2 asociati valorilor proprii complex conjugate λ 1,λ 2 ; Y = [y 1 y 2 ] R n 2 baza ortogonala a subspatiului liniar A invariant S = ImV, unde V = [v 1 v 2 ] R n 2 ; Z R n (n 2) o baza ortogonala a complementului ortogonal T = S a lui S in R n n. Observam ca matricea Q = [Y Z] este ortogonala. Vectorii v 1,v 2 sunt liniar independenti exista o matrice nesingulara P R 2 2 astfel incat V = YP.

250 Forma Schur reala Demonstratie [ ] (continuare): In consecinta, avem ca AV = VB cu α β B =. Rezulta β α AY = AVP 1 = VBP 1 = VP 1 PBP 1 = YS 11, [ ] α β unde S 11 = P P β α 1. Deci, in final avem: [ A 1 = Q T Y T AQ = Z T ] A[Y Z] = [ Y T AY Y T ] AZ 0 Z T = AZ [ ] S11 S 12, 0 S 22 unde blocul S 11 R 2 2 are valorile proprii λ 1,2 si Z T AY = Z T YS 11 = 0. Observatie: Calculul matricei ortogonale Q din lema precedenta este conditionat esential de cunoasterea unui vector propriu (real) x asociat valorii proprii reale (sau cunoasterea Re(x) si Im(x) in cazul complex conjugat, i.e. λ = α±iβ).

251 Forma Schur reala Dupa intregul proces de deflatie a matricei A, obtinem rezultatul: Teorema. (Forma Schur reala) Oricare ar fi matricea reala A R n n, exista o matrice ortogonala Q R n n astfel incat S 11 S S 1p Q T AQ = S = 0 S S 2p , S pp unde S ii R 1 1 sau S ii R 2 2 si toate blocurile diagonale 2 2 au valorile proprii complexe. Evident, Λ(A) = Λ(S) = p i=1 Λ(S ii). Matricea cvasi-superior triunghiulara S se numeste forma Schur reala (FSR) a matricei A, iar coloanele matricei de transformare Q se numesc vectori Schur ai matricei A asociati formei Schur reale S.

252 Exemplu - forma Schur reala Consideram matricea A = cu spectrul Λ(A) = {1+ 2,1,1 2}. Pasul 1. Se determina un vector propriu normat oarecare, e.g. alegem λ 2 = 1. 1/ 2 Deci, avem x 2 = 0 1/ vectorul propriu asociat lui λ 2 = 1. 2 Determinam o baza ortonormata ce include vectorul x 2 : 1/ 2 1/ 2 0 Q 1 = / 2 1/ 2 0

253 Exemplu - forma Schur reala Pre- si post-multiplicarea matricii A cu aceasta matrice returneaza [ ] A 1 = Q1 T AQ 1 = =, 0 Q 2 1 unde Q R 2 2 cu spectrul Λ( Q) = {1+ 2, 2 1}. Pasul 2. Alegem λ 1 = 1+ [ ] 2 si calculam vectorul propriu normat 1/ 2 x 1 = 1/. 2 Calculam baza ortonormata din spatiul R 2 ce il include pe x 2, i.e. [ ] 1/ 2 1/ 2 Q 2 = 1/ 2 1/. 2

254 Exemplu - forma Schur reala [ ] 1 0 Formam Q 2 =. Pre- si post-multiplicarea matricii A 0 1 cu Q2 Q 2 returneaza forma Schur: S = Q2 T A 1Q 2 = Q2 T QT 1 AQ 1Q 2 = Observam ca am obtinut o matrice inferior triunghiulara particulara (diagonala) ce contine valorile proprii ale matricii A.

255 Metoda puterii si metoda puterii inverse Procedura de deflatie sugereaza o tehnica de calcul a valorilor proprii ale unei matrice prin reducerea acesteia la forma Schur (reala); Din pacate, calculul unei valori proprii necesita cunoasterea unui vector propriu asociat; Deci, este necesara completarea procedurii de deflatie cu o metoda de calcul a unui vector propriu fara cunoasterea valorii proprii asociate; Cele mai folosite metode de calcul iterativ al unui vector propriu sunt cunoscute sub denumirile de metoda puterii si metoda puterii inverse.

256 Metoda puterii si metoda puterii inverse Lemma. Fie o matrice A R n n cu spectrul Λ(A) = {λ 1,λ 2,...,λ n }. Atunci matricele A k,k N,A µi n,µ R si, in cazul in care A este nesingulara, A 1 au aceiasi vectori proprii cu matricea A si spectrele Λ(A k ) = {λ k 1,λ k 2,...,λ k n}, Λ(A µi n ) = {λ 1 µ,λ 2 µ,...,λ n µ}, Λ(A 1 ) = { 1 λ 1, 1 λ 2,..., 1 λ n },

257 Metoda puterii Ipoteze: Consideram A R n n cu o valoare proprie dominanta, i.e. o valoare proprie de modul strict superior modulelor tuturor celorlalte. Numerotam valorile proprii in ordinea descrescatoare a modulelor λ 1 > λ 2 λ n. Fie y 0 R n un vector de norma euclidiana unitara care satisface x T 1 y 0 0. (Generic, un vector aleator normat satisface o astfel de conditie). Presupunem ca vectorii proprii x 1,x 2,...,x n ai matricii A formeaza o baza in R n. Atunci y 0 poate fi descompus y 0 = n γ i x i, unde γ 1 0. i=1

258 Metoda puterii Definim sirul vectorial (y (k) ) k N prin y (k) = ρ k Ay (k 1), k = 1,2,... cu initializarea y (0) si ρ k un factor de normare ρ k = 1 Ay (k 1). Este usor de aratat ca y (k) = ρ k A k y (0), unde ρ k = 1 A k y (0). Considerand descompunerea lui y(0) rezulta ( n y (k) = ρ k A k x i = ρ k γi λ k i x i = ρ k λ k 1 γ 1 x 1 + i=1 n i=2 ( ) ) k λi γ i x i. λ 1

259 Metoda puterii Pe de alta parte avem λ i λ 1 < 1,i = 2 : n ce implica ) k = 0, i = 2 : n, ( λi lim k λ 1 si lim k y(k) = γx 1, unde γ este un scalar nenul astfel incat γx 1 = 1. Prin urmare, sirul generat de schema (MP) 1. Pentru k = 1,2, Se calculeaza vectorul y (k) = Ay (k 1) 2.y k y (k) / y (k) converge catre vectorul propriu asociat valorii proprii dominante a matricei A. Obs: Daca valoarea proprie dominanta este multipla, atunci MP converge la un vector din subspatiul generat de vectorii proprii asociati valorii proprii dominante (multipla)!

260 Metoda puterii Viteza de convergenta este determinata de raportul λ 2 λ 1. Pentru un raport mic avem viteza mare de convergenta rata de convergenta liniara: λ 2 λ 1 k. Metoda este eficienta in cazul matricelor cu o valoare proprie net dominanta si o structura rara (trebuie sa facem inmultirea matrice-vector la fiecare iteratie O(n 2 )). Un criteriu de oprire posibil este dat de asigurarea unei colinearitati impuse intre vectorii calculati la doi pasi consecutivi; Stiind ca unghiul dintre x,y este dat (in cazul real) de x φ(x,y) = arccos T y x y, atunci putem considera criteriul de oprire: e k = 1 (y (k) ) T y (k 1) < tol.

261 Metoda puterii Algoritm MP. (Metoda Puterii) (Fie A R n n, tol> 1, si un numar maxim maxiter de iteratii, algoritmul calculeaza un vector propriu unitar y asociat valorii proprii dominante a matricei date sau tipareste un mesaj daca obiectivul nu a fost atins.) 1. Se alege aleator un vector y C n. 2. y y/ y, i = 0, e = 1 3. Cat timp e > tol 1. Daca i > maxiter atunci 1. Tipareste S-a atins numarul maxim de iteratii fara obtinerea nivelului prescris al tolerantei! 2. STOP. 2. z = Ay 3. z z/ z 4. e = 1 z T y 5. y z, i i +1.

262 Metoda puterii Observatii: Metoda puterii este atractiva in cazul in care se cunoaste a priori existenta unei valori proprii net dominante. In caz contrar, viteza de convergenta poate fi nesatisfacatoare; In cazul absentei unei valori proprii dominante, sirul poate deveni divergent; Daca valoarea proprie dominanta este multipla, atunci MP converge la un vector din subspatiul generat de vectorii proprii asociati valorii proprii dominante (multipla). Optiune: se poate utiliza o deplasare µ a spectrului matricei A astfel incat A µi n sa aiba o valoare proprie (net) dominanta.

263 Metoda puterii inverse Sub aceleasi ipoteze, fie µ / Λ(A) o aproximatie λ 1. Atunci se observa ca matricea (µi n A) 1 are spectrul Λ((µI n A) ) = {,..., } µ λ 1 µ λ n si aceiasi vectori proprii cu cei ai matricei A. initializam y (0) nedefectiv in raport cu x 1 (vezi MP); aplicam Metoda Puterii matricii (µi n A) 1 generand sirul y (k) = ρ k (µi A) 1 y (k 1), k = 1,2,... daca deplasarea µ este mult mai apropiata de λ 1 decat de λ i,i = 2 : n atunci (µ λ 1 ) 1 va fi mult mai mare decat (µ λ i ) 1,i = 2 : n, iar sirul y (k) converge foarte rapid la γx 1.

264 Metoda puterii inverse Metoda Puterii pentru matricea (µi n A) 1 este cunoscuta sub numele de Metoda Puterii Inverse cu deplasare pentru matricea A. Schema MPI. 1. Pentru k = 1,2, Se rezolva sistemul (µi n A)y (k) = y (k 1) in raport cu y (k) 2. y (k) y (k) / y (k). Complexitate per iteratie Rezolvare sistem liniar n3 3 ; Deplasarea constanta asigura o convergenta rezonabila la orice valoare proprie; Deplasarea variabila data de µ k = (y(k 1) ) T Ay (k 1) produce y (k 1) 2 cea mai buna rata de convergenta (patratica) la un vector propriu, i.e. y (k+1) γx 1 τ y (k) γx 1 2.

265 Metoda puterii inverse Algoritm MPI. (Metoda Puterii Inverse cu deplasare Rayleigh) (Fie A R n n, tol> 1, si un numar maxim maxiter de iteratii, algoritmul calculeaza un vector propriu unitar y al matricei date sau tipareste un mesaj daca obiectivul nu a fost atins.) 1. Se alege aleator un vector y C n. 2. y y/ y, i = 0, e = Cat timp e > tol 1. Daca i > maxiter atunci 1. Tipareste S-a atins numarul maxim de iteratii STOP. 2. µ = y T Ay 3. Se rezolva sistemul (µi n A)z = y 4. z z/ z 5. e = 1 z T y 6. y z, i i +1.

266 Metoda puterii inverse Observatii: convergenta (patratica) la vectorul propriu asociat unei valori proprii oarecare, i.e. y (k+1) γx 1 τ y (k) γx 1 2. cea mai buna metoda de calcul al unui vector propriu asociat unei valorii proprii oarecare, i.e. daca y (0) γx 1 ǫ si τ = 1, atunci y (k) γx 1 ǫ 2k. algoritmul MPI calculeaza simultan si valoarea proprie dominanta asociata, data de valoarea finala a deplasarii µ. pentru eficienta sporita, se transforma in prealabil matricea A intr-o forma ce reduce efortul de calcul necesar al solutiei sistemului (e.g. forma Hessenberg).

267 Exemple numerice MP/MPI Consideram matricea companion A = cu valorile proprii λ 1 = 3,λ 2,3 = 1±i,λ 4 = 1. Fixam y (0) = [ ] T si acuratetea ǫ = Metoda Puterii Metoda Puterii Inverse 10 4 Eroare (e k ) Iteratii (k)

268 Exemple numerice MP/MPI Definim pentru MP (MPI) sirul λ (k) 1 = (y (k) ) T Ay (k) ce converge la valoarea proprie dominanta (valoare proprie oarecare). Tabelul: Convergenta sirului λ (k) 1 calculat de MP si MPI k MP MPI

269 Exemplu MP Fie matricea ce depinde de parametrii α si β reali: α 1 1 A = 0 1 β Care este rezultatul MP in functie de α,β R? Dem: calculam mai intai spectrul lui A: λ(a) = {α, 1 β, 1+ β}. Asadar A are o valoare proprie dominanta daca: Daca β 0 atunci 1 β = 1+ β = 1 β. Deci obtinem o valoare proprie dominanta daca α > 1 β. Daca β > 0 atunci obtinem o valoare proprie dominanta cand α 1+ β. In ambele cazuri, MP va produce un vector propriu de norma 1 corespunzator valorii proprii dominante.

270 Aplicatie a MP: model al cresterii populatiei Grupam populatia in n clase de varsta de durata egala (notam cu L varsta maxima): [ 0, ) L, n [ ) [ ) L n, 2L (n 1)L, L n n numarul populatiei in fiecare clasa de varsta este reprezentat de vectorul de distributie a varstei: x = [x 1 x n ] T. peste o perioada de L/n ani, probabilitatea ca un membru din clasa de varsta i sa supravietuiasca si sa devina un membru in clasa de varsta i +1 este data de p i. numarul mediu de nou-nascuti ai unui membru din clasa de varsta i este data de b i. Definim matricea de tranzitie a varstei: b 1 b 2 b n 1 b n p A = 0 p p n 1 0

271 Aplicatie a MP: model al cresterii populatiei Folosind matricea de tranzitie a varstei b 1 b 2 b n 1 b n p A = 0 p p n 1 0 putem estima vectorul de distributie a varstei la o anumita perioada de timp pe baza vectorului de tranzitie de la perioada de timp anterioara: x i+1 = Ax i Populatia este stabila daca acelasi procentaj din populatia totala se regaseste in fiecare clasa de varsta: x i+1 = Ax i = λx i

272 Aplicatie a MP: model al cresterii populatiei Presupunem ca populatia femeilor are urmatoarele caracteristici: clasa varsta nr. nou-nascuti (b i ) probabilitatea supravietuire (p i ) [0, 10) [10, 20) [20, 30) [30, 40) [40, 50) [50, 60) [60, 70) [70, 80) [80, 90) [90, 100) 0 0 Aplicam MP pornind din punctul initial x 0 = [1 1] T, obtinem vectorul propriu corespunzator valorii proprii dominante λ = 1.065: x = [ ] T. Aceasta inseamna ca populatia creste cu 6.5% la fiecare 10 ani!

273 Istoric - algoritmul QR Eduard Stiefel Heinz Rutishauser Apare algoritmul LR (anii 50), care foloseste factorizarea LU (in locul factorizarii QR). Datorita stabilitatii sporite a algoritmului QR, se renunta pe parcurs la algoritmul LR. Algoritmul LR a fost dezvoltat la inceputul anilor 50 de Heinz Rutishauser, care lucra ca asistent de cercetare in echipa lui Eduard Stiefel la Universitatea ETH Zurich. Primele variante ale algoritmului QR au fost dezvoltate spre sfarsitul anilor 50 de catre John G.F. Francis (Anglia) si Vera N. Kublanovskaya (URSS), in lucrari independente.

274 Algoritmul QR Algoritmul QR reprezinta o procedura de deflatie iterativa care construieste (recurent) un sir de matrice unitar (ortogonal) asemenea cu matricea initiala, ce converge catre forma Schur (reala). In vederea minimizarii efortului de calcul, algoritmul este structurat in doua faze: 1. Reducerea la forma superior Hessenberg; 2. Faza iterativa. Mai departe, analizam cele doua etape separat. De observat ca in prima faza dorim sa aducem matricea la o forma cat mai apropiata de forma Schur reala (quasi-hessenberg). De asemenea, forma Hessenberg are beneficii in MP (MPI), deoarece inmultirea matrice-vector (rezolvarea unui sistem) este mai ieftina in cazul cand matricea A este Hessenberg.

275 Proceduri utilizate in alg. QR 1. [b,u,β] = Hr(a) - Calculul unui reflector real U 1 = I n uu T /β astfel incat (b = U 1 a)(2 : n) = 0; 2. B = Hrs(u,β,A) - Inmultirea la stanga a matricei A cu reflectorul real U 1 = I n uu T /β, i.e. B = U 1 A; 3. B = Hrd(A,u,β) - Inmultirea la dreapta a matricei A cu reflectorul real U 1 = I n uu T /β, i.e. B = AU 1 ; 4. [b,c,s] = Gr(a) - Calculul unei rotatii reale P de ordin 2, astfel incat (b = P T a)(2) = 0; 5. B = Grs(c,s,A) - Inmultirea la stanga a matricei A cu P T, i.e. B = P T A, unde P este o rotatie reala de ordin 2; 6. B = Grd(A,c,s) - Inmultirea la dreapta a matricei A cu rotatia reala de ordin 2 P, i.e. B = AP;

276 Reducerea la forma superior Hessenberg Este binecunoscuta teorema (lui Abel), conforma careia rezolvarea ecuatiilor algebrice generale de grad superior lui patru nu este posibila printr-o secventa finita de operatii aritmetice. Deducem ca nu exista algoritm direct care sa reduca o matrice data (de ordin superior lui patru) la o forma mai apropiata de forma Schur decat forma Hessenberg, si care, in acelasi timp, sa conserve valorile proprii. Teorema. Oricare ar fi matricea A R n n, exista o matrice ortogonala Q R n n, calculabila printr-o secventa finita de operatii aritmetice, astfel incat matricea este superioara Hessenberg. H = Q T AQ

277 Reducerea la forma superior Hessenberg Demonstratie: Vom da o demonstratie constructiva pe urmatoarea schema de calcul HQ. 1. Pentru k = 1 : n 2 1. Se calculeaza un reflector elementar U k+1 a.i. (Uk+1 T A)(k +2 : n,k) = A U T k+1 A 3. A AU k+1. care suprascrie matricea A cu A H = U T n 1 U T 3 U T 2 AU 2 U 3 U n 1. Notand Q = U 2 U 3 U n 1 avem rezultatul precizat. Ramane de aratat ca schema de calcul de mai sus creeaza o structura superior Hessenberg.

278 Reducerea la forma superior Hessenberg Demonstratie (continuare): Pasul 1. Exista un reflector elementar U 2 de ordin n a.i. (U2 T A)(3 : n,1) = 0 care realizeaza structura sup. Hess. in prima coloana. Matricea U 2 are structura [ ] 1 0 U 2 =. 0 Ũ 2 Postmultiplicarea matricei U T 2 A cu U 2 nu modifica prima coloana a lui U T 2 A, i.e. zerourile din prima coloana a lui UT 2 A sunt conservate in U T 2 AU 2. Pasul k. Presupunem ca din primii k 1(k < n 1) pasi am obtinut o matrice cu structura sup. Hess. in primele k 1 coloane: A A k = U T k UT 2 AU 2 U k. Acum, exista un reflector elementar U k+1 astfel incat (U T k+1 A)(k +2 : n,k) = 0, i.e. premultiplicarea cu UT k+1 creeaza structura superior Hessenberg in coloana k, fara sa afecteze structura de zerouri din primele k 1 coloane.

279 Reducerea la forma superior Hessenberg Demonstratie (continuare): Mai mult, structura [ ] Ik 0 U k+1 = 0 Ũ k+1 asigura ca postmultiplicarea cu U k+1 nu afecteaza nici una din primele k coloane ale matricei U T k+1 A k. Prin urmare, schema de calcul prezentata la inceputul demonstratiei realizeaza reducerea matricei la forma superior Hessenberg, prin transformari ortogonale de asemanare.

280 Algoritm HQc Algoritm HQc. (Reducerea la forma superior Hessenberg) (Fie A R n n si Q R n n ortogonala, algoritmul calculeaza o secventa de reflectori U 2,...,U n 1 astfel incat matricea A H = U T n 1 UT 3 UT 2 AU 2U 3 U n 1 este sup. Hess. Optional (prin variabila opt = da sau nu ) se calculeaza actualizarea matricei de transformare, i.e. Q QU 2 U 3 U n 1.) 1. Pentru k = 1 : n 2 1. [A(k +1 : n,k),u,β] = Hr(A(k +1 : n,k)) 2. A(k +1 : n,k +1 : n) = Hrs(u,β,A(k +1 : n,k +1 : n)) 3. A(1 : n,k +1 : n) = Hrd(A(1 : n,k +1 : n),u,β) 4. Daca opt = da atunci 1. Q(1 : n,k +1 : n) = Hrd(Q(1 : n,k +1 : n),u,β) Observam ca se considera k +1 : n, deoarece dorim sa obtinem matrice Hessenberg. Restul este ca si in algoritmul QR de la problema CMMP care transforma matricea in una superior triunghiulara!

281 Algoritm QR - Faza iterativa Algoritm QR: 1. Aducerea la forma Hessenberg; 2. Faza iterativa; Etapa iterativa a algoritmului QR utilizeaza, intr-o maniera implicita, metodele puterii si puterii inverse pentru reducerea unei matrice la forma Schur (reala). Implementarile profesionale ale algoritmului QR utilizeaza, in exclusivitate, din motive de eficienta calculatorie (in cazul matricelor reale), varianta cu deplasare implicita cu pas dublu.

282 Algoritm QR cu deplasare explicita Presupunem ca matricea H C n n are o structura superior Hessenberg. Algoritmul QR cu deplasare explicita construieste sirul de matrice (sir QR): H = H 1,H 2,...,H k,h k+1,... (1) pe baza relatiei de recurenta (transformare QR) { H k µ k I n = Q k R k H k+1 = R k Q k +µ k I n, k = 1,2,..., H 1 = H. (2) Scalarul µ k, denumit deplasare, asigura convergenta sirului; In prima relatie din (2) se efectueaza factorizarea QR a matricii H k µ k I n ; In a doua relatie din (2), matricea succesor H k+1 se obtine inmultind in ordine inversa matricele Q k si R k si anuland deplasarea prin adunarea matricei µ k I n.

283 Algoritm QR cu deplasare explicita Propozitie. a) Daca matricea initiala H 1 = H a sirului matriceal QR este superior Hessenberg, atunci toate matricele sirului au aceeasi structura. Altfel spus, structura Hessenberg este invarianta la transformarile QR. b) Toate matricele sirului QR sunt unitar asemenea si, prin urmare, au acelasi spectru de valori proprii. In cazul real, afirmatiile de mai sus raman valabile daca in locul operatorului hermitic, de transpunere si conjugare, se utilizeaza operatorul de transpunere.

284 Algoritm QR cu deplasare explicita Demonstratie: a) Daca H k din (2) este o matrice superior Hessenberg, aceeasi structura o are si H k µ k I n. Algoritmul de factorizare QR (vezi cap.3) aplicat matricei sup. Hess. H k µ k I n produce o matrice unitara Q k sup. Hess. si una sup. tr. verificati! R k produsul R k Q k este sup. Hess., deci H k+1 este sup. Hess. Prin inductie, daca H 1 = H este sup. Hess., atunci toate matricele H k,k = 2,3,... sunt matrice sup. Hess. b) Din prima relatie (2) avem R k = Q H k (H k µ k I n ), care, introdusa in a doua relatie (2), conduce la H k+1 = Q H k (H k µ k I n )Q k +µ k I n = Q H k H kq k, (3) i.e. H k+1 si H k sunt unitar asemenea si au acelasi spectru.

285 Algoritm QR cu deplasare explicita Aplicand (3) in mod repetat obtinem H k = Q H k 1 QH k 2 QH 1 H 1 Q 1 Q k 2 Q k 1 = Q H k H 1 Q k, unde Q k = Q 1 Q k 2 Q k 1 (4) este o matrice unitara (produs de matrice unitare). Prin urmare, toate matricele din sirul QR sunt unitar asemenea si, in consecinta, au acelasi spectru.

286 Algoritm QR cu deplasare explicita Transformarea unitara cumulata poate fi construita cu relatia Q k+1 = Q k Q k, k = 1,2,..., Q 1 = I n. Alegand adecvat deplasarile µ k,k = 1,2,..., (cu exceptia situatiilor patologice) sirul QR este convergent catre forma Schur complexa. Aratam ca elementul extradiagonal al ultimei linii a matricei H k se anuleaza asimptotic pentru k. Mai mult, toate elementele subdiagonale, cu viteze diferite, au tendinta de anulare.

287 Algoritm QR cu deplasare explicita (i) Cu o alegere adecvata a deplasarilor µ k, sirul QR implementeaza, intr-o forma implicita, o versiune a metodei puterii inverse cu deplasare Rayleigh convergenta patratica a ultimei coloane a matricei Qk catre un vector propriu al matricei H H (anularea asimptotica a elementului H k (n,n 1)). Pentru a justifica aceasta afirmatie, observam mai intai R k = Q H k ( Q H k H Q k µ k I n ) = Q H k Q H k (H µ ki n ) Q k (5) = Q H k+1 (H µ ki n ) Q k, de unde R k QH k = Q H k+1 (H µ ki n ). (6)

288 Algoritm QR cu deplasare explicita Prin transpunerea si conjugarea relatiei (6) avem Q k R H k = (HH µ k I n ) Q k+1, unde µ k este conjugata deplasarii µ k. Intrucat Rk H este inferior triunghiulara, din egalitatea ultimelor coloane rezulta sau, daca µ k / λ(h) r (k) nn q (k) n = (H H µ k I n ) q (k+1) n, q (k+1) n unde r (k) nn este conjugatul lui r (k) nn. = r (k) nn (H H µ k I n ) q (k) n, (7)

289 Algoritm QR cu deplasare explicita Relatia (7) defineste iteratia puterii inverse pentru determinarea unui vector propriu al matricei H H. In continuare, aratam ca daca ultima coloana a matricei unitare de transformare este un vector propriu al matricei H H, atunci elementele extradiagonale ale ultimei linii ale matricei H se anuleaza, similar cu procedura de deflatie. Reamintim: valorile proprii ale matricii H H sunt conjugatele valorilor proprii ale matricei H. Consideram transformarea unitara definita de: [ ] Q = ˆQ v n, cu v n vector propriu al matricei H H, i.e. H H v n = λ n v n, cu λ n λ(h).

290 Algoritm QR cu deplasare explicita Se poate vedea usor ca { v H n H ˆQ = λ n v H n ˆQ = 0, v T n v H n Hv n = λ n v H n v n = λ n, de unde rezulta [ ] ˆQH Q H H Q = H [ [ ] ˆQ ˆQH H ˆQ ˆQ H ] Hv vn = n vn H H ˆQ vn H = Hv n [Ĥ h H 0 λ n Viteza patratica de convergenta a vectorului coloana q (k) n din (7) catre un vector propriu al matricei H H poate fi obtinuta alegand deplasarea µ k egala cu catul Rayleigh µ k = ( q(k) n ) H H ( q n (k) ) H q (k) n (k) H q n = e T n H H k e n = h (k) nn. = ( q n (k) ) H (k) H H q n = en T Q k H HH Q k e n ].

291 Algoritm QR cu deplasare explicita Alegerea µ k = h (k) nn a deplasarii originii garanteaza o rata excelenta de convergenta sirului QR catre forma Schur in ultima linie, i.e. de anulare asimptotica a elementului h (k) n,n 1. Cand elementul h (k) n,n 1 satisface o conditie de forma ( ) h (k) n,n 1 < tol h (k) n 1,n 1 + h(k) n,n unde tol este un nivel prescris de toleranta, putem considera ca h (k) n,n 1 este numeric neglijabil si il putem anula efectiv. Astfel h nn (k) devine o valoare proprie calculata a lui H; Dupa aceasta operatie, dimensiunea problemei s-a redus cu o unitate;

292 Algoritm QR cu deplasare explicita (ii) Sirul QR implementeaza simultan o versiune a metodei puterii cu deplasare. Astfel, in acelasi timp, sirul QR pune asimptotic in evidenta (cu o viteza mai redusa) si alte valori proprii pe diagonala matricei curente a sirului. Din (5) avem Q k+1 R k = (H µ k I n ) Q k. (8) Egalitatea primelor coloane din (8) conduce la Q k+1 r (k) 1 = (H µ k I n ) q (k) 1, (9) unde q (k) 1 = Q k e 1 si r (k) 1 = R k e 1. Intrucat R k este superior tr. avem r (k) 1 = r (k) 11 e 1 si deci, (9) poate fi scrisa in forma echivalenta q (k+1) 1 = 1 r (k) (H µ k I n ) q (k) 1. 11

293 Algoritm QR cu deplasare explicita Relatia precedenta defineste metoda puterii pentru calculul unui vector propriu al matricei H, utilizand un parametru scalar de deplasare µ k ; Daca µ k evolueaza astfel incat matricea H µ k I n are o valoare proprie dominanta, atunci prima coloana a matricei unitare de transformare Q k converge catre un vector propriu asociat acestei valori proprii; Conform procedurii de deflatie, prima coloana a matricei Q H k H Q k = H k converge catre prima coloana a formei Schur a lui A (i.e. elementul subdiagonal din prima coloana a lui H se anuleaza asimptotic); Viteza de convergenta depinde de evolutia modulului raportului primelor doua valori proprii ale matricei H µ k I n.

294 Algoritm QR cu deplasare explicita Cele doua procese de deflatie au loc simultan, neglijand elementele subdiagonale suficient de mici; Dimensiunea problemei scade cu fiecare iteratie. Din experienta numerica s-a dedus ca, pentru calculul unei valori proprii a unei matrice Hessenberg, sunt suficiente iteratii QR; Aceasta viteza de convergenta exceptionala se datoreaza faptului ca o data cu elementele subdiagonale din ultima linie si prima coloana, toate celelalte elemente subdiagonale au tendinta de anulare asimptotica. Sirul QR nu converge intotdeauna, existand situatii patologice in care elementele subdiagonale nu se anuleaza asimptotic.

295 Exemplu de neconvergenta Alg. QR Se considera matricea H R 4 4 in forma superior Hessenberg H = , avand valorile proprii (exacte), λ 1 = 1,λ 2,3 = ±i,λ 4 = 1. H este o matrice ortogonala (de permutare); Sirul QR lasa matricea H nemodificata, H k = H. Fie H 1 = H. Avem µ 1 = h 44 = 0, deci H 1 µ 1 I 4 = H 1. Cum H 1 este ortogonala, o factorizare QR a lui H se obtine pentru Q 1 = H 1 si R 1 = I 4. Rezulta H 2 = H 1 si, prin inductie, se obtine relatia pentru toti k.

296 Evolutia elementelor subdiagonale ale matricelor H k cu initializarea µ 1 = k h (k) 21 h (k) 32 h (k)

297 Evolutia elementelor subdiagonale ale matricelor H k cu initializarea µ 1 = 2 (recomandata) k h (k) 21 h (k) 32 h (k)

298 Exemplu de neconvergenta Alg. QR Pentru initializarea µ = 2, limita sirului QR construit este H k H = Faptul ca elementul h (k) 32 nu se anuleaza asimptotic, se datoreaza utilizarii aritmeticii reale si alegerii µ k = h (k) 44. Cazurile de neconvergenta se pot sesiza prin supravegherea elementului h n,n 1 si daca, dupa un numar convenit de iteratii (uzual, 10), modulul sau nu scade sub o toleranta impusa, se intervine, de obicei, prin renuntarea, pentru un singur pas, la deplasarea data.

299 Un pas simplu QR cu deplasare explicita 1. µ = h nn 2. H H µi n 3. Pentru j = 1 : n 1 1. Se determina rotatia plana (complexa) P j,j+1 astfel incat (P H j,j+1h) j+1,j = 0. 2.H P H j,j+1 H 4. Pentru j = 1 : n 1 H HP j,j+1 5. H H +µi n Matricea de transformare curenta: Q k = P 12 P 23 P n 1,n. Complexitatea pasului QR cu deplasare explicita aplicat unei matrici superior Hessenberg este O(n 2 ), algoritmul de mai sus necesitand N 6n 2 flopi (complecsi).

300 Strategia pasilor dubli - cazul real In cazul matricelor reale se poate impune utilizarea exclusiva a unei aritmetici reale. Daca matricea are valori proprii complex conjugate, alegerea recomandata mai sus pentru deplasarea µ k nu mai poate asigura convergenta procesului de calcul al valorilor proprii. Din concluziile precedente, pentru evidentierea unui bloc 2 2 al formei Schur reale pentru valori proprii conjugate λ 1 ±iλ 2, deflatia se face cu ajutorul unei baze ortogonale (reale) a subspatiului A-invariant generat de partea reala si cea imaginara a perechii de vectori proprii asociati (v 1 ±iv 2 ). Aceasta a condus la ideea comasarii a doi pasi consecutivi QR intr-unul singur si a utilizarii unei perechi de deplasari complex conjugate care, in pasul dublu, apar in combinatii reale.

301 Strategia pasilor dubli Fie H R n n o matrice superior Hessenberg si doi pasi consecutivi QR cu deplasare explicita: { { H k µ k I n = Q k R k H k+1 µ k+1 I n = Q k+1 R k+1, H k+1 = R k Q k +µ k I n H k+2 = R k+1 Q k+1 +µ k+1 I n ce definesc transformarea H k H k+2, numita pas dublu QR. Pasul k produce matricea H k+1 = Q H k H kq k astfel incat factorizarea QR din cadrul pasului k +1 poate fi scrisa sub forma Q H k H kq k µ k+1 I n = Q k+1 R k+1. Inmultind la stanga cu Q k, la dreapta cu R k si utilizand factorizarea QR, rezulta ca un pas dublu QR este descris de { (H k µ k I n )(H k µ k+1 I n ) = Q k Q k+1 R k+1 R k H k+2 = (Q k Q k+1 ) T H k Q k Q k+1.

302 Strategia pasilor dubli - schema de calcul 1. Se calculeaza matricea M def = H 2 k s kh k +p k I n, unde s k = µ k +µ k+1 si p k = µ k µ k Se calculeaza factorizarea QR a matricei M, i.e M = ˆQ ˆR, unde ˆQ = Q k Q k+1 si ˆR = R k R k H k+2 = ˆQ T H k ˆQ. Deplasarile µ k si µ k+1 se aleg egale cu valorile proprii ale blocului 2 2 din coltul dreapta jos al matricei H k : [ ] h (k) n 1,n 1 h (k) n 1,n H k (n 1 : n,n 1 : n) = h (k) n,n 1 h (k) n,n Cele doua valori proprii apar sub forma de suma si produs: { s k = µ k +µ k+1 = h (k) n 1,n 1 +h(k) n,n p k = µ k µ k+1 = h (k) n 1,n 1 h(k) n,n h (k), n 1,n h(k) n,n 1 care sunt reale chiar daca deplasarile sunt complexe..

303 Algoritmul QR cu deplasare implicita Scopul fundamental al dezvoltarii variantei cu deplasare implicita a algoritmului QR este reducerea complexitatii unui pas dublu QR aplicat unei matrice reale in forma superior Hessenberg la nivelul complexitatii a doi pasi simpli QR. Algoritmul QR cu deplasare implicita dateaza din anul 1961 si a fost propus de J.G.F. Francis si V.N. Kublanovskaia. V.N. Kublanovskaya. On Some Algorithms for the Solution of the Complete Eigenvalue Problem. USSR Comp. Math. Phys., 3: , J.G.F. Francis. The QR Transformation: a Unitary Analogue to the LR Transformation, Parts I and II. Comp. J., 4: , , 1962.

304 Ideea algoritmului QR cu deplasare implicita Conform celor prezentate mai sus referitor la pasul dublu QR, matricele H k si H k+2 = Q T k H kq k au structura superior Hessenberg si sunt ortogonal asemenea. In general, matricea unitara Q k care defineste relatia de asemanare dintre matricele superior Hessenberg H k si H k+1 din sirul QR nu este unica. Intr-adevar, fie V C n n o matrice unitara arbitrara, aplicarea algoritmului HQc matricei V H H k V returneaza o matrice superior Hessenberg unitar asemenea cu H k si care depinde de alegerea lui V. Exista alternative mai eficiente de calcul a matricei succesor H k+2 si, eventual, a matricei de transformare asociate?

305 Ideea algoritmului QR cu deplasare implicita Definitie. O matrice n n complexa sau reala H superior Hessenberg se numeste ireductibila daca are toate elementele subdiagonale nenule, i.e. h j+1,j 0, j 1 : n 1. Teorema. Fie matricea A C n n si matricele unitare U C n n si V C n n astfel incat matricele H = U H AU, G = V H AV sunt ambele superior Hessenberg ireductibile. Daca matricele U si V au aceeasi prima coloana, i.e. Ue 1 = Ve 1, exista o matrice diagonala unitara D = diag (1,δ 2,...,δ n ) cu δ j = e iθ j,j = 2 : n, astfel incat H = D H GD. In cazul real, U,V R n n ortogonale si δ j { 1,1}, j = 2 : n.

306 Pas dublu QR cu deplasare implicita pentru matrici reale In cazul matricelor reale, un spor important de eficienta se obtine utilizand o aritmetica reala si strategia pasilor dubli QR. Un pas dublu QR cu deplasare implicita are ca baza teoretica teorema de mai sus. Ideea centrala consta in asigurarea coincidentei primei coloane a matricei de transformare cumulate aferente unui pas dublu QR cu prima coloana a matricei de transformare cumulate de la doi pasi simpli consecutivi din varianta cu deplasare explicita. Reducerea efortului de calcul la nivelul a doi pasi cu deplasare explicita se bazeaza esential pe minimizarea numarului de operatii aritmetice, prin exploatarea eficienta a structurilor de zerouri ale matricelor implicate.

307 Pas dublu QR cu deplasare implicita pentru matrici reale Concret, un pas dublu QR cu deplasare implicita consta din urmatoarele transformari: 1. Se calculeaza prima coloana ˆq (k) 1 a matricei ˆQ = Qk Q k+1 ce defineste transformarea ortogonala aferenta unui pas dublu QR cu deplasare explicita. 2. Se determina o matrice ortogonala U 1 astfel incat prima sa coloana sa fie ˆq (k) 1, i.e. U 1e 1 = ˆq (k) Se calculeaza matricea B = U1 TH ku 1 (a carei structura nu mai este superior Hessenberg). 4. Se reface structura superior Hessenberg aplicand algoritmul HQ matricei B: [H k+2,ū] = HQ(B). Transformarile implicate de aceasta reducere nu afecteaza prima coloana a matricei de transformare cumulate.

308 Pas dublu QR cu deplasare implicita pentru matrici reale Daca matricea H k este ireductibila, atunci rezultatul H k+2 al aplicarii schemei de calcul de mai sus va fi esential acelasi cu cel dat de un pas dublu QR cu deplasare explicita. Mai mult, schema de mai sus este determinant mai eficienta decat varianta cu deplasare explicita: exploatand corespunzator avantajele structurale date de forma Hessenberg a matricelor initiala si finala se poate reduce complexitatea pasului dublu de la O(n 3 ) la O(n 2 ), ceea ce in economia intregului algoritm este esential. Detaliile sunt prezentate in continuare.

309 Pas dublu QR cu deplasare implicita pentru matrici reale not Pentru simplitate, consideram H k = H matricea curenta not (presupusa ireductibila), iar H k+2 = H matricea succesor in varianta cu utilizarea pasilor dubli. 1. Fara a reduce generalitatea, pp. ca matricea superior triunghiulara R k R k+1 = ˆR este nesingulara. Atunci prima coloana a matricei Q k Q k+1 = ˆQ este ˆq 1 = ˆQe 1 = 1 ˆr 11 h11 2 +h 12h 21 sh 11 +p h 21 (h 11 +h 22 s) h 21 h 32 0,. 0 not unde s k = s = µ k +µ k+1 = h (k) n 1,n 1 +h(k) n,n, not p k = p = µ k µ k+1 = h (k) n 1,n 1 h(k) n,n h (k) n 1,n h(k) n,n 1.

310 Pas dublu QR cu deplasare implicita pentru matrici reale Similar cu cazul pasului simplu, notam h11 2 +h 12h 21 sh 11 +p w = h 21 (h 11 +h 22 s) h 21 h 32 vectorul de deplasare implicita aferent pasului dublu QR. 2. Matricea ortogonala U 1, de la punctul 2. al schemei de calcul, poate fi un reflector (real) astfel calculat incat U T 1 ˆq 1 = U 1ˆq 1 = ± ˆq 1 e 1. Datorita structurii lui ˆq 1, structura matricii U 1 este ] [Û1 0 U 1 = 0 I n 3 (10) cu Û 1 R 3 3 reflector elementar (real) de ordinul 3.

311 Pas dublu QR cu deplasare implicita pentru matrici reale 3. Datorita structurii (10), alterarea formei Hess. prin calculul matricei B are loc numai in pozitiile (3,1),(4,1) si (4,2). 4. Matricea B avand numai trei elemente nenule ce altereaza forma superior Hessenberg, sporul de eficienta se obtine prin adaptarea algoritmului HQr la aceasta structura. Concret, se evita operatiile de adunare si inmultire cu zero-uri, tinand cont de structura I i [ ] U i = In Û i 0,i = 2 : n 2, U n 1 = 0 Û 0 0 I n 1 n i 2 reflectorilor U i,i = 2 : n 1, utilizati in cadrul algoritmului HQr, unde Ûi R 3 3 si Û n 1 R 2 2 sunt reflectori elementari de indice 1.

312 Pas dublu QR cu deplasare implicita - schema de calcul 1. Pentru i = 2 : n 2 1. Se calculeaza reflectorul elementar U i astfel incat 1. (U T i B)(i +1 : i +2,i 1) = B U T i B. % Se anuleaza elementele (i +1 : i +2,i 1). 3. B BU i. % Pentru i < n 2 sunt alterate zerourile 2. % Ultima transformare 1. Se calculeaza reflectorul elementar U n 1 astfel incat 1. (Un 1 T B)(n,n 2) = B U T n 1B. % Se anuleaza elementul (n,n 2). 3. B BU n 1. Eliminarea elementelor nenule care altereaza structura Hessenberg se realizeaza prin deplasarea lor de-a lungul unor trasee paralele cu diagonala principala.

313 Exemplu Pentru exemplificare, prezentam evolutia structurala a matricei B in cazul n = 5. Si aici zerourile nou create au fost marcate cu, alterarile de zerouri au fost evidentiate cu +, iar incadrarile indica liniile si/sau coloanele afectate de transformarea curenta. H B = U1 T HU 1 = H B = U2 T H =

314 Exemplu H HU 2 = H U3 T H = H HU 3 =

315 Exemplu H U4 T H = H HU 4 =

316 Calcul vector de deplasare implicita Vom introduce un algoritm distinct de calcul al vectorului de deplasare implicita asociat unui pas dublu QR. Algoritm VD2 - Calculul vectorului de deplasare implicita pentru un pas dublu QR (Fie matricea sup. Hess. H R n n, algoritmul calculeaza vectorul w R 3, de deplasare implicita pentru un pas dublu QR.) 1. s = h n 1,n 1 +h nn 2. p = h n 1,n 1 h nn h n 1,n h n,n 1 h11 2 +h 12h 21 sh 11 +p 3. w = h 21 (h 11 +h 22 s) h 21 h 32 Sintaxa de apel: w = VD2(H). Complexitate: O(1).

317 Pas dublu QR cu deplasare implicita pentru matrici reale Algoritmul IT QR2 - Pas dublu QR cu deplasare implicita. (Date o matrice superior Hessenberg ireductibila H R n n si vectorul de deplasare implicita wr 3, algoritmul suprascrie matricea H cu matricea succesor H H = ˆQ T H ˆQ din sirul QR. Se produc si elementele definitorii ale reflectorilor utilizati. 1. %Calculul si aplicarea reflectorului U 1 1. [w,v(:,1),b 1 ] = Hr(w) 2. H(1 : 3,:) = Hrs(V(:,1),b 1,H(1 : 3,:)) 3. H(1 : min (4,n),1 : 3) = Hrd(H(1, min,1 : 3),V(:,1),b 1 ) 2. % Refacerea formei superior Hessenberg 1. Pentru i = 2 : n 2 1. [H(i : i +2,i 1),V(:,i),b i ] = Hr(H(i : i +2,i 1)) 2. H(i : i +2,i : n) = Hrs(V(:,i),b i,h(i : i +2,i : n)) 3. H(1 : min (i +3,n),i : i +2) = Hrd(H(1 : min (i +3,n),i : i +2),V(:,i),b i )

318 Pas dublu QR cu deplasare implicita pentru matrici reale Algoritmul IT QR2 (continuare) % Ultimul pas 1. [H(n 1 : n,n 2),V(1 : 2,n 1),b n 1 ] = = Hr(H(n 1 : n,n 2)) 2. H(n 1 : n,n 1 : n) = = Hrs(V(1 : 2,n 1),b n 1,H(n 1 : n,n 1 : n)) 3. H(:,n 1 : n) = Hrd(H(:,n 1 : n),v(1 : 2,n 1),b n 1 ). Sintaxa de apel: [H,V,b] = IT QR2(H,w). Complexitatea unui pas dublu QR realizat de algoritmul IT QR2 este O(n 2 ) (mai exact, N op 24n 2 flopi). Subliniem ca aceasta solutie este cea mai eficienta implementare cunoscuta a iteratiilor QR pentru matricele reale, fiind utilizata in toate programele profesionale de calcul al valorilor proprii.

319 Algoritm QR pentru matrici reale Algoritmul QR pentru matrice reale se obtine prin iterarea algoritmului IT QR2, anularea efectiva a elementelor subdiagonale devenite neglijabile si exploatarea structurala a acestor anulari in vederea obtinerii unei eficiente maxime. Dupa epuizarea procedurii de iterare, se obtine o matrice cvasisuperior triunghiulara, ortogonal asemenea cu matricea initiala, cu blocurile diagonale de dimensiune cel mult 2 2. Pentru obtinerea unei forme Schur reale a matricei initiale, algoritmul se completeaza cu reducerea la forma sup. tr. a blocurilor diagonale 2 2 care au valori proprii reale.

320 Algoritm QR pentru matrici reale Pentru o economie sporita a algoritmului, la fiecare iteratie se anuleaza elementele subdiagonale neglijabile, ce satisfac h i+1,i < tol ( h ii + h i+1,i+1 ), unde tol defineste nivelul de toleranta. Putem considera ca are loc o evaluare a valorii proprii, cu o eroare de ordinul tolerantei tol. Pentru monitorizarea evolutiei structurale a sirului QR, se va determina cel mai mic intreg p si cel mai mare intreg q, astfel incat matricea Hessenberg curenta sa aiba structura H 11 H 12 H 13 H = 0 H 22 H H 33 }p }n p q }q cu H 11 C p p, H 22 C (n p q) (n p q) superior Hessenberg ireductibila si H 33 R q q cvasisuperior triunghiulara (i.e. cu blocurile diagonale de dimensiune cel mult 2 2)..

321 Algoritm QR pentru matrici reale Blocurile diagonale ale submatricei H 33 au valori proprii deja evidentiate, (alte valori proprii evidentiate se pot gasi printre valorile proprii ale blocurilor diagonale de dimensiune cel mult 2 2 ale submatricei H 11 ), iar iteratia QR se va aplica, de fapt, numai submatricei H 22. Aceasta transformare afecteaza celelalte blocuri ale matricei H dupa cum urmeaza: H 11 H 12 Q 12 H 13 H H = 0 Q22 HH 22Q 22 Q22 HH H 33 Faza iterativa a algoritmului QR se termina in momentul in care ordinul submatricei H 22 scade la cel mult 2, i.e. q n 2.

322 Algoritm QR pentru matrici reale Supravegherea convergentei procesului iterativ se efectueaza cu urmatoarele aspecte specifice: aprecierea convergentei se face la nivelul evidentierii unui bloc diagonal in coltul din dreapta jos al submatricei H 22 (10 20 de iteratii pentru modificarea modului de calcul al vectorului de deplasare implicita, respectiv 30 de iteratii pentru renuntarea la continuarea calculului); pentru calculul vectorului de deplasare implicita w se vor utiliza urmatoarele relatii empirice: { s = 1.5( h n q,n q 1 + h n q 1,n q 2 ) p = ( h n q,n q 1 + h n q 1,n q 2 ) 2.

323 Triangularizarea blocurilor diagonale 2 2 La terminarea cu succes a fazei iterative, triangularizarea blocurilor diagonale 2 2 cu valori proprii reale se poate face aplicand procedura standard de deflatie. Daca G R 2 2 are valorile proprii reale, i.e. = (g 11 g 22 ) 2 +4g 12 g 21 0, atunci [ ] λ1 g x = 22 este un vector propriu asociat valorii proprii λ Λ(G) data de g 21 λ 1 = g 11 +g 22 + sgn (g 11 +g 22 ). (11) 2

324 Triangularizarea blocurilor diagonale 2 2 Atunci rotatia P R 2 2, care asigura satisfacerea conditiei (P T x 1 )(2) = 0, are prima coloana coliniara cu x 1 si realizeaza triangularizarea urmarita [ ] G = P T λ1 g GP = λ 2 Daca blocul diagonal ce trebuie triangularizat, pe care il notam generic cu G, se afla in pozitia definita de liniile si coloanele k si k +1, atunci rezultatul dorit se obtine aplicand matricei date o transformare ortogonala de asemanare definita de matricea diag(i k 1,P,I n k 1 ).

325 Triangularizarea blocurilor diagonale 2 2 Algoritmul TRID2 - Triangularizarea unui bloc diagonal 2 2. (Fie S R n n in forma cvasisuperior triunghiulara si k 1 : n 1, algoritmul testeaza daca submatricea S(k : k +1,k : k +1) are valorile proprii reale si, in caz afirmativ, calculeaza triangularizarea ortogonala a blocului diagonal vizat. De asemenea, algoritmul returneaza elementele definitorii c si s ale rotatiei reale calculate.) 1. c = 1,s = 0 2. β = s k,k +s k+1,k+1,γ = s k,k s k+1,k+1 s k,k+1 s k+1,k, = β 2 4γ 3. Daca 0 atunci 1. λ = (β + sgn (β) )/2 [ ] λ sk+1,k+1 2. x = s k+1,k 3. [x,c,s] = Gr(x) 4. S(1 : k +1,k : k +1) = Grd(S(1 : k +1,k : k +1),c,s) 5. S(k : k +1,k : n) = Grs(c,s,S(k : k +1,k : n)) 6. S(k +1,k) = 0 % Zeroul calculat devine un zero efectiv.

326 Triangularizarea blocurilor diagonale 2 2 Sintaxa de apel a acestui algoritm va fi [S,c,s] = TRID2(S,k). Complexitatea algoritmului TRID2 este O(n). In continuare, prezentam algoritmul QR standard cu pasi dubli cu deplasari implicite pentru calculul formei Schur reale.

327 Algoritm QR cu pasi dubli, cu deplasari implicite Algoritmul QR2. (Fie A R n n, o matrice ortogonala Q R n n si un nivel de toleranta tol pentru anularea elementelor subdiagonale, algoritmul calculeaza forma Schur reala a matricei A S = Q T A Q. Toate calculele se efectueaza pe loc, in locatiile de memorie ale tabloului A. Optional, se acumuleaza transformarile prin actualizarea matricei ortogonale Q, i.e. Q Q Q. Optiunea se exprima prin intermediul variabilei logice opt.) 1. Daca n = 1 atunci return 2. % Reducerea la forma Hessenberg 1. [A,Q] = HQr(A,Q,opt) 3. % Faza iterativa 1. p = 0,q = 0,cont it = 0 2. Cat timp q < n 1. % Anularea elementelor subdiagonale neglijabile 1. Pentru i = p +1 : n q 1

328 Algoritm QR cu pasi dubli, cu deplasari implicite 1. Daca a i+1,i tol( a ii + a i+1,i+1 ) atunci 1. a i+1,i+1 = 0 2. % Determinarea lui q 1. continua = da 2. Cat timp continua = da 1. Daca q n2 atunci break 2. Daca a n q,n q 1 = 0 atunci 1. q q cont it = 0 altfel 1. Daca a n q 1,n q 2 = 0 atunci 1. q q cont it = 0 altfel continua = nu

329 Algoritm QR cu pasi dubli, cu deplasari implicite 3. % Terminarea normala a fazei iterative 1. Daca q n2 atunci break 4. % Terminarea prin esec a algoritmului 1. Daca cont it > 30 atunci 1. Tipareste: S-au consumat 30 iteratii QR pentru evidentierea unui bloc diagonal fara a se atinge acest obiectiv. Este posibil ca, pentru aceste date de intrare, algoritmul QR sa nu fie convergent. 2. Return 1. p = n q 1 2. Cat timp a p+1,p 0 1. p = p 1 2. Daca p = 0 atunci break

330 Algoritm QR cu pasi dubli, cu deplasari implicite 6. % Iteratia curenta 1. k = p +1,l = n q 2. w = VD2(A(k : l,k : l)) 3. % Calculul deplasarii implicite modificate 1. Daca cont it = 10 sau cont it = 20 atunci 1. s = 1.5( a l,l 1 + a l 1,l 2 ) 2. p = ( a l,l 1 + a l 1,l 2 ) 2 akk 2 +a k,k+1a k+1,k sa kk +p 3. w = a k+1,k (a kk +a k+1,k+1 s) a k+1,k a k+2,k+1 4. [A(k : l,k : l),v,b] = IT QR2(A(k : l,k : l),w) 5. t = 3 6. Pentru i = 1 : l k 1. Daca i = l k atunci t = 2 2. r = min (p +i +2,l)

331 Algoritm QR cu pasi dubli, cu deplasari implicite 3. Daca k > 1 atunci 1. A(1 : p,p +i : r) = = Hrd(A(1 : p,p +i : r),v(1 : t,i),b i ) 4. Daca l < n atunci 1. A(p +i : r,l +1 : n) = = Hrs(V(1 : t,i),b i,a(p +i : r,l +1 : n)) 7. Daca opt = da atunci 1. t = 3 2. Pentru i = 1 : l k 1. Daca i = l k atunci t = 2 2. r = min (p +i +2,l) 3. Q(:,p +i : r) = Hrd(Q(:,p +i : r),v(1 : t,i),b i ))

332 Algoritm QR cu pasi dubli, cu deplasari implicite 3. % Triangularizarea blocurilor diagonale 2 2 cu valori proprii reale 1. k = 1 2. Cat timp k < n 1. Daca a k+1,k = 0 atunci k = k +1, altfel 1. [A,c,s] = TRID2(A,k) 2. Daca opt = da si c 1 atunci 1. Q(:,k : k +1) = Grd(Q(:,k : k +1),c,s) 3. k = k +2

333 Algoritm QR cu pasi dubli, cu deplasari implicite In aspectele sale esentiale, algoritmul de mai sus sta la baza tuturor programelor profesionale de calcul al valorilor proprii ale unei matrice reale. Sintaxa de utilizare a algoritmului de mai sus va fi [A,Q] = QR2(A,Q,tol,opt). Acceptand evaluarea conform careia sunt suficiente, in medie, doua iteratii pentru a pune in evidenta o valoare proprie, algoritmul necesita un numar de N A op = 30n 3 flopi fara acumularea transformarilor, N Q op = 16n3 flopi suplimentari pentru calculul vectorilor Schur, i.e. ai matricei ortogonale Q. Putem, deci, considera ca pentru matrice de ordin superior (e.g. n > 100) algoritmul QR2 are o complexitate O(n 3 ).

334 Algoritm QR simetric Matricele reale simetrice A = A T R n n apar in numeroase aplicatii specifice. In particular, problema generala a celor mai mici patrate presupune rezolvarea (mai mult sau mai putin explicita) sistemului normal de ecuatii a carui matrice este simetrica. Mai mult, cazul simetric este important pentru calculul valorilor singulare ale unei matrice, problema ce apare in toate aplicatiile ce fac apel la conceptul de rang matriceal. Din punct de vedere procedural, exploatarea simetriei in determinarea valorilor si vectorilor proprii conduce la dezvoltari elegante si la importante simplificari ale calculelor. Algoritmul QR simetric ramane un instrument fundamental pentru calculul intregului spectru al unei matrice simetrice. Totusi, spre deosebire de cazul general in care algoritmul QR nu are rival, in situatii specifice ale cazului simetric, exist solutii alternative viabile.

335 Algoritm QR simetric Sursa importantelor facilitati de calcul care apar in cazul simetric se afla in rezultatul fundamental conform caruia orice matrice simetrica A R n n este ortogonal diagonalizabila, i.e. exista o matrice ortogonala Q R n n astfel incat Q T AQ = Λ = diag (λ 1,λ 2,...,λ n ), adica toate matricele simetrice reale sunt simple, au spectru real, iar directiile proprii (coloanele matricii Q) sunt ortogonale doua cate doua.

336 Algoritm QR simetric Algoritmul QR simetric detine un spor esential de eficienta prin parcurgerea prealabila fazei directe a algoritmului QR, i.e. reducerea matricei date la forma superior Hessenberg. Datorita conservarii simetriei la transformarile ortogonale de asemanare, structura superior Hessenberg obtinuta este, simultan, inferior Hessenberg, i.e. devine o structura tridiagonala. Etapele algoritmului QR simetric: 1. Reducerea la forma tridiagonala; 2. Faza iterativa.

337 Reducerea la forma tridiagonala Baza teoretica a posibilitatii de reducere la forma tridiagonala unei matrice simetrice este data de urmatorul rezultat. Teorema. Oricare ar fi matricea simetrica A R n n, exista o matrice ortogonala Q R n n astfel incat matricea T = Q T AQ este tridiagonala, i.e. t ij = 0, pentru toti i,j, cu i j > 1. Demonstratie: Demonstratia se reduce la observatia ca exista o matrice ortogonala Q astfel incat matricea T not = H = Q T AQ este superior Hessenberg si la faptul ca aceasta matrice este simetrica T T = Q T A T Q = Q T AQ = T. Prin urmare T este, simultan, inferior Hessenberg, i.e. este o matrice tridiagonala.

338 Reducerea la forma tridiagonala Reamintim schema de calcul care sta la baza reducerii la forma Hessenberg (aceeasi cu schema reducerii la forma tridiagonala). TQ 1. Pentru k = 1 : n 2 1. Se calculeaza un reflector elementar U k+1 astfel incat (U k+1 A)(k +2 : n,k) = A (U k+1 A)U k+1 % Se anuleaza A(k +2 : n,k) si, simultan, datorita conservarii simetriei, se anuleaza A(k,k +2 : n). In urma efectuarii calculelor de mai sus, matricea A este suprascrisa cu matricea A T = Q T AQ = U n 1 U 3 U 2 AU 2 U 3 U n 1, unde, Q = U 2 U 3 U n 1.

339 Reducerea la forma tridiagonala Consideram acum pasul curent k al procesului de tridiagonalizare descris mai sus si fie A T (k) = U k U 3 U 2 AU 2 U 3 U k = k 1 {}}{ 1 {}}{ n k {}}{ T (k) 11 T (k) 12 0 T (k) 21 T (k) 22 T (k) 23 0 T (k) 32 T (k) 33 }k 1 }1 }n k matricea obtinuta dupa primii k 1 pasi, partitionata convenabil, in care T (k) 11 este tridiagonala, simetrica, iar T (k) 21 = (T(k) 12 )T = [0 0 0 t (k) k,k 1 ].

340 Reducerea la forma tridiagonala Avand in vedere faptul ca reflectorul elementar U k+1 are structura [ ] Ik 0 U k+1 =, 0 Ū k+1 unde Ūk+1 = I n k ūk+1ūk+1 T β k+1, ū k+1 R n k, este un reflector elementar de ordin n k si indice 1, transformarile efectuate la pasul k au ca efect A T (k+1) = U k+1 T (k) U k+1 = T (k) 11 T (k) 12 0 T (k) 21 T (k) 22 T (k) 23 Ūk+1 0 Ū k+1 T (k) 32 Ū k+1 T (k) 33 Ūk+1 Cum T (k) 23 Ūk+1 = (Ūk+1T (k) 32 )T = [ σ 0 0], cu σ =sgn(t (k) 32 (1,1)) T(k) 32, ramane sa efectuam eficient calculul A(k +1 : n,k +1 : n) T (k+1) 33 = Ūk+1T (k) 33 Ūk+1. (12)

341 Reducerea la forma tridiagonala Performantele deosebite privind memoria utilizata si eficienta calculatorie se datoreaza exploatarii proprietatilor de simetrie. Memorarea economica a matricelor simetrice se face retinand numai elementele din triunghiul inferior sau superior. De asemenea, cand se cunoaste faptul ca rezultatul unei procesari este o matrice simetrica, se calculeaza numai elementele sale din triunghiul inferior sau superior. In consecinta, in (12), vom calcula numai elementele din triunghiul inferior al matricei T 33. De asemenea, tinand seama de structura lui Ū k+1 si notand, pentru simplificarea scrierii, not ū k+1 = ū,β not = β k+1, relatia (12) devine T (k+1) 33 = (I n k ūūt β = T (k) 33 ūūt β T(k) ) T (k) T(k) 33 (I n k ūūt β ) ūū T β + ūūt T (k) 33 ūūt. β

342 Reducerea la forma tridiagonala Notand v = T(k) 33 ū β R n k obtinem T k+1 33 = T (k) 33 ū ( v T ūt v 2β ūt ) } {{ } w T = T (k) 33 ūwt wū T. ( ) 2β ū v ūt v } {{ } w ū T (13) Aceasta relatie, va fi folosita pentru calculul triunghiului inferior la matricei A(k +1 : n,k +1 : n) T33 k+1 (k) = Ūk+1T 33 Ūk+1.

343 Reducerea la forma tridiagonala Forma tridiagonala simetrica obtinuta constituie punctul de plecare pentru diverse tehnici iterative de calcul a valorilor proprii. In cele ce urmeaza, vom considera ca matricea tridiagonala A T = T T R n n este memorata numai prin elementele sale semnificative, date de componentele vectorilor f R n si g R n 1 conform f 1 g g 1 f 2 g g 2 f A T = fn 1 g n g n 1 f n

344 Algoritmul TQ Aplicarea ideilor mentionate mai sus conduce la Algoritmul TQ de reducere la forma tridiagonala (vezi C. Popeea et. al., pag. 317) Sintaxa de apel: [f,g,q] = TQ(A,Q,opt). Utilizarea relatiei (13) reduce efortul de calcul la mai putin de jumatate fata de cazul nesimetric: N op 2 3 n3, fata de numarul de flopi 5 3 n3 necesar pentru reducerea la forma Hessenberg in cazul nesimetric. Volumul de memorie este M 3n 2 /2 locatii, necesar pentru memorarea elementelor triunghiului inferior al matricei A.

345 Faza iterativa Etapa iterativa a algoritmului QR simetric beneficiaza de importante simplificari calculatorii care se datoreaza, in principal, conservarii simetriei matricei initiale la transformari ortogonale de asemanare si constau in: conservarea structurii tridiagonale la transformarile implicate de iteratiile QR; in consecinta, toate transformarile aferente sirului QR se pot desfasura in locatiile de memorie ale vectorilor f si g; valorile proprii ale unei matrice simetrice reale fiind reale,nu sunt necesare deplasari complexe si, prin urmare, nu este necesara strategia pasilor dubli. Vom folosi aceste observatii in vederea elaborarii unui algoritm QR simetric cat mai performant.

346 Algoritmul QR cu deplasare explicita Presupunem matricea simetrica tridiagonala T rset n n data prin vectorii f si g. Algoritmul QR simetric cu deplasare explicita construieste un sir de matrice tridiagonale, ortogonal asemenea T = T 1,T 2,,T k,t k+1, pe baza relatiei de recurenta { T µi n = QR T T = RQ +µi n, (14) unde T este matricea curenta din sirul definit, iar indicele marcheaza matricea succesor. Deplasare µ se poate alegere µ = t nn = f n sau, si mai eficient, egala cu valoarea proprie, intotdeauna reala, cea mai apropiata de t nn, a blocului 2 2 din coltul dreapta jos al matricii curente T [ ] fn 1 g T(n 1 : n,n 1 : n) = n 1. g n 1 f n

347 Algoritmul QR cu deplasare explicita Deplasarea din cea de-a doua varianta, numita deplasare Wilkinson, are expresia µ = 1 ( ) f n 1 +f n sgn (f n 1 f n ) (f n 1 f n ) gn 1 2 si se calculeaza economic cu relatiile α = f n 1 f n, β = gn 1 2 2, µ = f β n sgn(α) α 2 +β. Se poate arata ca pentru deplasarile analizate, in partea finala a sirului se obtine o convergenta cubica a sirului QR simetric catre o structura diagonala; Structura tridiagonala recomanda utilizarea rotatiilor;

348 Algoritmul QR cu deplasare explicita Un pas simplu QR simetric cu deplasare explicita (fara acumularea transformarilor) este expus in C. Popeea et. al. (pag. 320), in forma Algoritmului IT Qrsim; Sintaxa de apel: [f,g,c,s] = IT QRsim(f,g) Executia unui pas QR simetric cu deplasare explicita necesita N op 20n flopi.

349 Exemplu Consideram matricea tridiagonala simetrica T = definita de vectorii f = [1 2 1] T si g = [1 1] T, cu valorile proprii Λ(T) = {0,1,3}. Iterarea bruta (i.e. fara supravegherea si anularea elementelor neglijabile) a algoritmului IT QRsim conduce la urmatoarea evolutie a vectorilor g si f.

350 Date numerice privind evolutia elementelor vectorului g k g (k) 1 g (k)

351 Date numerice privind evolutia elementelor vectorului f k f (k) 1 f (k) 2 f (k)

352 Un pas QR simetric cu deplasare implicita Consideram important sa subliniem faptul ca, spre deosebire de cazul real nesimetric, aici utilizarea variantei cu deplasare implicita nu aduce un spor de eficienta fata de varianta cu deplasare explicita. Preferinta pentru deplasarea implicita este justificata prin dorinta asigurarii unei tratari omogene a problemelor de calcul ale valorilor proprii. Varianta cu deplasare implicita a algoritmului QR simetric are la baza teorema conform careia transformarea ortogonala de asemanare definita de un pas QR simetric cu deplasare explicita pentru o matrice tridiagonala ireductibil (i.e. cu toate elementele subdiagonale nenule) T T = Q T TQ este determinata de prima coloana a matricei Q.

353 Un pas QR simetric cu deplasare implicita La fel ca in cazul nesimetric, un pas QR simetric cu deplasare implicita va consta din urmatoarele transformari: 1. Se calculeaza prima coloana q 1 a matricei de transformare Q din pasul QR simetric cu deplasare explicita. 2. Se determina o rotatia P 12 astfel incat P 12 e 1 = q Se calculeaza matricea T P T 12 TP 12 in care este alterata structura tridiagonala in pozitiile (3, 1),(1, 3) dar se conserva simetria. 4. Se reface structura tridiagonala prin transformari ortogonale de asemanare, utilizand o secventa de rotatii plane (o adaptare a algoritmului TQ). In acest fel, se obtine o matrice succesor ortogonal asemenea cu matricea initiala, tridiagonala, simetrica si cu prima coloana a matricei de transformare identica cu prima coloana a matricei de transformare din pasul QR simetric cu deplasare explicita.

354 Un pas QR simetric cu deplasare implicita Vom aduce urmatoarele precizari referitoare la schema de mai sus. 1. Daca vectorul g are toate elementele nenule, atunci deplasarea µ nu este valoare proprie a lui T (demonstrati!) si, prin urmare, matricea T µi n si matricea triunghiulara R sunt nesingulare. Din egalarea primelor coloane ale primei relatii din (14) obtinem q 1 = 1 r 11 t 11 µ t = 1 r 11 f 1 µ g [ ] f1 µ Denumim vectorul w = R 2 vector de deplasare g 1 implicita aferent unui pas QR simetric.

355 Un pas QR simetric cu deplasare implicita 2. Elementele rotatie P 12 pot fi furnizate de function Gr aplicata vectorului w. 3. Se vede imediat ca (P T 12 TP 12)(3,1) = (P T 12 TP 12)(1,3) = s 1 g 2 0 i.e. aplicare transformarii ortogonale definite de P 12 altereaza structura tridiagonala a matricei T in pozitiile mentionate. 4. Pentru refacerea structurii tridiagonale - un invariant al sirului QR simetric - se aplica algoritmul TQ. Concret, se utilizeaza o secventa de rotatii care elimina elementele nenule din afara structurii tridiagonale, prin deplasarea lor de-a lungul unor trasee paralele cu diagonala principala, conform urmatoarei scheme:

356 Un pas QR simetric cu deplasare implicita 1. Pentru k = 2 : n 1 1. Se calculeaza rotatia P k,k+1 astfel incat (Pk,k+1 T T)(k +1,k 1) = 0 2. T Pk,k+1 T T %Se anuleaza elementul (k +1,k 1) si se altereaza (pentru k < n 1) zeroul din pozitia (k,k +2) 3. T TP k,k+1 %Se anuleaza automat (dorita simetriei) elementul (k 1,k +1) si se altereaza (pentru k < n 1) zeroul din pozitia (k +2,k)

357 Un pas QR simetric cu deplasare implicita Pentru exemplificare, prezentam evolutia structurala a matricei T in cazul n = 5. T P12T T = T TP 12 = ,

358 Un pas QR simetric cu deplasare implicita T P23 T T = T TP 23 = ,

359 Un pas QR simetric cu deplasare implicita Pentru exemplificare, prezentam evolutia structurala a matricei T in cazul n = 5. T P34T T = T TP 34 = ,

360 Un pas QR simetric cu deplasare implicita Pentru exemplificare, prezentam evolutia structurala a matricei T in cazul n = 5. T P45T T = T TP 45 = ,

361 Un pas QR simetric cu deplasare implicita Un pas QR simetric cu deplasare Wilkinson implicita este implementat sub forma Algoritmului IT QRsim in C. Popeea et. al. (pag. 325); Sintaxa de apel: [f,g,c,s] = IT QRsim(f,g). Complexitatea unei iteratii QR simetrice cu deplasare implicita este O(n), pentru executia algoritmului IT QRsim fiind necesari N op 20n flopi.

362 Algoritmul QR simetric pentru matrice reale simetrice Algoritmul QR simetric se obtine prin iterarea algoritmului IT QRsim, anularea efectiva a elementelor nediagonale devenite neglijabile si exploatarea structurala. Conditia de anulare a elementelor extradiagonale, este g k tol( f k + f k+1 ), unde scalarul real tol defineste nivelul de toleranta. Pentru gestionarea evolutiei structurale, se va determina cel mai mic intreg p si cel mai mare intreg q, astfel incat matricea tridiagonala curenta din sirul QR simetric sa aiba structura T T = 0 T 22 0, 0 0 T 33 cu T 11 R p p,t 22 R (n p q) (n p q) tridiagonala ireductibila si T 33 R q q diagonala, i.e. g(p +1 : n,n q) 0,g(n q +1 : n 1) = 0.

363 Algoritmul QR simetric pentru matrice reale simetrice Algoritmul QR simetric cu deplasari Wilkinson implicite este dat sub denumirea algoritmului QRsim in C. Popeea et. al. (pag. 327); Sintaxa de apel: [f,q] = QRsim(A,Q,tol,opt). Algoritmul QR simetric reprezinta cel mai bun instrument numeric de calcul al intregului spectru al unei matrice simetrice reale. Complexitatea algoritmului QR simetric: N op = 4n3 3,fara acumularea transformarilor, si respectiv, N op = 9n 3, cu acumularea transformarilor. Spre deosebire de cazul nesimetric, se poate afirma ca eroarea absoluta pentru fiecare valoare proprie calculata este mica, i.e. λ i f i tol A 2.

364 Metode Numerice Curs VI Descompunerea valorilor singulare Ion Necoara 2014

365 Descompunerea valorilor singulare Descompunerea valorilor singulare (DVS) joaca un rol fundamental in evidentierea unor proprietati legate de rang matriceal! Calculul DVS este bazat pe ortogonalitate proprietati numerice remarcabile pentru toate aplicatiile ce apeleaza DVS! O multitudine de aplicatii pot fi rezolvate cu DVS: de la tendintele de vot ale parlamentarilor, la procesarea de imagine! DVS reduce eficient sisteme cu date masive la probleme mai mici, prin eliminarea informatiei redundante si retinerea datelor importante( critice).

366 Istoric - DVS Descoperirea DVS-ului este atribuita multor matematicieni: Beltrami, Jordan, Sylvester, Schmidt si Weyl: Beltrami: a derivat prima data DVS-ul (1873). Dar nu acoperea cazuri degenerate. Jordan a descoperit independent, un an mai tarziu, DVS-ul. Demonstratia lui era mai eleganta (se baza pe deflatie) si acoperea cazuri degenerate. Sylvester descoperea independent de Beltrami DVS-ul (dupa 15 ani), propunand o abordare iterativa pentru reducerea unei forme patratice la o forma diagonala. Schmidt a derivat teorema de aproximare: utila, cand se doreste aproximarea unei matrici cu alta matrice de rang specificat. Aceasta teorema este atribuita incorect lui Eckhart-Young, deoarece acestia au demonstrat-o 30 de ani mai tarziu decat Schmidt. Totusi,DVS-ul a fost utilizat cu success in aplicatii odata cu algoritmul numeric a lui Golub din anii 1960!

367 Descompunerea valorilor singulare - formulare Teorema: Pentru A R m n exista matricele ortogonale U R m m si V R n n si r = rang(a) a.i.: [ ] U T Σ1 0 AV = Σ =, 0 0 unde Σ R m n, a.i. Σ 1 = diag(σ 1,,σ r ) R r r si consideram ordonarea valorilor singulare σ 1 σ 2 σ r > 0. Expresia A = UΣV T s.n. descompunerea valorilor singulare, iar numerele nenegative σ i s.n. valori singulare. Coloanele matricei ortogonale U s.n. vectori singulari la stanga, iar coloanele lui V s.n. vectori singulari la dreapta. Conexiune: in cazuri patratice (A R n n ) speciale avem diagonalizarea: A = Vdiag(λ i )V T, cu V ortogonala! Consecinta: Orice matrice poate fi scrisa ca suma de produse externe de vectori singulari ponderate cu valorile singulare: r A = σ i u i vi T (cu u i vi T componente principale) i=1

368 Aplicatia I - compresia semnalelor Video, sunet sau imagine, depind de marime si rezolutie, si deci pot ocupa mult spatiu pentru a le stoca sau transmite. E.g., compresia de imagine se imparte in 2 clase: lossless si lossy. compresia lossless: toata informatia fisierului original poate fi recuperata dupa decompresie (formatul GIF este un exemplu), important in documente text unde pierderea de informatie duce la imposibilitarea citirii textului. compresia lossy: informatia redundanta este permanent stearsa (formatul JPEG este un exemplu), important in fisiere,unde o pierdere de informatie mica este imposibil de detectat de om. Exista multe posibilitati de compresie a semnalelor, dar avantajul oferit de DVS consta in flexibilitatea sa, deoarece poate actiona pe orice matrice de dimensiune m n.

369 Aplicatia I - compresia imaginilor Fie imaginea originala pixeli (Melancolia de Durer, 1514): pe care o putem scrie ca o matrice A de dimensiune (fiecare intrare (i,j) reprezinta intensitatea de gri a pixelului (i,j) cu valori intre 0 (negru) si 255 (alb)), care poate fi descompusa via DVS ca: A = UΣV T, unde U este , Σ este si V este

370 Aplicatia I - compresia imaginilor Imaginea originala are = pixeli. Dar matricea A poate fi scrisa ca suma de componente principale: A = σ 1 u 1 v T 1 +σ 2u 2 v T 2 + +σ nu n v T n, unde fiecare matrice u i v T i (componenta principala) de rang 1 este de marimea matricei originale A. Dar pentru ca valorile singulare σ i sunt ordonate σ 1 σ 2 σ n 0, este posibila o compresie semnificativa a imaginii,atat timp cat spectrul valorilor singulare are doar cateva intrari mari si restul sunt mici! Spectrul lui A contine doar componente principale max.!

371 Aplicatia I - compresia imaginilor Putem deci reconstrui,fidel,imaginea, folosind doar o submultime de componente principale. De exemplu, putem recupera o imagine asemenatoare cu doar 20 de componente principale folosind comenzile din Matlab: [U,S,V] = svd(a) si B = U(:,1 : 20)S(1 : 20,1 : 20)V(:,1 : 20) Imaginea B foloseste doar 10% din memoria imaginii A: = vs = pixeli

372 Aplicatia I - compresia imaginilor Putem recupera o imagine fidela cu doar 200 de componente principale, in loc de 359, cat are imaginea originala (i.e. 50% informatie din imaginea originala): [U,S,V]=svd(A) si B=U(:,1 : 200)S(1 : 200,1 : 200)V(:,1 : 200)

373 Aplicatia I - compresie tigru Consideram o imagine originala pixeli de rang 500. dispunerea valorilor singulare - prima figura (scala log). putem observa (figura din dreapta) cata informatie este detinuta in primele p valori singulare, facand raportul: informatie % = p i=1 σ i 500 i=1 σ. i In primele 50 valori singulare avem deja 70% din informatia aflata in imagine!

374 Aplicatia I - compresie tigru Desi imaginea originala are pixeli, putem recupera o imagine fidela cu doar 50 de componente principale (10%)

375 Aplicatia I - codul Matlab pt. compresie tigru % citeste imaginea si transform-o in negru si alb: tiger = rgb2gray(imread(tiger.jpg)); % resample imaginea: tiger = im2double(imresize(tiger, 0.5)); % calculeaza DVS-ul imaginii: [U,S,V] = svd(tiger); % reprezinta valorile singulare (scala log) si informatie %: sigmas = diag(s); plot(log(sigmas)); plot(cumsum(sigmas)/sum(sigmas)); % arata imaginea originala: imshow(tiger); % calculeaza aproximarile de rang mai mic: ranks = [200,100,50,30,20,10,3]; ns = length(sigmas); for i = 1:length(ranks) approx sigmas = sigmas;approx sigmas (ranks(i) : end) = 0; approx S = S; approx S (1 : ns,1 : ns) = diag(approx sigmas ); % calculeaza matricele de rang mai mic si ploteaza: approx tiger = U approx S V; imshow(approx tiger )

376 Aplicatia I - compresie Lena Desi imaginea originala (faimoasa si frumoasa Lena :)) are pixeli, putem recupera o imagine fidela cu doar 30 de componente principale (20% din datele imaginii originale):

Sisteme diferenţiale liniare de ordinul 1

Sisteme diferenţiale liniare de ordinul 1 1 Metoda eliminării 2 Cazul valorilor proprii reale Cazul valorilor proprii nereale 3 Catedra de Matematică 2011 Forma generală a unui sistem liniar Considerăm sistemul y 1 (x) = a 11y 1 (x) + a 12 y 2

Διαβάστε περισσότερα

Metode iterative pentru probleme neliniare - contractii

Metode iterative pentru probleme neliniare - contractii Metode iterative pentru probleme neliniare - contractii Problemele neliniare sunt in general rezolvate prin metode iterative si analiza convergentei acestor metode este o problema importanta. 1 Contractii

Διαβάστε περισσότερα

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

2 Transformări liniare între spaţii finit dimensionale Transformări 1 Noţiunea de transformare liniară Proprietăţi. Operaţii Nucleul şi imagine Rangul şi defectul unei transformări 2 Matricea unei transformări Relaţia dintre rang şi defect Schimbarea matricei

Διαβάστε περισσότερα

Esalonul Redus pe Linii (ERL). Subspatii.

Esalonul Redus pe Linii (ERL). Subspatii. Seminarul 1 Esalonul Redus pe Linii (ERL). Subspatii. 1.1 Breviar teoretic 1.1.1 Esalonul Redus pe Linii (ERL) Definitia 1. O matrice A L R mxn este in forma de Esalon Redus pe Linii (ERL), daca indeplineste

Διαβάστε περισσότερα

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

Planul determinat de normală şi un punct Ecuaţia generală Plane paralele Unghi diedru Planul determinat de 3 puncte necoliniare 1 Planul în spaţiu Ecuaţia generală Plane paralele Unghi diedru 2 Ecuaţia generală Plane paralele Unghi diedru Fie reperul R(O, i, j, k ) în spaţiu. Numim normala a unui plan, un vector perpendicular pe

Διαβάστε περισσότερα

Sisteme liniare - metode directe

Sisteme liniare - metode directe Sisteme liniare - metode directe Radu T. Trîmbiţaş 27 martie 2016 1 Eliminare gaussiană Să considerăm sistemul liniar cu n ecuaţii şi n necunoscute Ax = b, (1) unde A K n n, b K n 1 sunt date, iar x K

Διαβάστε περισσότερα

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

Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Curs 10 Funcţii reale de mai multe variabile reale. Limite şi continuitate. Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie p, q N. Fie funcţia f : D R p R q. Avem următoarele

Διαβάστε περισσότερα

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

Curs 14 Funcţii implicite. Facultatea de Hidrotehnică Universitatea Tehnică Gh. Asachi Curs 14 Funcţii implicite Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Fie F : D R 2 R o funcţie de două variabile şi fie ecuaţia F (x, y) = 0. (1) Problemă În ce condiţii ecuaţia

Διαβάστε περισσότερα

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

V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Metode de Optimizare Curs V.7. Condiţii necesare de optimalitate cazul funcţiilor diferenţiabile Propoziţie 7. (Fritz-John). Fie X o submulţime deschisă a lui R n, f:x R o funcţie de clasă C şi ϕ = (ϕ,ϕ

Διαβάστε περισσότερα

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

Spatii liniare. Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară. Mulţime infinită liniar independentă Noţiunea de spaţiu liniar 1 Noţiunea de spaţiu liniar Exemple Subspaţiu liniar Acoperire (înfăşurătoare) liniară 2 Mulţime infinită liniar independentă 3 Schimbarea coordonatelor unui vector la o schimbare

Διαβάστε περισσότερα

Seminar 5 Analiza stabilității sistemelor liniare

Seminar 5 Analiza stabilității sistemelor liniare Seminar 5 Analiza stabilității sistemelor liniare Noțiuni teoretice Criteriul Hurwitz de analiză a stabilității sistemelor liniare În cazul sistemelor liniare, stabilitatea este o condiție de localizare

Διαβάστε περισσότερα

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

5. FUNCŢII IMPLICITE. EXTREME CONDIŢIONATE. 5 Eerciţii reolvate 5 UNCŢII IMPLICITE EXTREME CONDIŢIONATE Eerciţiul 5 Să se determine şi dacă () este o funcţie definită implicit de ecuaţia ( + ) ( + ) + Soluţie ie ( ) ( + ) ( + ) + ( )R Evident este

Διαβάστε περισσότερα

Matrice. Determinanti. Sisteme liniare

Matrice. Determinanti. Sisteme liniare Matrice 1 Matrice Adunarea matricelor Înmulţirea cu scalar. Produsul 2 Proprietăţi ale determinanţilor Rangul unei matrice 3 neomogene omogene Metoda lui Gauss (Metoda eliminării) Notiunea de matrice Matrice

Διαβάστε περισσότερα

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

R R, f ( x) = x 7x+ 6. Determinați distanța dintre punctele de. B=, unde x și y sunt numere reale. 5p Determinați primul termen al progresiei geometrice ( b n ) n, știind că b 5 = 48 și b 8 = 84 5p Se consideră funcția f : intersecție a graficului funcției f cu aa O R R, f ( ) = 7+ 6 Determinați distanța

Διαβάστε περισσότερα

Curs 4 Serii de numere reale

Curs 4 Serii de numere reale Curs 4 Serii de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Criteriul rădăcinii sau Criteriul lui Cauchy Teoremă (Criteriul rădăcinii) Fie x n o serie cu termeni

Διαβάστε περισσότερα

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

CURS 11: ALGEBRĂ Spaţii liniare euclidiene. Produs scalar real. Spaţiu euclidian. Produs scalar complex. Spaţiu unitar. Noţiunea de normă. Sala: 2103 Decembrie 2014 Conf. univ. dr.: Dragoş-Pătru Covei CURS 11: ALGEBRĂ Specializarea: C.E., I.E., S.P.E. Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat.

Διαβάστε περισσότερα

Integrala nedefinită (primitive)

Integrala nedefinită (primitive) nedefinita nedefinită (primitive) nedefinita 2 nedefinita februarie 20 nedefinita.tabelul primitivelor Definiţia Fie f : J R, J R un interval. Funcţia F : J R se numeşte primitivă sau antiderivată a funcţiei

Διαβάστε περισσότερα

Metode de interpolare bazate pe diferenţe divizate

Metode de interpolare bazate pe diferenţe divizate Metode de interpolare bazate pe diferenţe divizate Radu Trîmbiţaş 4 octombrie 2005 1 Forma Newton a polinomului de interpolare Lagrange Algoritmul nostru se bazează pe forma Newton a polinomului de interpolare

Διαβάστε περισσότερα

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

(a) se numeşte derivata parţială a funcţiei f în raport cu variabila x i în punctul a. Definiţie Spunem că: i) funcţia f are derivată parţială în punctul a în raport cu variabila i dacă funcţia de o variabilă ( ) are derivată în punctul a în sens obişnuit (ca funcţie reală de o variabilă

Διαβάστε περισσότερα

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

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor X) functia f 1 Functii definitie proprietati grafic functii elementare A. Definitii proprietatile functiilor. Fiind date doua multimi X si Y spunem ca am definit o functie (aplicatie) pe X cu valori in Y daca fiecarui

Διαβάστε περισσότερα

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,...

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,... 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,..., X n şi coeficienţi în K se înţelege un ansamblu de egalităţi formale

Διαβάστε περισσότερα

Curs 1 Şiruri de numere reale

Curs 1 Şiruri de numere reale Bibliografie G. Chiorescu, Analiză matematică. Teorie şi probleme. Calcul diferenţial, Editura PIM, Iaşi, 2006. R. Luca-Tudorache, Analiză matematică, Editura Tehnopress, Iaşi, 2005. M. Nicolescu, N. Roşculeţ,

Διαβάστε περισσότερα

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

a n (ζ z 0 ) n. n=1 se numeste partea principala iar seria a n (z z 0 ) n se numeste partea Serii Laurent Definitie. Se numeste serie Laurent o serie de forma Seria n= (z z 0 ) n regulata (tayloriana) = (z z n= 0 ) + n se numeste partea principala iar seria se numeste partea Sa presupunem ca,

Διαβάστε περισσότερα

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

Activitatea A5. Introducerea unor module specifice de pregătire a studenţilor în vederea asigurării de şanse egale Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial pentru Dezvoltarea Resurselor Umane 2007 2013 Axa prioritară nr. 1 Educaţiaşiformareaprofesionalăînsprijinulcreşteriieconomiceşidezvoltăriisocietăţiibazatepecunoaştere

Διαβάστε περισσότερα

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

Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor Functii definitie, proprietati, grafic, functii elementare A. Definitii, proprietatile functiilor. Fiind date doua multimi si spunem ca am definit o functie (aplicatie) pe cu valori in daca fiecarui element

Διαβάστε περισσότερα

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

Seminar Algebra. det(a λi 3 ) = 0 Rezolvari ale unor probleme propuse "Matematica const în a dovedi ceea ce este evident în cel mai puµin evident mod." George Polya P/Seminar Valori si vectori proprii : Solutie: ( ) a) A = Valorile proprii:

Διαβάστε περισσότερα

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

Definiţia generală Cazul 1. Elipsa şi hiperbola Cercul Cazul 2. Parabola Reprezentari parametrice ale conicelor Tangente la conice 1 Conice pe ecuaţii reduse 2 Conice pe ecuaţii reduse Definiţie Numim conica locul geometric al punctelor din plan pentru care raportul distantelor la un punct fix F şi la o dreaptă fixă (D) este o constantă

Διαβάστε περισσότερα

Subiecte Clasa a VIII-a

Subiecte Clasa a VIII-a Subiecte lasa a VIII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate pe foaia de raspuns in dreptul

Διαβάστε περισσότερα

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE ABSTRACT. Materialul prezintă o modalitate de a afla distanţa dintre două drepte necoplanare folosind volumul tetraedrului. Lecţia se adresează clasei a VIII-a Data:

Διαβάστε περισσότερα

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

METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare METODE NUMERICE: Laborator #5 Metode iterative pentru rezolvarea sistemelor: Jacobi, Gauss-Siedel, Suprarelaxare Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Mădălina-Andreea

Διαβάστε περισσότερα

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

Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Subspatii ane Lectia VI Structura de spatiu an E 3. Dreapta si planul ca subspatii ane Oana Constantinescu Oana Constantinescu Lectia VI Subspatii ane Table of Contents 1 Structura de spatiu an E 3 2 Subspatii

Διαβάστε περισσότερα

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

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 Facultatea de Hidrotehnică, Geodezie şi Ingineria Mediului Matematici Superioare, Semestrul I, Lector dr. Lucian MATICIUC SEMINAR 4 Funcţii de mai multe variabile continuare). Să se arate că funcţia z,

Διαβάστε περισσότερα

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

III. Serii absolut convergente. Serii semiconvergente. ii) semiconvergentă dacă este convergentă iar seria modulelor divergentă. III. Serii absolut convergente. Serii semiconvergente. Definiţie. O serie a n se numeşte: i) absolut convergentă dacă seria modulelor a n este convergentă; ii) semiconvergentă dacă este convergentă iar

Διαβάστε περισσότερα

1.3 Baza a unui spaţiu vectorial. Dimensiune

1.3 Baza a unui spaţiu vectorial. Dimensiune .3 Baza a unui spaţiu vectorial. Dimensiune Definiţia.3. Se numeşte bază a spaţiului vectorial V o familie de vectori B care îndeplineşte condiţiile de mai jos: a) B este liniar independentă; b) B este

Διαβάστε περισσότερα

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

SERII NUMERICE. Definiţia 3.1. Fie (a n ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 SERII NUMERICE Definiţia 3.1. Fie ( ) n n0 (n 0 IN) un şir de numere reale şi (s n ) n n0 şirul definit prin: s n0 = 0, s n0 +1 = 0 + 0 +1, s n0 +2 = 0 + 0 +1 + 0 +2,.......................................

Διαβάστε περισσότερα

Criptosisteme cu cheie publică III

Criptosisteme cu cheie publică III Criptosisteme cu cheie publică III Anul II Aprilie 2017 Problema rucsacului ( knapsack problem ) Considerăm un număr natural V > 0 şi o mulţime finită de numere naturale pozitive {v 0, v 1,..., v k 1 }.

Διαβάστε περισσότερα

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

Lucian Maticiuc CURS I II. 1 Matrice şi determinanţi. Sisteme de ecuaţii liniare. 1.1 Matrice şi determinanţi Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr Lucian MATICIUC http://mathettituiasiro/maticiuc/ CURS I II Matrice şi determinanţi Sisteme de ecuaţii

Διαβάστε περισσότερα

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

Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM 1 electronica.geniu.ro Analiza în curent continuu a schemelor electronice Eugenie Posdărăscu - DCE SEM Seminar S ANALA ÎN CUENT CONTNUU A SCHEMELO ELECTONCE S. ntroducere Pentru a analiza în curent continuu o schemă electronică,

Διαβάστε περισσότερα

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

Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism. (Y = f(x)). Teoremă. (Y = f(x)). Orice izometrie f : (X, d 1 ) (Y, d 2 ) este un homeomorfism Demonstraţie. f este continuă pe X: x 0 X, S Y (f(x 0 ), ε), S X (x 0, ε) aşa ca f(s X (x 0, ε)) = S Y (f(x 0 ), ε) : y

Διαβάστε περισσότερα

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

Laborator 1: INTRODUCERE ÎN ALGORITMI. Întocmit de: Claudia Pârloagă. Îndrumător: Asist. Drd. Gabriel Danciu INTRODUCERE Laborator 1: ÎN ALGORITMI Întocmit de: Claudia Pârloagă Îndrumător: Asist. Drd. Gabriel Danciu I. NOŢIUNI TEORETICE A. Sortarea prin selecţie Date de intrare: un şir A, de date Date de ieşire:

Διαβάστε περισσότερα

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

Toate subiectele sunt obligatorii. Timpul de lucru efectiv este de 3 ore. Se acordă din oficiu 10 puncte. SUBIECTUL I. Modelul 4 Se acordă din oficiu puncte.. Fie numărul complex z = i. Calculaţi (z ) 25. 2. Dacă x şi x 2 sunt rădăcinile ecuaţiei x 2 9x+8 =, atunci să se calculeze x2 +x2 2 x x 2. 3. Rezolvaţi în mulţimea

Διαβάστε περισσότερα

Matrici şi sisteme de ecuaţii liniare

Matrici şi sisteme de ecuaţii liniare Matrici şi sisteme de ecuaţii liniare 1. Matrici şi determinanţi Reamintim aici câteva proprietăţi ale matricilor şi determinanţilor. Definiţia 1.1. Fie K un corp (comutativ) şi m, n N. O funcţie A : {1,...,

Διαβάστε περισσότερα

III. Reprezentarea informaţiei în sistemele de calcul

III. Reprezentarea informaţiei în sistemele de calcul Metode Numerice Curs 3 III. Reprezentarea informaţiei în sistemele de calcul III.1. Reprezentarea internă a numerelor întregi III. 1.1. Reprezentarea internă a numerelor întregi fără semn (pozitive) Reprezentarea

Διαβάστε περισσότερα

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

Metode Runge-Kutta. 18 ianuarie Probleme scalare, pas constant. Dorim să aproximăm soluţia problemei Cauchy Metode Runge-Kutta Radu T. Trîmbiţaş 8 ianuarie 7 Probleme scalare, pas constant Dorim să aproximăm soluţia problemei Cauchy y (t) = f(t, y), a t b, y(a) = α. pe o grilă uniformă de (N + )-puncte din [a,

Διαβάστε περισσότερα

Metode directe pentru sisteme de ecuaţii liniare

Metode directe pentru sisteme de ecuaţii liniare Metode directe pentru sisteme de ecuaţii liniare Eliminare gaussiană, descompunere LU, Cholesky Radu T. Trîmbiţaş Universitatea Babeş-Bolyai March 26, 2008 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai

Διαβάστε περισσότερα

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ

Concurs MATE-INFO UBB, 1 aprilie 2017 Proba scrisă la MATEMATICĂ UNIVERSITATEA BABEŞ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs MATE-INFO UBB, aprilie 7 Proba scrisă la MATEMATICĂ SUBIECTUL I (3 puncte) ) (5 puncte) Fie matricele A = 3 4 9 8

Διαβάστε περισσότερα

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

Nicolae Cotfas ELEMENTE DE EDITURA UNIVERSITĂŢII DIN BUCUREŞTI Nicolae Cotfas ELEMENTE DE ALGEBRĂ LINIARĂ EDITURA UNIVERSITĂŢII DIN BUCUREŞTI Introducere Pe parcursul acestei cărţi ne propunem să prezentăm într-un mod cât mai accesibil noţiuni si rezultate de bază

Διαβάστε περισσότερα

1.4 Schimbarea bazei unui spaţiu vectorial

1.4 Schimbarea bazei unui spaţiu vectorial Algebră liniară, geometrie analitică şi diferenţială. Schimbarea bazei unui spaţiu vectorial După cum s-a văzut deja, într-un spaţiu vectorial V avem mai multe baze, iar un vector x V va avea câte un sistem

Διαβάστε περισσότερα

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

Seminariile Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reziduurilor Facultatea de Matematică Calcul Integral şi Elemente de Analiă Complexă, Semestrul I Lector dr. Lucian MATICIUC Seminariile 9 20 Capitolul X. Integrale Curbilinii: Serii Laurent şi Teorema Reiduurilor.

Διαβάστε περισσότερα

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

Vectori liberi Produs scalar Produs vectorial Produsul mixt. 1 Vectori liberi. 2 Produs scalar. 3 Produs vectorial. 4 Produsul mixt. liberi 1 liberi 2 3 4 Segment orientat liberi Fie S spaţiul geometric tridimensional cu axiomele lui Euclid. Orice pereche de puncte din S, notată (A, B) se numeşte segment orientat. Dacă A B, atunci direcţia

Διαβάστε περισσότερα

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

CURS XI XII SINTEZĂ. 1 Algebra vectorială a vectorilor liberi Lect. dr. Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Algebră, Semestrul I, Lector dr. Lucian MATICIUC http://math.etti.tuiasi.ro/maticiuc/ CURS XI XII SINTEZĂ 1 Algebra vectorială

Διαβάστε περισσότερα

Curs 2 Şiruri de numere reale

Curs 2 Şiruri de numere reale Curs 2 Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică "Gh. Asachi" Iaşi 2014 Convergenţă şi mărginire Teoremă Orice şir convergent este mărginit. Demonstraţie Fie (x n ) n 0 un

Διαβάστε περισσότερα

MARCAREA REZISTOARELOR

MARCAREA REZISTOARELOR 1.2. MARCAREA REZISTOARELOR 1.2.1 MARCARE DIRECTĂ PRIN COD ALFANUMERIC. Acest cod este format din una sau mai multe cifre şi o literă. Litera poate fi plasată după grupul de cifre (situaţie în care valoarea

Διαβάστε περισσότερα

Asupra unei inegalităţi date la barajul OBMJ 2006

Asupra unei inegalităţi date la barajul OBMJ 2006 Asupra unei inegalităţi date la barajul OBMJ 006 Mircea Lascu şi Cezar Lupu La cel de-al cincilea baraj de Juniori din data de 0 mai 006 a fost dată următoarea inegalitate: Fie x, y, z trei numere reale

Διαβάστε περισσότερα

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

COLEGIUL NATIONAL CONSTANTIN CARABELLA TARGOVISTE. CONCURSUL JUDETEAN DE MATEMATICA CEZAR IVANESCU Editia a VI-a 26 februarie 2005. SUBIECTUL Editia a VI-a 6 februarie 005 CLASA a V-a Fie A = x N 005 x 007 si B = y N y 003 005 3 3 a) Specificati cel mai mic element al multimii A si cel mai mare element al multimii B. b)stabiliti care

Διαβάστε περισσότερα

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

CURS 5 Spaţii liniare. Spaţiul liniar R n CURS 5 Spaţii liniare. Spaţiul liniar R n A. Arusoaie arusoaie.andreea@gmail.com andreea.arusoaie@info.uaic.ro Facultatea de Informatică, Universitatea Alexandru Ioan Cuza din Iaşi 30 Octombrie 2017 Structura

Διαβάστε περισσότερα

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice Teme de implementare in Matlab pentru Laboratorul de Metode Numerice As. Ruxandra Barbulescu Septembrie 2017 Orice nelamurire asupra enunturilor/implementarilor se rezolva in cadrul laboratorului de MN,

Διαβάστε περισσότερα

Subiecte Clasa a VII-a

Subiecte Clasa a VII-a lasa a VII Lumina Math Intrebari Subiecte lasa a VII-a (40 de intrebari) Puteti folosi spatiile goale ca ciorna. Nu este de ajuns sa alegeti raspunsul corect pe brosura de subiecte, ele trebuie completate

Διαβάστε περισσότερα

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

Spaţii vectoriale. Definiţia 1.1. Fie (K, +, ) un corp şi (V, +) un grup abelian. Spaţii vectoriale 1. Spaţii vectoriale. Definiţii şi proprietăţi de bază În continuare prin corp vom înţelege corp comutativ. Dacă nu se precizează altceva, se vor folosi notaţiile standard pentru elementele

Διαβάστε περισσότερα

Conice - Câteva proprietǎţi elementare

Conice - Câteva proprietǎţi elementare Conice - Câteva proprietǎţi elementare lect.dr. Mihai Chiş Facultatea de Matematicǎ şi Informaticǎ Universitatea de Vest din Timişoara Viitori Olimpici ediţia a 5-a, etapa I, clasa a XII-a 1 Definiţii

Διαβάστε περισσότερα

Algebra si Geometrie Seminar 9

Algebra si Geometrie Seminar 9 Algebra si Geometrie Seminar 9 Decembrie 017 ii Equations are just the boring part of mathematics. I attempt to see things in terms of geometry. Stephen Hawking 9 Dreapta si planul in spatiu 1 Notiuni

Διαβάστε περισσότερα

Laborator 6. Integrarea ecuaţiilor diferenţiale

Laborator 6. Integrarea ecuaţiilor diferenţiale Laborator 6 Integrarea ecuaţiilor diferenţiale Responsabili: 1. Surdu Cristina(anacristinasurdu@gmail.com) 2. Ştirbăţ Bogdan(bogdanstirbat@yahoo.com) Obiective În urma parcurgerii acestui laborator elevul

Διαβάστε περισσότερα

PROBLEME DE VALORI ŞI VECTORI PROPRII

PROBLEME DE VALORI ŞI VECTORI PROPRII 9 PROBLEME DE VALORI ŞI VECTORI PROPRII 81 Introducere Problema de valori proprii a unui operator liniar A: Ax = λx x vector propriu, λ valoare proprie În reprezentarea unei baze din < n problemă matricială

Διαβάστε περισσότερα

, m ecuańii, n necunoscute;

, m ecuańii, n necunoscute; Sisteme liniare NotaŃii: a ij coeficienńi, i necunoscute, b i termeni liberi, i0{1,,..., n}, j0{1,,..., m}; a11 1 + a1 +... + a1 nn = b1 a11 + a +... + an n = b (S), m ecuańii, n necunoscute;... am11 +

Διαβάστε περισσότερα

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

EDITURA PARALELA 45 MATEMATICĂ DE EXCELENŢĂ. Clasa a X-a Ediţia a II-a, revizuită. pentru concursuri, olimpiade şi centre de excelenţă Coordonatori DANA HEUBERGER NICOLAE MUŞUROIA Nicolae Muşuroia Gheorghe Boroica Vasile Pop Dana Heuberger Florin Bojor MATEMATICĂ DE EXCELENŢĂ pentru concursuri, olimpiade şi centre de excelenţă Clasa a

Διαβάστε περισσότερα

METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder

METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder METODE NUMERICE: Laborator #7 Calculul valorilor proprii si vectorilor proprii prin metodele puterii. Metoda Householder Titulari curs: Florin Pop, George-Pantelimon Popescu Responsabil Laborator: Alexandru

Διαβάστε περισσότερα

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

Cap.2. Sisteme de ecuaţii algebrice liniare - metode directe (II) Cap.2. Sisteme de ecuaţii algebrice liniare - metode directe (II) Prof.dr.ing. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică, Departamentul de Electrotehnică Suport didactic

Διαβάστε περισσότερα

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3

2. Sisteme de forţe concurente...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...3 SEMINAR 2 SISTEME DE FRŢE CNCURENTE CUPRINS 2. Sisteme de forţe concurente...1 Cuprins...1 Introducere...1 2.1. Aspecte teoretice...2 2.2. Aplicaţii rezolvate...3 2. Sisteme de forţe concurente În acest

Διαβάστε περισσότερα

Geometrie computationala 2. Preliminarii geometrice

Geometrie computationala 2. Preliminarii geometrice Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic Geometrie computationala 2. Preliminarii geometrice Preliminarii geometrice Spatiu Euclidean: E d Spatiu de d-tupluri,

Διαβάστε περισσότερα

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare Metode iterative pentru rezolvarea sistemelor de ecuatii liniare 1 Metode iterative clasice Metodele iterative sunt intens folosite, in special pentru rezolvarea de probleme mari, cum sunt cele de discretizare

Διαβάστε περισσότερα

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

Ecuaţia generală Probleme de tangenţă Sfera prin 4 puncte necoplanare. Elipsoidul Hiperboloizi Paraboloizi Conul Cilindrul. 1 Sfera. pe ecuaţii generale 1 Sfera Ecuaţia generală Probleme de tangenţă 2 pe ecuaţii generale Sfera pe ecuaţii generale Ecuaţia generală Probleme de tangenţă Numim sferă locul geometric al punctelor din spaţiu

Διαβάστε περισσότερα

Algebră liniară CAPITOLUL 3

Algebră liniară CAPITOLUL 3 Algebră liniară CAPITOLUL 3 TRANSFORĂRI LINIARE 3.. Definiţia transformării liniare Definiţia 3... Fie V şi W două spaţii vectoriale peste un corp comutativ K. O funcţie u: V W se numeşte transformare

Διαβάστε περισσότερα

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE 5.5. A CIRCUITELOR CU TRANZISTOARE BIPOLARE PROBLEMA 1. În circuitul din figura 5.54 se cunosc valorile: μa a. Valoarea intensității curentului de colector I C. b. Valoarea tensiunii bază-emitor U BE.

Διαβάστε περισσότερα

Profesor Blaga Mirela-Gabriela DREAPTA

Profesor Blaga Mirela-Gabriela DREAPTA DREAPTA Fie punctele A ( xa, ya ), B ( xb, yb ), C ( xc, yc ) şi D ( xd, yd ) în planul xoy. 1)Distanţa AB = (x x ) + (y y ) Ex. Fie punctele A( 1, -3) şi B( -2, 5). Calculaţi distanţa AB. AB = ( 2 1)

Διαβάστε περισσότερα

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.

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. Lucrare Soluţii 28 aprilie 2015 Varianta 1 I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2 Definiţie. Numărul întreg p se numeşte număr prim dacă p 0,

Διαβάστε περισσότερα

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

Examen AG. Student:... Grupa:... ianuarie 2011 Problema 1. Pentru ce valori ale lui n,m N (n,m 1) graful K n,m este eulerian? Problema 2. Să se construiască o funcţie care să recunoască un graf P 3 -free. La intrare aceasta va primi un graf G = ({1,...,n},E)

Διαβάστε περισσότερα

INTERPOLARE. y i L i (x). L(x) = i=0

INTERPOLARE. y i L i (x). L(x) = i=0 INTERPOLARE Se dau punctele P 0, P 1,..., P n in plan sau in spatiu, numite noduri si avand vectorii de pozitie r 0, r 1,..., r n. Problemă. Să se găsească o curbă (dintr-o anumită familie) care să treacă

Διαβάστε περισσότερα

3. Vectori şi valori proprii

3. Vectori şi valori proprii Valori şi vectori proprii 7 Vectori şi valori proprii n Reamintim că dacă A este o matrice pătratică atunci un vector x R se numeşte vector propriu în raport cu A dacă x şi există un număr λ (real sau

Διαβάστε περισσότερα

Sala: Octombrie 2014 SEMINAR 1: ALGEBRĂ. este un Q-spaţiu vectorial, faţă de operaţiile uzuale de adunare şi înmulţire cu un număr raţional.

Sala: Octombrie 2014 SEMINAR 1: ALGEBRĂ. este un Q-spaţiu vectorial, faţă de operaţiile uzuale de adunare şi înmulţire cu un număr raţional. Sala: Octombrie 24 SEMINAR : ALGEBRĂ Conf univ dr: Dragoş-Pătru Covei Programul de studii: CE, IE, SPE Nota: Acest curs nu a fost supus unui proces riguros de recenzare pentru a fi oficial publicat distribuit

Διαβάστε περισσότερα

2.9 Forme biafine Forme pătratice afine. Aducerea la forma canonică Centre de simetrie Varietăţi pătratice...

2.9 Forme biafine Forme pătratice afine. Aducerea la forma canonică Centre de simetrie Varietăţi pătratice... Geometrie Afină Contents 1 Spaţii vectoriale 3 1.1 Spaţii vectoriale peste un corp K........................ 3 1.2 Exemple de spaţii vectoriale........................... 4 1.3 Dependenţă liniară de vectori..........................

Διαβάστε περισσότερα

riptografie şi Securitate

riptografie şi Securitate riptografie şi Securitate - Prelegerea 12 - Scheme de criptare CCA sigure Adela Georgescu, Ruxandra F. Olimid Facultatea de Matematică şi Informatică Universitatea din Bucureşti Cuprins 1. Schemă de criptare

Διαβάστε περισσότερα

Lectia VII Dreapta si planul

Lectia VII Dreapta si planul Planul. Ecuatii, pozitii relative Dreapta. Ecuatii, pozitii relative Aplicatii Lectia VII Dreapta si planul Oana Constantinescu Oana Constantinescu Lectia VII Planul. Ecuatii, pozitii relative Dreapta.

Διαβάστε περισσότερα

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

Conice. Lect. dr. Constantin-Cosmin Todea. U.T. Cluj-Napoca Conice Lect. dr. Constantin-Cosmin Todea U.T. Cluj-Napoca Definiţie: Se numeşte curbă algebrică plană mulţimea punctelor din plan de ecuaţie implicită de forma (C) : F (x, y) = 0 în care funcţia F este

Διαβάστε περισσότερα

Cursul de recuperare Algebra. v n. daca in schimb exista coecienti λ 1, λ 2,..., λ n nu toti nuli care satisfac relatia (1), de exemplu λ i 0 = A =

Cursul de recuperare Algebra. v n. daca in schimb exista coecienti λ 1, λ 2,..., λ n nu toti nuli care satisfac relatia (1), de exemplu λ i 0 = A = Matrice, determinanti Un punct de vedere liniar independent "A judeca matematic nu înseamn a gândi losoc, a judeca losoc nu înseamn a liber, a gândi liber nu înseamn a losof " Blaise Pascal Liniar independenta:

Διαβάστε περισσότερα

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4

3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere Aspecte teoretice Aplicaţii rezolvate...4 SEMINAR 3 MMENTUL FRŢEI ÎN RAPRT CU UN PUNCT CUPRINS 3. Momentul forţei în raport cu un punct...1 Cuprins...1 Introducere...1 3.1. Aspecte teoretice...2 3.2. Aplicaţii rezolvate...4 3. Momentul forţei

Διαβάστε περισσότερα

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

Ecuatii exponentiale. Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. a x = b, (1) Ecuatii exponentiale Ecuatia ce contine variabila necunoscuta la exponentul puterii se numeste ecuatie exponentiala. Cea mai simpla ecuatie exponentiala este de forma a x = b, () unde a >, a. Afirmatia.

Διαβάστε περισσότερα

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite Capitolul 4 Integrale improprii 7-8 În cadrul studiului integrabilităţii iemann a unei funcţii s-au evidenţiat douăcondiţii esenţiale:. funcţia :[ ] este definită peintervalînchis şi mărginit (interval

Διαβάστε περισσότερα

ELEMENTE DE GEOMETRIA COMPUTAŢIONALĂ A CURBELOR Interpolare cu ajutorul funcţiilor polinomiale

ELEMENTE DE GEOMETRIA COMPUTAŢIONALĂ A CURBELOR Interpolare cu ajutorul funcţiilor polinomiale 3 ELEMENTE DE GEOMETRIA COMPUTAŢIONALĂ A CURBELOR 31 Interpolare cu ajutorul funcţiilor polinomiale Prin interpolare se înţelege următoarea problemă: se dau n + 1 puncte P 0, P 1,, P n în plan sau în spaţiu

Διαβάστε περισσότερα

Metode directe pentru sisteme de ecuaţii liniare

Metode directe pentru sisteme de ecuaţii liniare Metode directe pentru sisteme de ecuaţii liniare Eliminare gaussiană, descompunere LU, Cholesky Radu T. Trîmbiţaş Universitatea Babeş-Bolyai March 27, 206 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai

Διαβάστε περισσότερα

Rezolvarea sistemelor liniare determinate

Rezolvarea sistemelor liniare determinate Seminar 2 Rezolvarea sistemelor liniare determinate Acest seminar este dedicat metodelor numerice de rezolvare a sistemelor liniare determinate, i.e. al sistemelor liniare cu numărul de ecuaţii egal cu

Διαβάστε περισσότερα

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

Examen AG. Student:... Grupa: ianuarie 2016 16-17 ianuarie 2016 Problema 1. Se consideră graful G = pk n (p, n N, p 2, n 3). Unul din vârfurile lui G se uneşte cu câte un vârf din fiecare graf complet care nu-l conţine, obţinându-se un graf conex

Διαβάστε περισσότερα

Pseudoinversă şi inversă generalizată ale unei aplicaţii liniare

Pseudoinversă şi inversă generalizată ale unei aplicaţii liniare Pseudoinversă şi inversă generalizată ale unei aplicaţii liniare Adrian REISNER 1 1. Pseudoinversă a unui endomorfism într-un spaţiu vectorial de dimensiune finită. Fie S un R-spaţiu vectorial de dimensiune

Διαβάστε περισσότερα

GEOMETRIE ANALITICĂ. Mihai-Sorin Stupariu

GEOMETRIE ANALITICĂ. Mihai-Sorin Stupariu GEOMETRIE ANALITICĂ Mihai-Sorin Stupariu Sem. al II-lea, 007-008 Cuprins 1 Elemente de algebră liniară 3 1.1 Spaţii vectoriale. Definiţie. Exemple................ 3 1. Combinaţii liniare. Baze şi repere..................

Διαβάστε περισσότερα

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

Componente şi Circuite Electronice Pasive. Laborator 3. Divizorul de tensiune. Divizorul de curent Laborator 3 Divizorul de tensiune. Divizorul de curent Obiective: o Conexiuni serie şi paralel, o Legea lui Ohm, o Divizorul de tensiune, o Divizorul de curent, o Implementarea experimentală a divizorului

Διαβάστε περισσότερα

Gheorghe PROCOPIUC PROBLEME DE ALGEBRĂ LINIARĂ GEOMETRIE

Gheorghe PROCOPIUC PROBLEME DE ALGEBRĂ LINIARĂ GEOMETRIE Gheorghe PROCOPIUC PROBLEME DE ALGEBRĂ LINIARĂ ŞI GEOMETRIE IAŞI, 005 CUPRINS 1 MATRICE ŞI SISTEME ALGEBRICE LINIARE 5 1.1 Matrice şi determinanţi.......................... 5 1. Sisteme de ecuaţii algebrice

Διαβάστε περισσότερα

4. CIRCUITE LOGICE ELEMENTRE 4.. CIRCUITE LOGICE CU COMPONENTE DISCRETE 4.. PORŢI LOGICE ELEMENTRE CU COMPONENTE PSIVE Componente electronice pasive sunt componente care nu au capacitatea de a amplifica

Διαβάστε περισσότερα

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

Să se arate că n este număr par. Dan Nedeianu Primul test de selecție pentru juniori I. Să se determine numerele prime p, q, r cu proprietatea că 1 p + 1 q + 1 r 1. Fie ABCD un patrulater convex cu m( BCD) = 10, m( CBA) = 45, m( CBD) = 15 și m( CAB)

Διαβάστε περισσότερα

Adriana-Ioana Lefter DIFERENŢIALE) Anul I, Facultatea de Chimie Note de curs

Adriana-Ioana Lefter DIFERENŢIALE) Anul I, Facultatea de Chimie Note de curs Adriana-Ioana Lefter MATEMATICĂ (ALGEBRĂ ŞI ECUAŢII DIFERENŢIALE) Anul I, Facultatea de Chimie Note de curs Cuprins Partea 1 ALGEBRĂ 1 Capitolul 1 Matrice şi determinanţi 3 11 Corpuri 3 12 Matrice 4 13

Διαβάστε περισσότερα

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

Cursul Măsuri reale. D.Rusu, Teoria măsurii şi integrala Lebesgue 15 MĂSURI RELE Cursul 13 15 Măsuri reale Fie (,, µ) un spaţiu cu măsură completă şi f : R o funcţie -măsurabilă. Cum am văzut în Teorema 11.29, dacă f are integrală pe, atunci funcţia de mulţime ν : R, ν()

Διαβάστε περισσότερα

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

2.1 Sfera. (EGS) ecuaţie care poartă denumirea de ecuaţia generală asferei. (EGS) reprezintă osferă cu centrul în punctul. 2 + p 2 .1 Sfera Definitia 1.1 Se numeşte sferă mulţimea tuturor punctelor din spaţiu pentru care distanţa la u punct fi numit centrul sferei este egalăcuunnumăr numit raza sferei. Fie centrul sferei C (a, b,

Διαβάστε περισσότερα