Metode Numerice Curs I Introducere

470
Metode Numerice Curs I Introducere Ion Necoara 2020

Transcript of Metode Numerice Curs I Introducere

Page 1: Metode Numerice Curs I Introducere

Metode Numerice

Curs IIntroducere

Ion Necoara

2020

Page 2: Metode Numerice Curs I Introducere

Personal

I Curs: Prof. Ion Necoara ([email protected])

I Laborator: Asist. drd. Daniela Lupu ([email protected])

Examinare

I 50p semestru: lab. 20p (prezenta obligatorie); seminar 10p;colocviu 10p; activitate curs 10p

I 50p examen final (exercitii din sem+lab)

Colocviu - programe Matlab/Python pentru o anumita problema:I 1-2 studenti fac o tema la alegerea studentilor!

I se prezinta la finalul semestrului (∼ saptamana 13/14) incadrul unui colocviu

La jumatatea semestrului se da un ”partial” care acoperaactivitatea seminar/curs!

Page 3: Metode Numerice Curs I Introducere

Exemple teme - program Matlab/Python cu interfata friendlypentru:

1. eliminare de tip gaussiana pentru matrici

2. factorizare LU pentru matrici

3. factorizare Cholesky pentru matrici

4. factorizarea QR pentru matrici

5. CMMP pentru matrici

6. Aplicatie CMMP (ex., identificare sistem dinamic, clasificare)

7. Forma Schur pentru matrici

8. Metoda puterii (inverse) pentru matrici

9. Aplicatie valori proprii (ex. stabilitate sistem dinamic,reducerea dimensiunii datelor folosind PCA, recunoastereafetelor (face recognition))

10. DVS-ul pentru matrici de rang 1

11. Aplicatie DVS (ex. compresia imaginilor)

Page 4: Metode Numerice Curs I Introducere

Bibliografie

I Note de curs/lab: http://acse.pub.ro/person/ion-necoara

I Carte: B. Dumitrescu, C. Popeea, B. Jora, Metode de calculnumeric matricial. Algoritmi fundamentali, Editura All.

I Culegere: G. Stamatescu, I. Dumitru, V. Buta, Metodenumerice: Culegere de probleme, MatrixRom.

Alte carti:

I R.A. Horn, C.R. Johnson, Matrix analysis, CambridgeUniversity Press.

Page 5: Metode Numerice Curs I Introducere

Obiectivele cursului si subiectele atinseObiectiveI recunoasterea/formularea de probleme de calcul numericI adaptarea algoritmilor numerici la probleme particulareI implementarea algoritmilor in cod MatlabI caracterizarea limitelor de performanta a algoritmilor numerici

Subiecte atinseI rezolvare de sisteme liniare (patratice, supradeterminate or

subdeterminate)I gasirea valorilor proprii ale unei matrici patraticeI gasirea valorilor singulare ale unei matrici generaleI algorimi numerici si complexitatea lorI exemple si aplicatii

Acest curs prezinta notiuni fundamentale de calcul numeric:- pentru cei care aceste notiuni sunt noi sper cursul sa va schimbefelul cum veti aborda rezolvarea unei probleme d.p.v. numeric;- pentru cei care stiti deja aceste notiuni, acest curs va fi ca si cumati asculta muzica voastra preferata a doua oara!

Page 6: Metode Numerice Curs I Introducere

Clasificare email-uri

I Se construieste un dictionar de cuvinte de dimensiune d(”curs, lab, seminar, prezente, money, transfer,...”)

I Date de antrenare sunt n email-uri (n = 103/104...!!!)

I Din aceste email-uri construim vectori “features” si etichete“labels”: (vi , 1) (bun) sau (vi ,−1) (spam), unde vi (j) -numarul de aparitii a cuvantului j din dictionar in emailul i .

I Construim un clasificator liniar care separa cele doua clase, deforma: f (v) = aT v + b, cu necunoscutele a ∈ Rd si b ∈ R.Pentru gasirea lor impunem conditia:

f (v) =

{1 daca v ∈ bun

−1 daca v ∈ spam

Page 7: Metode Numerice Curs I Introducere

Clasificare email-uri cont.Cu datele de antrenare separate in bun/spam:(v1, 1), · · · , (vn1 , 1), (vn1+1,−1), · · · , (vn1+n2 ,−1)construim sistemul linear (subdeterminat/supradeterminat):

v1 1· · · · · ·vn1 1

vn1+1 1· · · · · ·

vn1+n2 1

(

ab

)=

(1n1

−1n2

)→ Vx = w ,V ∈ Rn×(d+1)

a carui solutie produce valorile optime pentru a si b. Clasificareaefectiva a unui email nou v se face tinand cont de care dintrevalorile 1 sau −1 este mai aproape valoarea functiei:

v ∈

{bun daca sign(aT v + b) = 1

spam daca sign(aT v + b) = −1

Necoara, Faster randomized block Kaczmarz algorithms, SIMAX’19

Page 8: Metode Numerice Curs I Introducere

NotatiiIn cadrul cursului vom utiliza urmatoarele notatii pentru vectori:

• R multimea numerelor reale, C multimea numerelor complexe

• Vectori (considerati intotdeauna vector coloana) cu litere mici,

i.e. x ∈ Rn, x =

x1...

xn

• Produs scalar in spatiul Euclidian: 〈x , y〉 = xT y =

∑ni=1 xiyi

• Norma Euclidiana standard: ‖x‖ =√〈x , x〉 =

√x2

1 + · · ·+ x2n

• Norma p: ‖x‖p = (|x1|p + · · ·+ |xn|p)1/p, cu p ≥ 1,‖x‖∞ = max

i=1:n|xi |. Pentru p ∈ [0, 1) norma ‖x‖p nu defineste

o norma (e.g. inegalitatea triunghiului nu mai estesatisfacuta). Pentru p = 0 seminorma ‖x‖0 = nr. de elementenenule din x se utilizeaza foarte mult in multe aplicatii(procesare de semnal, control) pentru a obtine un vector rar.

• ek (cu k = 1 : n) baza standard a spatiului liniar Rn

Page 9: Metode Numerice Curs I Introducere

NotatiiIn cadrul cursului vom utiliza urmatoarele notatii pentru matrici:

• Matrice cu litere mari: A,B,C ,H ∈ Rn×m

• AH conjugata hermitica a matricei (complexe) A, i.e AH = AT

• A(i1 : i2, j1 : j2) blocul matrice A format din liniile de la i1 la i2si coloanele de la j1 la j2.

• A+ pseudo-inversa (Moore-Penrose) a matricei A (e.g.A+ = (ATA)−1AT daca are rangul intreg pe coloane)

• produsul scalar a doua matrici: 〈A,B〉 = tr(BTA)

• Norma Frobenius a unei matrici:‖A‖F =

√〈A,A〉 =

√tr(ATA) =

√∑i ,j a2

ij

• Norma spectrala a unei matrici: ‖A‖ =√λmax(ATA)

• Norma p ≥ 1 indusa:

‖A‖p = max‖x‖p=1 ‖Ax‖p = maxx 6=0‖Ax‖p‖x‖p

• λ(A) multimea valorilor proprii ale matricei A

• σ(A) multimea valorilor singulare ale matricei A

Page 10: Metode Numerice Curs I Introducere

NotatiiIn cadrul cursului vom utiliza urmatoarele notatii pentru matrici:

• Matrice simetrica: A = AT (spatiul liniar al matricilorsimetrice Sn ⊂ Rn×n)

• Matrice pozitiv definita A ∈ Sn: A � 0, si pozitiv semidefinitaA � 0 (i.e. xTAx ≥ 0 ∀x ∈ Rn ⇐⇒ λi ≥ 0 ∀i ⇐⇒ minoriiprincipali sunt ne-negativi)

• Matrice ortogonala: QTQ = In (coloanele formeaza perechide vectori ortonormali, i.e. vectori de norma 1 si ortogonalidoi cate doi)

• Matrice inferior/superior triunghiulara: O matrice L ∈ Rm×n

s.n. inferior triunghiulara daca L(i , j) = 0 ∀i < j

L =

x 0 0 · · · 0x x 0 · · · 0...

......

......

x x x · · · x

Page 11: Metode Numerice Curs I Introducere

NotatiiIn cadrul cursului vom utiliza urmatoarele notatii pentru matrici:

• Matrice diagonala: O matrice D ∈ Rmxn s.n. diagonala dacaD(i , j) = 0 ∀i 6= j

D =

x 0 0 · · · 00 x 0 · · · 0...

......

......

0 0 0 · · · x

• Matrice tridiagonala: O matrice patratica G ∈ Rnxn s.n.

tridiagonala daca T (i , j) = 0 ∀|i − j | > 1

T =

x x 0 0 0 · · · 0 0x x x 0 0 · · · 0 00 x x x 0 · · · 0 0...

......

......

......

...0 0 0 0 0 · · · x x

Page 12: Metode Numerice Curs I Introducere

Notatii

In cadrul cursului vom utiliza urmatoarele notatii pentru matrici:

• Matrice inferior/superior Hessenberg: O matrice patraticaH ∈ Rnxn s.n. inferior Hessenberg daca H(i , j) = 0∀j > i + 1

H =

x x 0 0 0 · · · 0 0x x x 0 0 · · · 0 0x x x x 0 · · · 0 0...

......

......

......

...x x x x x · · · x xx x x x x · · · x x

• Matrice banda: O matrice B ∈ Rmxn s.n. matrice banda de

latime (p, q) daca B(i , j) = 0 ∀i < j + p si j < i + p

Page 13: Metode Numerice Curs I Introducere

Reprezentarea numerelor

Fie

• β ∈ N , β ≥ 2 o baza de enumeratie

• C = {0, 1, 2, ....β − 1} multimea cifrelor in baza β, adicaprimele β numere naturale

Def.: Orice numar x ∈ R poate fi scris unic sub forma uneisecvente infinite:

x = s an−1an−2...a0. a−1a−2 · · ·

care nu se termina printr-o secventa infinita de cifre egale cu β − 1si in care ai ∈ C, iar s este semnul (i.e. s ∈ {+,−}).• Valoarea lui x este x = s(

∑n−1i=0 aiβ

i +∑∞

i=1 a−iβ−i )

• E.g.: baza 2 (β = 2) sau baza 10 (β = 10)

3.25 = 3 · 100 + 2 · 10−1 + 5 · 10−2

Page 14: Metode Numerice Curs I Introducere

Reprezentarea in virgula mobila• Reprezentarea numerelor in calculator se face cu un numar finitde cifre si deci este aproximativa• Calitatea aproximarii se defineste prin:

I domeniu de reprezentare suficient de mareI eroare de reprezentare suficient de mica, e.g. eroarea relativa|x−x ||x | sau absoluta |x − x |

I o distributie uniforma a erorii relative de reprezentare

Def.: Un format virgula mobila (FVM) este definit de 3 intregi(β, t, p), cu urmatoarea semnificatie:

I β -baza de numeratie ( β ≥ 2 )I t nr. de cifre semnificative (lungimea mantisei)I p nr. de cifre al exponentului

Un numar in VM este o pereche (f , e), cu valoarea reala asociatax = f · βe , unde• mantisa: f = ±0.f1f2 · · · ft este numar fractionar, cu semn,normalizat f1 6= 0, cu t cifre fi ∈ C• exponent: e = ±e1e2 · · · ep un intreg cu semn, cu p cifre ei ∈ C

Page 15: Metode Numerice Curs I Introducere

Reprezentarea numerelor pe 32 de biti (2, 24, 8)I numarul real este x = ±(f1 + f2β

−1 + · · ·+ ftβ−(t−1))βe cu

fi ∈ C si e ∈ Z, e ∈ [Emin, Emax]

I 1 bit pentru semnul mantisei, 23 de biti pentru mantisa(f1 = 1 se omite) si 8 biti pentru exponent

I mantisa f are lungimea t = 24 biti, cu fi ∈ {0, 1} si f1 = 1

I exponentul e are lungimea data de p = 8 si poate lua valoriintre e ∈ [−126, 127] unde ei ∈ {0, 1}. e1 este bitul de semn,astfel pentru e1 = 0 semnul exponentului este pozitiv iarpentru e1 = 1 semnul este negativ.

I exponentul are 8 biti, iar unul din ei se foloseste pentrudeterminarea semnului, restul de 7 biti codifica reprezentareaexponentului. (e.g.: pentru e = 10000001 deducem caexponentul reprezinta numarul −1 deoarece e1 = 1 codificasemnul “−” iar restul de numar 0000001 codifica numarul 1)

I valoarea cea mai mica reprezentata in VM pt. 32 biti esteβEmin = 2−126 ' 10−38, iar valoarea cea mai mare este2127 ' 1038

Page 16: Metode Numerice Curs I Introducere

Reprezentarea numerelor• aproximarea lui x prin fl(x) (numita rotunjire) se face astfel:

I trunchiere: x = ±(f1 + f2β−1 + · · ·+ ftβ

−(t−1) + · · · )βe lafl(x) = ±(f1 + f2β

−1 + · · ·+ ftβ−(t−1))βe

I 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ε = 2−23 ≈ 10−7 (7 cifre zecimale semnificative)

|s | e1e2 · · · e8 | f1f2 · · · f23|Exemplu: fie e = e127 + e226 + · · ·+ e72 + e8 sif = 1 + f12−1 + f22−2 + · · ·+ f232−23, atunci valoarea x este:I daca 0 < e < 255 atunci x = (−1)s · f · 2e−127

I daca e = 0, fi = 0 ∀i = 1 : 23 si s = 0 atunci x = 0I daca e = 0, fi = 0 ∀i = 1 : 23 si s = 1 atunci x = −0I daca e = 0 si exista fi 6= 0 atunci x = (−1)s(f − 1)2−126

I daca e = 255, fi = 0 ∀i = 1 : 23 si s = 0 atunci x =∞I daca e = 255, fi = 0 ∀i = 1 : 23 si s = 1 atunci x = −∞I daca e = 255 si exista fi 6= 0 atunci x = NaN

Page 17: Metode Numerice Curs I Introducere

Complexitatea algoritmilorDefinitie: Pentru a rezolva o problema de calcul numeric, uncalculator executa o secventa (finita) de operatii de baza(adunari-inmultiri), denumita algoritm!

Produsul a doua numere oricat de mari se calculeaza foarte eficient!

a× b =?

Exemplu:

1378936× 795312 = 1096684348032 (in 0.1 sec.)

Factorizarea unui numar este foarte dificila!

n = ? × ?

Exemplu (cine gaseste solutia primeste bonus!):

9.999.911 = ? × ?

Factorizarea se foloseste in multe aplicatii (ex. criptografie). Panaacum algoritmii se bazeaza pe cautare si cateva trick-uri din teorianumerelor, deci foarte ineficienti. Gasirea unui algorithm eficientare $1.000.000 premiu!

Page 18: Metode Numerice Curs I Introducere

Complexitatea algoritmilor

RSA factoring challenge (270 decimal digits, prize $75, 000):

RSA− 896 =

41202343698665954385553136533257594817981169984

43279828454556264338764455652484261980988704231

61841879261420247188869492560931776375033421130

98239748515094490910691026986103186270411488086

69705649029036536588674337317208131041051908642

54793282601391257624033946373269391

= ? × ?

Page 19: Metode Numerice Curs I Introducere

Complexitatea algoritmilor• Pentru a rezolva o problema de calcul numeric, un calculator

executa o secventa (finita) de operatii, denumita algoritm• Complexitatea algoritmului caracterizata de:

I numarul de operatii (flops) de executat O(np)I memoria ocupata de datele problemei O(nq)

• Numarul de operatii este o functie de dimens. probl. Nop(n)• algorithm de tip P (complexitate polinomiala, e.g.

Nop(n) = O(nk))• E.g.: cautarea ordonata (binara) (cautarea unui numar de

telefon in cartea de telefoane cand se cunoaste numelepersoanei) O(log n), inmultirea a doua matrici O(n3)• algorithm de tip NP (complexitate non-polinomiala, e.g.

Nop(n) = O(expn))• 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(n log 2)1/3),

quantum algoritm (Shor) are complexitate polinomiala

Page 20: Metode Numerice Curs I Introducere

Stabilitatea si eficienta algoritmilorPrincipalele performante ale algoritmilor sunt stabilitatea sieficienta.Stabilitate: un algorithm executa operatii in virgula mobila siaceste operatii sunt insotite de erori ⇒ stabilitatea exprimamarimea erorilor numerice introduse de algoritm.Eficienta unui algorithm se masoara in numarul de operatii simemoria necesara. Toti algoritmii pe care ii vom studia aucomplexitate polinomiala. Avem urmatoarele recomandari:

I nu executati operatii cu rezultat cunoscut (ex. adunarea cu 0)

I evitati executia operatiilor inutile

I evitati memorarea de informatie inutila (ex. matricea In)

I folositi metode eficiente de memorare a matricilor structurate(ex. matricea diagonala are nevoie doar de un vector)

I folositi suprascrierea cand aceasta e posibila

Puteti deveni cercetatori celebri reducand parametrii p (operatii) siq (memorie). Nu se cunoaste inca valoarea minima pentru2 ≤ p ≤ 2.8 in cazul inmultirii matricilor (naiv p = 3)!

Page 21: Metode Numerice Curs I Introducere

Aplicatii ale algoritmilor MN

1 Rezolvarea sistemelor liniare: Ax = bI Optimizare (an II, sem. II): Metoda Newton consta in

rezolvarea la fiecare iteratie a sistemului ∇2f (x)d = −∇f (x)I Constructia de regulatoare optime pentru sisteme dinamice

(anul II si III)I Identificarea unui sistem dinamic (anul IV): pe baza unor

masuratori se determine modelul prin rezolvarea unui sistemliniar

I Sisteme de recomandare (Netflix): gasirea solutiei rare a unuisistem liniar

I Medicina - reconstructie tomografica: reconstructia uneiimagini 3D din imagini 2D luate din cat mai putine unghiuri

Page 22: Metode Numerice Curs I Introducere

Aplicatii ale algoritmilor MN

2 Calcularea vectorilor/valorilor proprii (λ, x): Ax = λxI Determinarea traiectoriei unui sistem dinamic definit prin

intermediul unei ecuatii diferentiale (anul II, sem. I si II)I Determinarea stabilitatii unui sistem dinamic (anul II, sem. II)I Problema Google (ierarhizarea paginilor web): determinarea

unui vector propriu corespunzator valorii proprii maxime pentruo matrice de incidenta ce defineste internetul (Brin & Page,1998, in faimoasa lor lucrare de ierarhizare a paginilor a aplicatmetoda puterii pentru a determina acest vector).

3 Descompunerea valorilor singulare: A = UΣV T

I Simplificare de model (anul III si IV): reducerea dimensiuniiunui model pentru un sistem dinamic de mari dimensiuni

I Completarea matricilor (anul III si IV): reconstructia de imaginidin imagini cu parti lipsa

I Compresia imaginilor (ex. JPEG)I DVS poate fi folosit ca instrument de data-mining cu privire la

felul cum voteaza parlamentarii

Page 23: Metode Numerice Curs I Introducere

Aplicatii - rezolvarea de sisteme liniare (CMMP)CMMP-fitting de date: prin rezolvarea unui sistem liniar A x= b• Se dau urmatoarele:I functii f1, · · · , fn numiti regresori sau functii de bazaI date sau masuratori (ui , bi ) ∀i = 1, . . . ,m (de obicei m� n)

• Problema: gasiti coeficientii reali x1, · · · xn s.t.

bi = x1f1(ui ) + · · ·+ xnfn(ui ) ∀i = 1, · · · ,m• Obtinem sistemul linear:

Ax = b unde A ∈ Rm×n, Aij = fj(ui )

• Solutie:I A patratica si inversabila, atunci solutie unicaI A cu n� m (subdeterminata) - o infinitate de solutii, atunci

se cauta solutia de norma minima (CMMP)I A cu m� n (supradeterminata) - nici o solutie, atunci se

cauta solutia care minimizeaza expresia patratica (CMMP)m∑i=1

(x1f1(ui ) + · · ·+ xnfn(ui )− bi )2 = ‖Ax − b‖2

Page 24: Metode Numerice Curs I Introducere

Aplicatia CMMP 1 - fitting un polinom

With four parameters I can fit an elephant, with five I can makehim wiggle his trunk (Von Neumann)

• Problema: fitting un polinom de grad < n

p(t) = x0 + x1t + · · ·+ xn−1tn−1

la datele (ti , bi ), i = 1, · · · ,mI functii de baza pj(t) = t j−1 pentru j = 1, · · · , nI matricea A cu intrarile Aij = t j−1

i (matrice Vandermonde)

A =

1 t1 t2

1 · · · tn−11

1 t2 t22 · · · tn−1

2...

......

......

1 tm t2m · · · tn−1

m

• Exemplu: aproximam functia f (t) = 4t

1+10t2 cu un polinom peintervalul [0, 1] avand la dispozitie 100 de date

Page 25: Metode Numerice Curs I Introducere

Aplicatia CMMP 1 - fitting un polinom

I CMMP fit (A ∈ R100×d) cu polinoame de grad d = 1, 2, 3, 4avand eroarea ‖Ax − b‖ = 0.135, 0.076, 0.025, 0.005

I Linie continua f (t), linie punctate pd(t) pe [0, 1]I Vom invatam algoritmi pentru rezolvarea acestei probleme!

Cu 4 parametri complecsi chiar poti potriviun elefant (Drawing an elephant with fourcomplex parameters, Am. J. Phys, 2010)

Page 26: Metode Numerice Curs I Introducere

Aplicatia CMMP 2 - identificarea sistemlorConsideram un sistem intrare-iesire:

Pentru sistemul considerat dispunem de 40 de masuratoriintrare-iesire {u(t), y(t)}:

0 5 10 15 20 25 30 35 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

t

u(t)

0 5 10 15 20 25 30 35 402.5

3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

t

y(t)

Page 27: Metode Numerice Curs I Introducere

Aplicatia CMMP 2 - identificarea sistemlorDorim sa aproximam sistemul printr-un model intrare-iesire deforma ARMA:

ymodel(t) = x1u(t)+x2u(t−1)+x3u(t−2)+x4u(t−3)+x5u(t−4).

Gasirea setului de parametrii x = [x1 · · · x5]T ai modelului poate firealizata prin rezolvarea unui sistem liniar (problema CMMP):

Ax = b cu A ∈ R36×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)

Page 28: Metode Numerice Curs I Introducere

Aplicatia CMMP 2 - Identificarea sistemelorRaspunsul modelului estimat:

0 5 10 15 20 25 30 35 403

3.5

4

4.5

5

5.5

6

6.5

7

7.5

8Raspunsul estimat si raspunsul real

ymodel(t)

y(t)

Page 29: Metode Numerice Curs I Introducere

Aplicatia CMMP 3 - problema NetflixI sistem de recomandare pentru filme: predictie cu acuratete

cat mai mare a cat de mult iti va placea un film bazat pepreferintele tale

I concursul privind imbunatatirea algoritmului de recomandareNetflix a pornit in 2006.

I In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire

Page 30: Metode Numerice Curs I Introducere

Aplicatia CMMP 3 - problema Netflix

I datele de antrenare pentru algoritmul de recomandare: 100milioane ratings; 480.000 utilizatori; 17.700 filme; date stransein 6 ani (2000–2005)

Page 31: Metode Numerice Curs I Introducere

Aplicatia CMMP 3 - problema NetflixPrincipalele obstacole:I dimensiunea datelor foarte mare: este nevoie de algoritmi

eficienti din punct de vedere al calculelor si al memorieiI datele de test si cele de antrenare sunt diferite: e.g. datele de

test ratings sunt mai recenteI 99% date lipsesc, deci metodele standard nu se aplicaI multi factori afecteaza rating-ul unui film: actorii, regizorul,

stilul actiunii, muzica, genulMatematica aplicata ajuta: Metodele Numerice si Optimizarea!I utilizator Y caracterizeaza

filmele prin atribute: violenta(x1 = 1.5); umor (x2 = 3.5);acest actor sau regizor(x3 = 0.5), etc ...

I factorizarea de matrici esteprincipala abordare

I combinata cu metodagradient din optimizare

Page 32: Metode Numerice Curs I Introducere

Aplicatia CMMP 3 - problema NetflixEstimarea ratingurilor necunoscute folosind factorizarea matricilor:se stie ca A are rang mic, deci A = U · V cu U ∈ Rm×r ,V ∈ Rr×n

minU,V

∑i ,j∈S‖Ai ,j − U(i , :) · V (:, j)‖2

Aproximarea cu produs de matrici de rang 3: dar algebra standardse aplica numai matricilor cu toate intrarile cunoscute ⇒ netezireadatelor este necesara via optimizare pentru a evita overfitting ⇒minimizare alternanta in U si V conduce la problema CMMP!

Page 33: Metode Numerice Curs I Introducere

Aplicatie CMMP 4 - reconstructie tomografica

Tomografie computerizata = tehnica noninvaziva ce folosesteraze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3Dale interiorului obiectului scanat.Procedura de functionare consta in:

1. Se achizitioneaza o serie deproiectii, din diferite unghiuri,ale obiectului scanat;

www.merckmanuals.com

2. Prin intermediul proiecti-ilor obtinute, se reconstruiesteinteriorul obiectului cu ajutorulunui algoritm iterativ;

www.mathworks.com

In majoritatea cazurilor, radiatiile folosite sunt daunatoare; deaceea se urmareste achizitionarea unui numar minim de proiectii.

Page 34: Metode Numerice Curs I Introducere

Aplicatie CMMP 4 - reconstructie tomograficaFormularea problemei:

• Fie x ∈ Rn imaginea interiorului de reconstruit.• Pentru reconstructie, dispunem de diferite masuratori liniare(proiectii) ale imaginii x : bi = Aix , i = 1, · · · ,m.• Notam vectorul proiectiilor b ∈ Rm si A = [AT

1 · · ·ATm]T ∈ Rm×n

matricea de achizitie.• Imaginea interiorului reprezinta solutia sistemului liniar(subdeterminat deoarece sunt mai putine masuratori m decatdimensiunea imaginii n): Ax = b.• Reformulare in termeni de problema CMMP:

minx∈Rn: Ax=b

‖x‖α

unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegemα = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorulsolutie). Se doreste o reprezentare rara a imaginii deoarece aceastapermite: compresie usoara; algoritmi rapizi pt. procesare; memoriede stocare mica; eliminarea usoara a zgomotului;...

Page 35: Metode Numerice Curs I Introducere

Aplicatie CMMP 5 - Machine Learning (clasificare)Avem exemple de semnale (vectori) din doua clase si dorim ca, pebaza lor, sa cream o regula prin care sa clasificam semnale viitoare.Notam cu n1, n2, numarul de vectori (de antrenare) apartinandclaselor C1 si C2; vectorii au dimensiune d . Un clasicator foartesimplu este cel bazat pe CMMP (exista metode de clasificare maieficiente, dar si mai complexe). Acesta construieste functia liniara:

f (v) = aT v + b

unde v ∈ Rd este un semnal de antrenare, iar a ∈ Rd si b ∈ R suntparametrii necunoscutti ai functiei. Pentru a gasi acesti parametri,fixam ca obiectiv satisfacerea relatiei:

f (v) =

{1 daca v ∈ C1

−1 daca v ∈ C2

Desigur, aceasta relatie nu poate fi satisfacuta exact, de aceeacautam o solutie in sens CMMP. Notand 1n un vector avand toateelementele egale cu 1 si dimensiune n, relatia precedenta conducela un sistem CMMP.

Page 36: Metode Numerice Curs I Introducere

Aplicatie CMMP 5 - Machine Learning (clasificare)Cu datele de antrenare(v1, 1), · · · , (vn1 , 1), (vn1+1,−1), · · · , (vn1+n2 ,−1)construim sistemul CMMP:

v1 1· · · · · ·vn1 1

vn1+1 1· · · · · ·

vn1+n2 1

(

ab

)=

(1n1

−1n2

)

a carui solutie produce valorile optime pentru a si b. Clasificareaefectiva a unui semnal nou v se face tinand cont de care dintrevalorile 1 sau −1 este mai aproape valoarea functiei f :

v ∈

{C1 daca sign(aT v + b) = 1

C2 daca sign(aT v + b) = −1

Page 37: Metode Numerice Curs I Introducere

Aplicatie CMMP 5 - clasificare email-uri

I Se construieste un dictionar de cuvinte de dimensiune d .

I Date de antrenare sunt emailu-uri.

I Construirea de vectori “features” se bazeaza pe “Bags ofWords” (functie in matlab): (vi , 1) (bun) sau (vi ,−1) (spam),unde vi (j) reprezinta numarul de aparitii a cuvantului j dindictionar in emailul i .

Construiti un clasificator liniar care separa cele doua clase.

Page 38: Metode Numerice Curs I Introducere

Aplicatii - valorile proprii ale unei matriciAv = λv ⇒ λ ∈ R, v ∈ Rn, v 6= 0

Rezolvarea ecuatiei diferentiale cu ajutorul valorilor proprii:n∑

i=0

aidiy

dt= 0

• facem schimbare de variabila diydt = yi , i.e.

I y = y0

I dy0

dt = y1

I dy1

dt = y2

I · · ·I dyn−2

dt = yn−1

I andyn−1

dt = −an−1yn−1 − an−2yn−2 − · · · − a0y0

• din ecuatiile de mai sus formam sistemul y′ = Ay unde

A =

0 1 0 · · · 0 00 0 1 0 · · · 0...

......

......

...− a0

an− a1

an− a2

an· · · −an−2

an−an−1

an

Page 39: Metode Numerice Curs I Introducere

Aplicatii - valorile proprii ale unei matrici• rezolvarea ecuatiei diferentiale cu ajutorul valorilor proprii:

n∑i=0

aidiy

dt= 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 valorileproprii λi si V matrice avand coloanele vectorii proprii

• facem schimbarea de variabila: y = Vu.

Vu′ = AVu ⇔ u′ = V−1AVu ⇔ u′ = Λu ⇔u′i = λiui ⇔ ui (t) = expλi t ui (0)⇔ u(t) = expΛt u(0)⇔V−1y(t) = expΛt V−1y(0)

my(t) = V expΛt V−1y(0)

Page 40: Metode Numerice Curs I Introducere

Aplicatia 1 - valorile proprii ale unei matriciPendule cuplate:

I dynamica data de ecuatia diferentiala: d2ydt = Ay

I matricea de elasticitate: A =

(−2 11 −2

)si y = [θ1 θ2]T

I cautam solutii de forma: y(t) = c expλt , cu c ∈ R2

I dupa substituire in ecuatia diferentiala obtinem:(A− λ2I2)c = 0

I solutia ⇔ gasirea valorilor si vectorilor proprii matricei A

Page 41: Metode Numerice Curs I Introducere

Aplicatia 2 - valorile proprii ale unei matriciVehicule cuplate:

I dynamica data de ecuatia diferentiala: d2ydt = Ay

I matricea de elasticitate: A =

−4 4 06 −12 60 4 −4

si

y = [y1 y2 y3]T

I cautam solutii de forma: y(t) = c expλt , cu c ∈ R3

I dupa substituire in ecuatia diferentiala obtinem:(A− λ2I2)c = 0

I solutia ⇔ gasirea valorilor si vectorilor proprii matricei A

Page 42: Metode Numerice Curs I Introducere

Aplicatia 3 - valorile proprii ale unei matriciStabilitatea sistemelor dinamice:

I dinamica continua in spatiul starilor: x ′ = Ax

I sistemul este stabil daca toate valorile proprii λi ale lui A suntin partea stanga a planului complex

I dinamica discreta in spatiul starilor: xt+1 = AxtI sistemul este stabil daca toate valorile proprii λi ale lui A sunt

in discul unitate

Page 43: Metode Numerice Curs I Introducere

Aplicatia 4 - vectori proprii ai unei matrici

Problema Google (ierarhizarea paginilor web):

An vs. Numar pagini webhttp://www.internetlivestats.com/

I Doar in 2013, numarul paginilor web a crescut cu 30%;

I Problema centrala a motoarelor de cautare:selectia/ierarhizarea (“ranking”-ul) surselor de informatiefunctie de relevanta raportata la obiectul cautat.

Page 44: Metode Numerice Curs I Introducere

Problema Google - Formularea algebricaI PageRank a inceput cu faimoasa lucrare a lui Brin & Page

(1998): clasificarea unui numar urias de pagini web

I Reteaua paginilor se reprezinta prin intermediul unui grafponderat orientat, unde nod ≡ pagina, iar muchie ≡ link

I Ponderea pij = probabilitatea ca la o navigare aleatorie sa seajunga din pagina i in pagina j

I Matrice de adiacenta E ∈ Rn×n: Eij = pij > 0 daca intre i si jexista muchie sau Eij = 0 daca i si j nu sunt legate

I Matricea E este stocastica pe coloane (i.e.∑n

j=1 Eij = 1 ∀i),deci valoarea proprie maxima in modul este 1

I Determinati vectorul propriu π ∈ Rn astfel incatEπ = π, eTπ = 1, π ≥ 0 (πi vectorul probabilitatilor deaccesare pagina i)

Putem aplica Metoda Puterii

πk+1 = Eπk ⇒ limkπk = π∗

Page 45: Metode Numerice Curs I Introducere

Aplicatii - descompunerea valorilor singulareDescompunerea valorilor singulare ale unei matrici - (DVS):

A=UΣV T ⇒ Σ diagonala, intrari valorile singulare σi ; U,V ortogonale

• Pseudo-inversa unei matrici oarecare:I pseudo-inversa: A† = V Σ−1UT

I e.g. rang intreg pe linii: A† = (ATA)−1AT

I solutia CMMP via A†: xcmmp = A†b

• Imaginea discului unitate prin transformarea liniara{Ax : ‖x‖ ≤ 1} este elipsoidul cu axele principale σiui :

I rotatie (prin V T )

I alungire dea lungul axelor(prin σi )

I rotatie (prin U)

Page 46: Metode Numerice Curs I Introducere

Aplicatia DVS 1 - descompunerea valorilor singulareAproximarea unei matrici cu matrice de rang mai mic:I fie A ∈ Rm×n cu rang(A) = r si A = UΣV T =

∑ri=1 σiuiv

Ti

I cautam matricea A avand rangul p < r a.i. A ≈ A, i.e.‖A− A‖ minim

I solutie: A =∑p

i=1 σiuivTi , deci ‖A− A‖ = ‖

∑ri=p+1 σiuiv

Ti ‖

I interpretare: componentele principale de rang 1, uivTi , sunt

ordonate in functie de importanta lor data de σiI multe aplicatii: procesarea de imagine, simplificare model,...

Dem: fie rang(B) ≤ p, deci dim Null(B) ≥ n − p. Apoi:dim Span {v1, · · · , vp+1} = p + 1. Cele 2 spatii se intersecteaza:

∃z : ‖z‖ = 1, Bz = 0, z ∈ Span{v1, · · · , vp+1}

(A− B)z = Az =

p+1∑i=1

σiuivTi z (z ⊥ vp+2...)

‖(A− B)z‖2 =

p+1∑i=1

σ2i (vT

i z)2 ≥ σ2p+1‖z‖2

Deci ‖A−B‖ = max‖x‖≤1‖(A−B)x‖‖x‖ ≥ ‖(A−B)z‖

‖z‖ ≥ σp+1 = ‖A− A‖

Page 47: Metode Numerice Curs I Introducere

Aplicatia DVS 2 - descompunerea valorilor singulareSimplificare model:

I fie modelul y = Ax + ε

I A ∈ R100×30 are VS σi : 10, 7, 2, 0.5, 0.01, · · · , 0.0001

I ‖x‖ ≤ 1 si zgomotul ε are norma mai mica decat 0.1

• atunci termenii σiuivTi x sunt mai mici decat ε pentru i ≥ 5

• modelul simplificat: y =∑4

i=1 σiuivTi x + v (i.e. descris de o

matrice de rang 4, nu rang 30!)

Alta interpretare pentru σi :

σi = minB:rang(B)≤i−1

‖A− B‖

i.e. σi reprezinta distanta (in norma matriceala) la cea maiapropriata matrice de rang i − 1

Exemplu: pentru A ∈ Rn×n, σn reprezinta distanta la cea maiapropiata matrice singulara (deci σn mica inseamna ca A estefoarte apropiata de o matrice singulara).

Page 48: Metode Numerice Curs I Introducere

Aplicatia DVS 3: matrix completionI se da o matrice X cu elemente lipsa (e.g. o imagine)I se presupune ca matricea X este de rang scazutI scopul este sa se gaseasca elementele lipsa din XI pentru a impune rang mic asupra unei matrici se foloseste

nuclear norm ‖ · ‖∗: daca A are descompunerea DVSA =

∑ri=1 σiuiv

Ti , atunci ‖A‖∗ =

∑ri=1 σi

I problema se pune astfel:

minX∈Rm×n

rang(X ) =⇒︸︷︷︸relaxare convexa

minX∈Rm×n

‖X‖∗

s.l.: Xij = Aij ∀i , j ∈ S s.l.: Xij = Aij ∀i , j ∈ S

unde se dau valorile Aij cu (i , j) ∈ S o submultime aelementelor matricei cautate

I relaxarea convexa se poate scrie ca un SDP:

minX ,W1,W2

tr(W1) + tr(W2)

s.l.: Xij = Aij ∀i , j ∈ S ,

[W1 XXT W2

]� 0

Page 49: Metode Numerice Curs I Introducere

Aplicatia DVS 3: matrix completion cu aplicare inrecuperarea de imagine

imaginea data (40% elemente lipsa) si imaginea recuperata

Page 50: Metode Numerice Curs I Introducere

Metode Numerice

Curs IIAlgoritmi elementari

Ion Necoara

2020

Page 51: Metode Numerice Curs I Introducere

Spatiul vectorial Rn

• R multimea numerelor reale, C multimea numerelor complexe

• Vectori (considerati intotdeauana vector coloana) cu litere

mici, i.e. x ∈ Rn, x =

x1...xn

• Produs scalar in spatiul Euclidian: 〈x , y〉 = xT y =

∑ni=1 xiyi

• norma este o functie ce satisface urmatoarele conditii:

‖x‖ ≥ 0; ‖αx‖ = |α|‖x‖ ∀α ∈ R, x ∈ Rn; ‖x + y‖ ≤ ‖x‖+ ‖y‖

• Norma Euclidiana standard: ‖x‖ =√〈x , x〉 =

√x21 + · · ·+ x2n

• Norma p: ‖x‖p = (|x1|p + · · ·+ |xn|p)1/p ∀p ≥ 1,‖x‖∞ = maxi=1:n |xi | (Observatie: p ∈ [0, 1) nu defineste onorma, 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‖∞

Page 52: Metode Numerice Curs I Introducere

Spatiul vectorial Rn

• unghiul a doi vectori nenuli se defineste prin θ = arc cos 〈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 {u1, · · · , up} cu coeficientiiα1, · · · , αp este vectorul: α1u1 + · · ·+ αpup

• vectorii {u1, · · · , up} sunt ortonormali iff 〈ui , uj〉 = δij (i.e.vectorii sunt de norma 1 si ortogonali doi cate doi)

• vectorii {u1, · · · , up} sunt linear independenti daca nu exista ocombinatie liniara netriviala a elementelor lui X care sa fienula. Vectorii sunt liniar dependenti daca cel putin unul dintreei 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• ek (cu k = 1 : n) baza standard a spatiului liniar Rn

Page 53: Metode Numerice Curs I Introducere

Spatiul vectorial Rn

• dimensiunea subspatiului S este numarul vectorilor din baza

• doua subspatii S, T sunt complementare daca: (i) S ∩ T = 0;(ii) Rn = Span(S ∪ T )⇒ dimS + dimT = n

• e.g. in R3, un plan (S) si o dreapta (T ) ce se intersecteaza inorigine formeaza doua subspatii complementare

• un subspatiu S este complementul ortogonal al subspatiului Tdaca: (i) sunt complementare; (ii) sunt ortogonale S⊥T

• Algoritm pentru calculul normei p =∞:

1. norm = 0

2. pentru i = 1 : n daca |xi | > norm atunci norm = |xi |

• Algoritm pentru calculul normei p = 2:

1. norm = 0

2. pentru i = 1 : n avem norm = norm + x2i

3. norm =√norm

Page 54: Metode Numerice Curs I Introducere

Matrice in Rm×n

• Matrice cu litere mari: A,B,C ,H ∈ Rm×n

• (AT )T = A, (A + B)T = AT + BT , (AB)T = BTAT

• AH conjugata hermitica a matricei (complexe) A, i.e AH = AT

• A(i1 : i2, j1 : j2) blocul matrice A format din liniile de la i1 la i2si coloanele de la j1 la j2.

• A+ pseudo-inversa (Moore-Penrose) a matricei A (e.g.A+ = (ATA)−1AT daca are rangul intreg pe coloane)

• produsul scalar a doua matrici: 〈A,B〉 = tr(BTA)

• Norma Frobenius a unei matrici:‖A‖F =

√〈A,A〉 =

√tr(ATA) =

√∑i ,j a

2ij

• Norma spectrala a unei matrici: ‖A‖ =√λmax(ATA)

• Norma p ≥ 1 indusa:

‖A‖p = max‖x‖p=1 ‖Ax‖p = maxx 6=0‖Ax‖p‖x‖p

• λ(A) multimea valorilor proprii ale matricei A

• σ(A) multimea valorilor singulare ale matricei A

Page 55: Metode Numerice Curs I Introducere

Matrice in Rm×n

• imaginea unei matrici A (subspatiul generat de coloane):Im A = {y ∈ Rm : ∃x ∈ Rn a.i . y = Ax}• nucleul unei matrici: Ker A = {x ∈ Rx : Ax = 0}• Proprietati: Im A si Ker AT sunt subspatii ortogonale si

complementare:(i) Im A ⊥ Ker AT ; (ii) Rm = Span(Im A ∪ Ker AT )

• rangul matricei A = dimensiunea subspatiului Im A (i.e. nr.maxim de coloane liniar independente din A)

• Avem rang A = rang AT (i.e. nr maxim de linii liniarindependente din A)

• Concluzionam: (i) dimIm A = dimIm AT = rang A = r ; (ii)dimKer A = n − r ; (iii) dimKer AT = m − r

• matrice monica: coloanele liniar independente (i.e. Ker A = 0)

• matrice epica: liniile liniar independente (i.e. Im A = Rm)

Page 56: Metode Numerice Curs I Introducere

Matrice in Rm×n

Exemplu: fie matricea A =

1 00 11 1

• Atunci imaginea lui A este data de subspatiul:

Im A = {y ∈ R3 : y = [x1 x2 x1 + x2]T , x1, x2 ∈ R}

i.e. planul ecuatiei y3 = y1 + y2 ⇒ dim = 2

• Kernel lui AT este subspatiul:

Ker AT = {y ∈ R3 : y2 + y3 = 0, y1 + y3 = 0}

i.e. generat de vectorul [1 1 − 1]T ⇒ dim = 1

Page 57: Metode Numerice Curs I Introducere

Matrice in Rm×n

• Matrice simetrica: A = AT (spatiul liniar al matricilorsimetrice Sn ⊂ Rn×n)

• Matrice pozitiv definita A ∈ Sn: A � 0, si pozitiv semidefinitaA � 0 (i.e. xTAx ≥ 0 ∀x ∈ Rn ⇐⇒ λi ≥ 0 ∀i ⇐⇒ minoriiprincipali sunt ne-negativi)

• Matrice ortogonala: QTQ = In (coloanele formeaza perechide vectori ortonormali, i.e. vectori de norma 1 si ortogonalidoi cate doi)

• Matrice inferior/superior triunghiulara: O matrice L ∈ Rm×n

s.n. inferior triunghiulara daca L(i , j) = 0 ∀i < j

L =

x 0 0 · · · 0x x 0 · · · 0...

......

......

x x x · · · x

Page 58: Metode Numerice Curs I Introducere

Matrice in Rm×n

• Daca D matrice diagonala si A matrice cu structura, atunciDA si AD au aceeasi structura cu A

• Produsul a doua matrici inferior triunghiulare este matriceinferior triunghiulara

• Daca L matrice inferior triunghiulara si H inferior Hessenbergatunci produsul LH si HL este matrice inferior Hessenberg

• Orice submatrice principala a unei matrice pozitiv definite estepozitiv definita

• Daca U si V sunt ortogonale atunci produsul lor UV este toto 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 memoreazaintr-un vector de lungime n(n + 1)/2(ii) o matrice tridiagonala se memoreaza in 3 vectori

Page 59: Metode Numerice Curs I Introducere

Matrice in Rm×n

Alte tipuri de matrici:

• A ∈ Rn×n matrice normala daca: ATA = AAT (e.g. matricesimetrice A = AT , antisimetrica A = −AT sau ortogonalaATA = In)

• Fie P ∈ Rn×n si S un subspatiu, atunci P este proiector pe Sdaca: (i) P2 = P; (ii) S = Im PInterpretare: orice x ∈ Rn satisface Px ∈ Im P = S. Mai multP(Px) = Px deci aplicarea proiectorului nu modifica proiectia.Analog, Q = In − P este proiector pentru T = Im Q

• Daca in plus P = PT (simetrica), atunci P este proiectorortogonal deoarece Px ⊥ (x − Px), i.e. x se descompune casuma a doi vectori ortogonaliDemonstratie: P(x − Px) = 0, decix − Px ∈ Ker P = KerPT ⊥ ImP, i.e. Px ⊥ (x − Px).Exemplu: daca B ∈ Rn×r are coloane ortogonale (BTB = Ir ),atunci P = BBT este proiectie ortogonala pe subspatiul Im Bavand ca baza ortonormala coloanele lui B.

Page 60: Metode Numerice Curs I Introducere

Inmultirea matricilor

• Algoritm pt produsul C = AB, unde A ∈ Rm×l si B ∈ Rl×n

C = 0

pentru j = 1 : n

pentru i = 1 : m

pentru k = 1 : l

Cij = Cij + AikBkj

Inmultirea de matrici necesita 2mnl flopi, deci 2n3 complexitatearitmetica pentru matrici patratice!

Observatie: Algoritmul Strassen (1969) are complexitate mai micaO(nlog2 7) ≈ O(n2.8) si se bazeaza pe inmultirea recursiva la nivelde blocuri

Page 61: Metode Numerice Curs I Introducere

Inmultirea matricilorConsideram impartirea pe blocuri:

A =

[A11 A12

A21 A22

], B =

[B11 B12

B21 B22

], A =

[C11 C12

C21 C22

]Algoritmul Strassen este definit de urmatoarele formule:

C = AB =

[M1 + M2 + M3 −M4 M4 + M6

M3 + M5 M1 −M5 + M6 + M7

]unde am definit blocurile:

M1 = (A11 + A22)(B11 + B22) M5 = (A21 + A22)B11

M2 = (A12 − A22)(B21 + B22) M6 = A11(B12 − B22)

M3 = A22(B21 − B11) M7 = (A21 − A11)(B11 + B12)

M4 = (A11 + A12)B22

Page 62: Metode Numerice Curs I Introducere

Inmultirea matricilor

• Se observa ca pentru calculul matricei C sunt necesare 7inmultiri si 18 adunari de matrice de dimensiuni n/2× n/2, in timpce algoritmul standard la nivel de bloc pentru aceeasi partitie, 8inmultiri si 4 adunari de blocuri. Astfel, nr. de operatii pt. alg.Strassen este N1(n) = 14n3

8 + 18n2

4 . Evident, pentru n suficient demare (n > 18), N1(n) < 2n3, deci alg. Strassen este mai rapiddecat cel standard.

• Numar de operatii mai bun se obtine daca, pt. calculul celor 7produse de matrice n/2× n/2 se utilizeaza, recursiv, aceleasiformule ale lui Strassen. Obtinem complexitate O(n2.8)

Page 63: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii

Un sistem de ecuatii liniare:a11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2

· · · · · · · · ·am1x1 + am2x2 + · · ·+ amnxn = bm

poate fi reprezentat compact in forma matriceala

Ax = b,

unde A ∈ Rm×n si b ∈ Rm.

I daca m = n sistem determinat

I daca m < n sistem subdeterminat

I daca m > n sistem supradeterminat

Page 64: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii - retea electrica

Sistemele de ecuatii liniare apar in foarte multe aplicatii dininginerie, fizica, biologie, etc...

Exemplu 1 - retea electrica: determinarea cantitatii de curent depe fiecare ramura a retelei.

Legea I a lui Kirchof: in fiecare nod curentii care intra sunt egali cucei care ies din nodul respectiv: i1 = i2 + i3 si i2 + i3 = i1.

Page 65: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii - retea electrica

Legea II a lui Kirchof: suma tensiunilor intr-o bucla este zero

loop de sus : 9− i2 − 4i1 = 0

loop de jos : 4− 2i3 + i2 − 3i3 = 0

loop mare : 4− 2i3 − 4i1 + 9− 3i3 = 0

Observam ca a 3-a ecuatie este suma primelor doua!

Page 66: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii - retea electrica

Obtinem sistemul: i1 − i2 − i3 = 0

4i1 + i2 = 9

−i2 + 5i3 = 4

Page 67: Metode Numerice Curs I Introducere

Sisteme de ecuatii - analiza fortelor in sistem de grinziExemplu 2 - sistem de grinzi (stress analysis of a truss, e.g unpod rutier): presupunem capetele sunt fixe si se dorestedeterminarea fortelor ce actioneaza pe fiecare grinda din sistem

Fie |fk | magnitudinea fortei pe grinda k . Consideram fk > 0 dacagrinda este sub tensiune si fk < 0 daca grinda este sub comprimare.

Page 68: Metode Numerice Curs I Introducere

Sisteme de ecuatii - analiza fortelor in sistem de grinzi

echilibru static in punctul A

proiectie orizontala : − 1√2f1 + f4 +

1√2f5 = 0

proiectie verticala : − 1√2f1 − f3 −

1√2f5 = 0

echilibru static in punctul B

proiectie orizontala : −f4 + f8 = 0

proiectie verticala : −f7 = 0

echilibru static in punctul C

proiectie orizontala : −f8 −1√2f9 +

1√2f12 = 0

proiectie verticala : − 1√2f9 − f11 −

1√2f12 = 0

Page 69: Metode Numerice Curs I Introducere

Sisteme de ecuatii - analiza fortelor in sistem de grinzi

echilibru static in punctul D

proiectie orizontala : −f2 + f6 = 0

proiectie verticala : f3 − 10 = 0

echilibru static in punctul E

proiectie orizontala : − 1√2f5 − f6 +

1√2f9 + f10 = 0

proiectie verticala :1√2f5 + f7 +

1√2f9 − 15 = 0

echilibru static in punctul F

proiectie orizontala : −f10 + f13 = 0

proiectie verticala : f11 − 20 = 0

Page 70: Metode Numerice Curs I Introducere

Sisteme de ecuatii - analiza fortelor in sistem de grinzi

Obtinem sistemul subdeterminat Ax = b, unde A ∈ R12×13:

− 1√2f1 + f4 + 1√

2f5 = 0

− 1√2f1 − f3 − 1√

2f5 = 0

−f4 + f8 = 0

−f7 = 0

−f8 − 1√2f9 + 1√

2f12 = 0

− 1√2f9 − f11 − 1√

2f12 = 0

−f2 + f6 = 0

f3 = 10

− 1√2f5 − f6 + 1√

2f9 + f10 = 0

1√2f5 + f7 + 1√

2f9 = 15

−f10 + f13 = 0

f11 = 20

Page 71: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii

Solutiile unui sistem de ecuatii liniare:(i) sistemul Ax = b are solutie iff b ∈ Im A or echivalent dacarang A = rang[A b](ii) daca x0 este o solutie particulara atunci multimea tuturorsolutiilor este x0 + Ker A(iii) solutia este unica iff Ker A = 0 (i.e. A are coloaneleindependente)(iv) daca m = n atunci sistemul are solutia x = A−1b iffA inversabila ⇔ Im A = Rm ⇔ Ker A = 0

Page 72: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii

Exemplu 1: daca Im A = Rm (i.e. liniile independente), atuncisistemul are solutie pentru orice b.

Exemplu 2: A =

(1 1 00 1 1

)si b =

(21

). Atunci x0 =

110

este solutie particulara. Pe de alta parte

Ker A = {x ∈ R3 : x1 + x2 = 0, x2 + x3 = 0} = Span

1−11

.

Deci o solutie generala este de forma

1 + α1− αα

.

Page 73: Metode Numerice Curs I Introducere

Rezolvarea sistemelor triunghiulareConsideram sistemul inferior triunghiular:

Lx = b unde Lij = 0 ∀i < j

I prima ecuatie: x1 = b1/L11I se cunosc x1, x2, · · · , xi−1 si se rezolva a i-a ecuatie:

i−1∑j=1

Lijxj + Liixi = bi ⇔ xi =

bi −i−1∑j=1

Lijxj

/Lii

• Algoritm (LTRIS):

x = b

pentru i = 1 : n

pentru j = 1 : i − 1

xi = xi − Lijxj

xi = xi/Lii

Page 74: Metode Numerice Curs I Introducere

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

xi = xi − Lijxj

xi = xi/Lii

Complexitate:- fiecare executia a buclei i necesita 2(i − 1) + 1 flopi- in total

∑ni=1(2i − 1) = n2 flopi!

Page 75: Metode Numerice Curs I Introducere

Rezolvarea sistemelor triunghiulareConsideram sistemul superior triunghiular:

Ux = b unde Uij = 0 ∀i > j

I prima ecuatie: xn = bn/Unn

I se cunosc xn, · · · , xi+1 si se rezolva a i-a ecuatie:

n∑j=i+1

Uijxj + Uiixi = bi ⇔ xi =

bi −n∑

j=i+1

Uijxj

/Uii

• Algoritm (UTRIS): apelare x = UTRIS(U, b)

x = b

pentru i = n : −1 : 1

pentru j = i + 1 : n

xi = xi − Uijxj

xi = xi/Uii

Page 76: Metode Numerice Curs I Introducere

Inversarea matricelor triunghiulareFie o matrice inferior triunghiulara L inversabila: atunci

L−1 = X ⇒ LX = In

Partitionam inversa X pe coloane, i.e. X = [x1 · · · xn], cu xj = Xej .

I rezolvam n sisteme inferior triunghiulare: Lxj = ejI luam in calcul structura acestui sistem Lxj = ej :(

Lj11 0

Lj21 Lj22

)(x

′j

x′′j

)=

(0

e′′j

)

unde Lj11 ∈ R(j−1)×(j−1), etc...

Obtinem:

Lj11x′j = 0 ⇔ x

′j = 0

Lj21x′j + Lj22x

′′j = e

′′j ⇔ Lj22x

′′j = e

′′j ⇔ (LTRIS dimensiune n − j + 1)

Page 77: Metode Numerice Curs I Introducere

Inversarea matricelor triunghiulare

Lj11x′j = 0 ⇔ x

′j = 0

Lj21x′j + Lj22x

′′j = e

′′j ⇔ Lj22x

′′j = e

′′j ⇔ (LTRIS dimensiune n − j + 1)

• Concluzionam: inversa unei matrici inferior triunghiulare este totinferior triunghiulara!

• Algoritm (LINV) pentru calcularea inversei:

pentru j = 1 : n

xjj = 1/Ljj

pentru i = j + 1 : n

xij = −

i−1∑k=j

Likxkj

/Lii

• Numarul total de operatii este O(n3/3)!

• In mod similar putem calcula inversa unei matrici superiortriunghiulare: algoritm (UINV)!

Page 78: Metode Numerice Curs I Introducere

Inversarea matricelor triunghiulare

In concluzie pentru a rezolva sistemul inferior triunghiular Lx = bavem doua posibilitati:

I utilizam LTRIS pentru gasirea solutiei x cu complexitate n2

I inversam matricea L cu complexitate n3/3 si aploi aflamsolutia x = L−1b

Deci pentru a gasi solutia unui sistem Lx = b este intodeauna maiieftin sa utilizam LTRIS decat sa inversam matricea! In Matlabutilizam comanda x = b/L in loc de x =inv(L) ∗ b.

Page 79: Metode Numerice Curs I Introducere

Valori si vectori proprii

• Definitie: λ ∈ C valoare proprie a matricei A ∈ Rn×n daca existav ∈ Rn, v 6= 0 a.i. Av = λv .• Observatie 1: A are exact n valori proprii care coincid cuzerourile polinomului caracteristic p(λ) = det(A− λIn).• Observatie 2: daca A are valori proprii distincte, atunci exista unset de vectori proprii V = [v1 · · · vn] liniar independenti si avem

V−1AV = diag(λi )

Demonstratie:AV = [Av1 · · ·Avn] = [λ1v1 · · ·λnvn] = [v1 · · · vn]diag(λi ) si V esteinversabila (vectori proprii liniar independenti)• daca U matrice superior triunghiulara atunci valorile proprii alelui U se calculeaza usor:

λi = Uii

Page 80: Metode Numerice Curs I Introducere

Vectori proprii pentru matrici triunghiulare

Cazul I: valorile proprii sunt distincte doua cate doua:T = λj In − U a.i. Tvj = 0 ce se partitioneaza astfel T11 y T13

0 0 wT

0 0 T33

v′j

vjjv

′′j

= 0

• Din ultima ecuatie T33v′′j = 0 obtinem v

′′j = 0.

• Ecuatia 2 este mereu satisfacuta: wT v′′j = 0, si deci putem alege

vjj = 1.• Din prima ecuatie avem T11v

′j = −y care se rezolva cu UTRIS si

obtinem unic v′j deoarece T11 este inversabila (U avand valori

proprii distincte)• Observatie: Vectorii proprii astfel calculati sunt linearindependenti deoarece V = [v1 · · · vn] este matrice superiortriunghiulara cu elemente 1 pe diagonala (vezi alegerea vjj = 1)

Page 81: Metode Numerice Curs I Introducere

Vectori proprii pentru matrici triunghiulare

Cazul II: valorile proprii nu sunt distincte doua cate doua.• In acest caz T11 poate fi singulara. Se pune problema dacasistemul T11v

′j = −y are solutie. Presupunem vjj = 1 si ca am

calculat valorile v′j (j − 1), · · · , v ′

j (i + 1) si scriem ecuatia i aacestui sistem:

T11(ii)v′j (i) = βij = −T11(ij)−

j−1∑k=i+1

T11(ik)v′j (k)

(i) Daca T11(ii) 6= 0 atunci v′j (i) = βij/T11(ii)

(ii) Daca T11(ii) = 0 atunci fie βij = 0 si putem alege v′j (i) = 1;

fie βij 6= 0 si atunci sistemul nu are solutie (i.e. nu se pot calcula nvectori proprii liniar independenti)

• Numarul total de operatii este O(n3/3)!

Page 82: Metode Numerice Curs I Introducere

Vectori proprii pentru matrici triunghiulare

Algoritm TRV - calculul vectorilor proprii unei matrice sup. tr.(Se da U ∈ Rn×n sup. tr. si calculeaza vectorii proprii lui U inmatr. V ; coloanele nule din V sunt cazuri de defectivitate):

1. Pentru j = 1 : n

1. vjj = 1

2. Pentru i = j − 1 : −1 : 1

1. β ← uij +

j−1∑k=i+1

uikvkj

2. Daca uii 6= ujj atunci vij ← β/(ujj − uii )

altfel daca β = 0 atuncivij = 1

altfel vkj = 0 ∀k = i + 1 : j

treci la urmatorul j

• Numarul total de operatii este O(n3/3)!

Page 83: Metode Numerice Curs I Introducere

Metode Numerice

Curs IIIRezolvarea sistemelor de ecuatii liniare

Ion Necoara

2020

Page 84: Metode Numerice Curs I Introducere

Sisteme liniare de ecuatii

Un sistem determinat de ecuatii liniare:a11x1 + a12x2 + · · ·+ a1nxn = b1

a21x1 + a22x2 + · · ·+ a2nxn = b2

· · · · · · · · ·an1x1 + an2x2 + · · ·+ annxn = bn

poate fi reprezentat compact in forma matriceala

Ax = b,

unde A ∈ Rn×n este matrice inversabila si b ∈ Rn un vector dat.

• Prezentam principalele metode de rezolvare a sistemelor liniare;• Analizam implementari eficiente ale metodelor prezentate pentrudiferite cazuri particulare;

Page 85: Metode Numerice Curs I Introducere

Aplicatie -soarecele si labirintul• O aplicatie din probabilitate: consideram un labirint si un soareceintr-un experiment de laborator:I experimentul consta in plasarea unui soarece la una din cele

10 intersectii ale labirintuluiI daca soarecele ajunge intr-un coridor exterior atunci el nu se

poate intoarce inapoi in labirintI cand soarecele este intr-o intersectie, alege aleator un drum

Care este probabilitatea castigatoare pi ca soarecele sa ajunga lacoridorul cu hrana pornind din intersectie i?

Page 86: Metode Numerice Curs I Introducere

Aplicatie -soarecele si labirintulDe exemplu, in prima intersectie, soarecele are probabilitatea:I 1

4 de a alege sus-dreapta si a pierdeI 1

4 de a alege sus-stanga si a pierdeI 1

4 de a alege jos-dreapta si astfel a ajunge la un punct cuprobabilitate de castigare p3

I 14 de a alege jos-stanga si astfel a ajunge la un punct cuprobabilitate de castigare p2.

p1 =1

4(0) +

1

4(0) +

1

4(p2) +

1

4(p3)

In mod similar obtinem:

p2 =1

5(0) +

1

5(p1) +

1

5(p3) +

1

5(p4) +

1

5(p5)

· · ·

p10 =1

4(0) +

1

4(1) +

1

4(p6) +

1

4(p9)

Obtinem sistemul patratic Ap = b, cu matricea A ∈ R10×10 foarterara, p = [p1 · · · p10]T si b = [06 1 1 1 1].

Page 87: Metode Numerice Curs I Introducere

Metode de rezolvare a sistemelor liniare

Clasificare a metodelor de rezolvare a sistemelor liniare

I Metode directe - bazate pe reducerea sistemului liniar(printr-o secventa finita de transformari elementare) la unulsau doua sisteme triunghiulare, care se rezolva utilizandproceduri de substitutie (alg. LTRIS si UTRIS).Exemple:I metodele de eliminare gaussiana;I factorizare compacta LU;

Sunt recomandate pentru sisteme de dim. medii n < 500.

I Metode iterative - bazate pe construirea recursiva a unui sirde vectori care converge catre solutia sistemului liniar.Exemple:I algoritmul Jacobi;I algoritmul Gauss-Seidel;

Sunt recomandate pentru sisteme de dimensiuni foarte mari.

Page 88: Metode Numerice Curs I Introducere

Transformari elementare

Definitie. O matrice inferior triunghiulara elementara (ITE) deordin n si indice k este o matrice de forma

Mk = In −mkeTk ,

unde mk = [0 0 · · · 0 µk+1,k · · · µnk ]T este un vector cu primelecomponente nule, iar ek este vectorul unitate de indice k .

Mk =

1 0 · · · 0 · · · 00 1 · · · 0 · · · 0

. . . · · ·0 0 · · · 1 · · · 00 0 · · · −µk+1,k · · · 0

· · · · · · . . . 00 0 · · · −µnk · · · 1

Matricea Mk nu se memoreaza integral, ci doar prin vectorul mk !

Page 89: Metode Numerice Curs I Introducere

Transformari elementare - proprietati

a) O matrice ITE este inversabila si M−1k = In + mkeTk ;

b) Fie x ∈ Rn un vector dat, iar Mk o matrice ITE. Atuncivectorul transformat y = Mkx are elementele

(Mkx)i =

{xi , pentru i = 1 : k ,

xi − µikxk , pentru i = k + 1 : n.(1)

c) Fie x ∈ Rn. Daca xk 6= 0, atunci exista o matrice ITE Mk

astfel incat vectorul transformat y = Mkx are ultimele n − kcomponente nule, mai precis

(Mkx)i =

{xi , pentru i = 1 : k,

0, pentru i = k + 1 : n.

Daca xk = 0, atunci pentru orice Mk avem Mkx = x .Observatie: alegeti in (1) multiplicatorii µik = xi

xk.

Page 90: Metode Numerice Curs I Introducere

Transformari elementare - exemplu

Fie vectorul x =

2211

. O matrice ITE de indice 1 are forma

M1 = I4 −m1eT1 =

1 0 0 0−µ21 1 0 0−µ31 0 1 0−µ41 0 0 1

, unde m1 =

0µ21µ31µ41

.

Alegand µi1 = xi/x1, pt. i = 2, 3, 4 atunci avem

M1 = I4 −m1eT1 =

1 0 0 0−1 1 0 0−1/2 0 1 0−1/2 0 0 1

. Vectorul transformat (vezi

proprietatea c) din slide-ul precedent) y = M1x este

2000

.

Page 91: Metode Numerice Curs I Introducere

Matrice de permutare

Definitie. O matrice Pij ∈ Rn×n obtinuta din matrice unitate Inprin interschimbarea a doua coloane (sau linii) i si j , adica omatrice de forma (aici i < j):

Pij = [e1 · · · ei−1 ej ei+1 · · · ej−1 ei ej+1 . . . en]

=

Ii−1

0 1Ij−i−1

1 0In−j

in care toate elementele nefigurate sunt nule, se numeste (matricede) permutare elementara (PE).

Page 92: Metode Numerice Curs I Introducere

Matrice de permutare - Proprietati

a) O PE este ortogonala si simetrica, deci P−1ij = Pij , iardetPij = −1.

b) Premultiplicarea unei matrice A cu PE Pij interschimba linia icu linia j din A, adica:

eTk (PijA) =

eTk A, pentru k 6= i , j ,

eTj A, pentru k = i ,

eTi A, pentru k = j .

c) Postmultiplicarea unei matrice A cu PE Pij interschimbacoloana i cu coloana j din A, adica:

(APij)ek =

Aek , pentru k 6= i , j ,

Aej , pentru k = i ,

Aei , pentru k = j .

Page 93: Metode Numerice Curs I Introducere

Matrice de permutare - exemplu

Fie matricea P23 =

1 0 00 0 10 1 0

si A =

1 2 32 2 33 3 3

.

Premultiplicand pe A obtinem P23A =

1 2 33 3 32 2 3

.

Postmultiplicand pe A obtinem AP23 =

1 3 22 3 23 3 3

.

Page 94: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana

Fie A ∈ Rn×n o matrice nu neaparat inversabila.

Eliminarea gaussiana = metoda de reducere a matricei A la formasuperior triunghiulara prin aplicarea la stanga lui A a unei secventede matrice ITE, fiecare aleasa astfel incat sa anuleze elementelesubdiagonale in coloana corespunzatoare ak a matricei A.

Propozitie. Fie A ∈ Rn×n.

a) Daca L ∈ Rn×n este inferior triunghiulara, atunci

(LA)[k] = L[k]A[k].

b) Daca Li ∈ Rn×n, i = 1 : p, sunt matrice inferior triunghiulare,atunci

(L1L2 · · · LpA)[k] = L[k]1 L

[k]2 · · · L

[k]p A[k].

Page 95: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare - exemplu

Rezolvati sistemul

x1 + x2 + x3 = 1

2x1 + 3x2 + 4x3 = 2

4x1 + 2x2 + 3x3 = 3

utilizand eliminare

gaussiana.Substituind pe x1 din prima ecuatie in celelalte doua, avem

x1 + x2 + x3 = 1

x2 + 2x3 = 0

−2x2 − x3 = −1.

Din nou, substituind pe x2 din a doua ecuatie in a treia, avemx1 + x2 + x3 = 1

x2 + 2x3 = 0

3x3 = −1.

Solutia: x1 = 2/3, x2 = 2/3, x3 = −1/3.

Page 96: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussianaTeorema. Daca matricea A ∈ Rn×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 estenesingulara.

Demonstratia descrie o procedura de reducere efectiva a matricei Ala forma superior triunghiulara U. Procedura consta in n − 1 pasi:

Initializare : A1 = A

Pas 1 : A2 = M1A1 = M1A

Pas 2 : A3 = M2A2 = M2M1A

. . .

Pas n − 1 : An = Mn−1An−1 = Mn−1Mn−2 · · ·M1︸ ︷︷ ︸M

A = U.

Page 97: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana

Demonstratie:Pasul 1. Fie A1 = A si a1 = Ae1. Prin ipoteza,

A[1]1 = A[1] = a11 6= 0. Atunci exista o matrice ITE M1 a.i.

(M1a1)i =

{a11, pentru i = 1,

0, pentru i = 2 : n,

adica matricea A2 = M1A are toate elementele subdiagonale aleprimei coloane egale cu 0:

A2 =

a(2)11 a

(2)12 . . . a

(2)1n

0 a(2)22 . . . a

(2)2n

0 a(2)32 . . . a

(2)3n

. . . . . . . . . . . .

0 a(2)n2 . . . a

(2)nn

Matricea A2 reprezinta rezultatul Pasului 1.

Page 98: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana

Demonstratie (continuare):Pasul k. Presupunem ca matricea curenta

Ak = Mk−1 · · ·M2M1A

Ak =

a(k)11 a

(k)12 . . . a

(k)1,k−1 a

(k)1k . . . a

(k)1,n

0 a(k)22 . . . a

(k)2,k−1 a

(k)2k . . . a

(k)2,n

0 0 . . . a(k)3,k−1 a

(k)3k . . . a

(k)3,n

. . . . . . . . . . . . . . . . . . . . .

0 0 . . . a(k)k−1,k−1 a

(k)k−1,k . . . a

(k)k−1,n

0 0 . . . 0 a(k)k,k . . . a

(k)k,n

. . . . . . . . . . . . . . . . . . . . .

0 0 . . . 0 a(k)n,k . . . a

(k)n,n

este superior triunghiulara in primele k − 1 coloane, i.e. matricea

A[k]k este superior triunghiulara.

Page 99: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussianaDin 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]) 6= 0,

ce conduce la concluzia ca pivotul a(k)kk este nenul. Deci, din

proprietatea c) a matricilor ITE, exista o matrice ITE Mk ceinduce zerouri subdiagonale pe coloana k matricii Ak .

Mai mult, premultiplicarea cu Mk a matricei Ak nu altereazaprimele k − 1 coloane (in care s-au indus zero-uri la pasii anteriori)

deoarece matricea elementara Mk =

[Ik−1 0

0 M1

].

Prin urmare, matricea Ak+1 = MkAk este sup. tr. in primele kcoloane; continuand procedura pana la pasul n − 1 (inclusiv),

obtinem Udef= An = Mn−1Mn−2 · · ·M1︸ ︷︷ ︸

M

A, unde M inf. tr. unitate.

Page 100: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana

Schema EG

1. Pentru k = 1 : n − 1

1. Se calculeaza matricea ITE Mk (adica multiplicatorii µik ,i = k + 1 : n), astfel incat (MkA)ik = 0, pentru i = k + 1 : n

2. Se calculeaza A← MkA

• La pasul 1.1, multiplicatorii µik sunt calculati conform µik =a(k)ik

a(k)kk

si memorati pe pozitiile elementelor anulate.

u11 u12 . . . u1,k u1,k+1 . . . u1,nµ21 u22 . . . u2,k u2,k+1 . . . u2,n. . . . . . . . . . . . . . . . . . . . .µk1 µk2 . . . uk,k uk,k+1 . . . uk,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

(k+1)n,n

Page 101: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana - exemplu

Aplicam procedura de eliminare gaussiana matricii A =

1 2 12 1 21 1 2

Conditiile de nesingularitate sunt indeplinite: det(A[1]) = 1 sidet(A[2]) = −3.

Pasul 1. Se urmareste anularea elementelor a21 si a31. Considerampivot elementul a11. Calculam multiplicatorii µ21 = a21

a11= 2 si

µ31 = a31a11

= 1, ce definesc matricea M1 =

1 0 0−2 1 0−1 0 1

. Din

premultiplicarea matricii A avem

A2 = M1A =

1 2 10 −3 00 −1 1

.

Page 102: Metode Numerice Curs I Introducere

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

a(2)22

= 1/3, ce

definesc matricea M2 =

1 0 00 1 00 −1/3 1

. In final avem

U = A3 = M2A2 =

1 2 10 −3 00 0 1

.Schema EG memoreaza multiplicatorii gaussieni in triunghiulinferior al matricii U: 1 2 1

2 −3 01 1/3 1

.

Page 103: Metode Numerice Curs I Introducere

Triangularizare prin eliminare gaussiana

Algoritmul G. (Se da A ∈ Rn×n, cu submatricele lider principaleA[k], k = 1 : n − 1 nesingulare. Se calculeaza matricea sup. tr. Usi matricele ITE M1, · · · ,Mn−1, astfel incat U = Mn−1 · · ·M1A.Matricea U se memoreaza in triunghiul superior al lui A, inclusivdiagonala, iar multiplicatorii µik in triunghiul inferior al lui A, pepozitiile elementelor anulate.)

1. Pentru k = 1 : n − 1

1. Pentru i = k + 1 : n

1. aik ← µik =aikakk

2. Pentru j = k + 1 : n

1. Pentru i = k + 1 : n

1. aij ← aij − µikakj

Algoritmul necesita ≈ 2n3

3 operatii.

Page 104: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare - exemplu 2Rezolvati sistemul {

10−4x1 + x2 = 1

x1 + x2 = 2.

Solutia exacta a sistemului este x1 = 1.00010... six2 = 0.999990.... Presupunem precizia masinii de calcul ε = 10−3.

Utilizam procedura de eliminare gaussiana pt. sistemul:

I fara pivotare, avem sistemul

{10−4x1 + x2 = 1

x1 + x2 = 2, in care

prima ecuatie conduce la x1 = 104(1− x2). In urmasubstitutiei in a doua ecuatie avem x2 = 9998

9999 ≈ 1. Deci,obtinem x1 = 0 (solutie falsa!).

I cu pivotare (i.e. schimband pivotul), avem sistemul{x1 + x2 = 2

10−4x1 + x2 = 1,care in urma substitutiei

10−4(2− x2) + x2 = 1 conduce la x2 = 0.99980.9999 ≈ 1. Obtinem

x1 = 1 (solutie corecta!).

Page 105: Metode Numerice Curs I Introducere

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 Mk care sa anulezeelementele subdiagonale din coloana k a matricii A.

Remediu: strategii de pivotare = interschimbarea de linii (sau/sicoloane), care aduce in pozitia pivotului un element nenul.

I Pivotare partiala - la pasul k se alege ca pivot elementulmaxim in modul din coloana k ;

I Pivotare completa - la pasul k se alege ca pivot elementulmaxim in modul din “coltul dreapta-jos” al matricei Ak , i.e.

elementele a(k)ij , i = k : n, j = k : n;

Page 106: Metode Numerice Curs I Introducere

Pivotare partiala

La pasul k al procedurii de triangularizare, se alege ca pivotelementul maxim in modul din coloana k . Presupunand ca se aflape linia ik si este nenul, se interschimba liniile ik si k prininmultirea la stanga a matricii A cu o PE Pkik .Observatie: alegem ik ≥ k pentru a nu altera structura matriciiobtinute pana la pasul k .

Ak =

u11 . . . u1k . . . u1n

0. . . . . .

a(k)kk . . . a

(k)kn

0 . . .

a(k)ikk

. . . a(k)ikn

0 . . .

a(k)nk . . . a

(k)nn

;PkikAk =

u11 . . . u1k . . . u1n

0. . . . . .

a(k)ikk

. . . a(k)ikn

0 . . .

a(k)kk . . . a

(k)kn

0 . . .

a(k)nk . . . a

(k)nn

Page 107: Metode Numerice Curs I Introducere

Pivotare partiala

Notam Pk = Pikk .Schema Eliminarea Gaussiana cu Pivotare Partiala.

1. Se determina cel mai mic ik ≥ k a.i. |aikk | = maxi=k:n|aik |.

2. Se interschimba liniile ik si k, i.e. A← PkA.

3. Se determina matricea ITE Mk a.i. (MkA)ik = 0, i = k + 1 : n.

4. Se aplica transformarea A← MkA.

Procesul global conduce la matricea superior triunghiulara:

U = An = Mn−1Pn−1Mn−2Pn−2 · · ·M1P1A.

Page 108: Metode Numerice Curs I Introducere

Eliminarea Gaussiana cu Pivotare Partiala - exemplu

Aplicam procedura de GPP matricii A =

0.01 1 11 2 02 0 1

.

Conditiile de nesingularitate sunt indeplinite: A[1] = 0.01 sidet(A[2]) = −0.98.

Initializare: A1 = 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:

A1 =

0 0 10 1 01 0 0

︸ ︷︷ ︸

P1

0.01 1 11 2 02 0 1

︸ ︷︷ ︸

A

=

2 0 11 2 0

0.01 1 1

.

Consideram pivot elementul a(1)11 = 2. Se urmareste anularea

elementelor a(1)21 si a

(1)31 .

Page 109: Metode Numerice Curs I Introducere

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 M1 =

1 0 0−0.5 1 0−0.005 0 1

. Din premultiplicarea

matricii A avem

A2 = M1A1 =

2 0 10 2 −0.50 1 0.995

.Pasul 2. Observam ca nu este necesara pivotare (elementul cumodul maxim de pe coloana 2 este deja in pozitia pivotului).

Consideram pivot elementul a(2)22 = 2. Se urmareste anularea

elementului a(2)32 .

Page 110: Metode Numerice Curs I Introducere

Eliminarea Gaussiana cu Pivotare Partiala - exemplu

Calculam multiplicatorul µ32 =a(2)32

a(2)22

= 0.5, ce defineste matricea

M2 =

1 0 00 1 00 −0.5 1

. Din premultiplicarea matricii A2 avem

U = M2A2 =

2 0 10 2 −0.50 0 1.245

.Schema GPP memoreaza multiplicatorii gaussieni in triunghiulinferior al matricii U: 2 0 1

0.5 2 −0.50.005 0.5 1.245

.

Page 111: Metode Numerice Curs I Introducere

Algoritmul GPP - Eliminare gaussiana cu pivotare partiala(Se da A ∈ Rn×n, nesingulara. Se calculeaza matricea sup. tr. U,matricele ITE M1, . . . ,Mn−1 si PE P1, . . . ,Pn−1 a.i.U = Mn−1Pn−1 · · ·M1P1A. Matricea U se memoreaza in triunghiulsuperior al lui A, inclusiv diagonala, iar multiplicatorii µik cedefinesc Mk se memoreaza in triunghiul inferior al lui A. Intregii ikcare definesc PE Pk , sunt memorati in vectorul p ∈ Nn−1.)

1. Pentru k = 1 : n − 1

1. Se determina cel mai mic ik ∈ k : n a.i. |aikk | = maxi=k:n|aik |.

2. p(k)← ik

3. Pentru j = k : n % interschimba liniile k si ik

1. akj ↔ aik j

4. Pentru i = k + 1 : n

1. aik ← µik = aik/akk

5. Pentru j = k + 1 : n

1. Pentru i = k + 1 : n

1. aij ← aij − µikakj

Page 112: Metode Numerice Curs I Introducere

Eliminare gaussiana cu pivotare partiala

Remarca: Operatiile suplimentare necesare in algoritmul GPP,fata de algoritmul G, apar numai in cautarea pivotului si constau incomparatiile necesare gasirii elementului maxim in modul dincoloana respectiva.

Numarul de comparatii necesare: n2

2 << 2n3

3 .

Teorema. Daca A ∈ Rn×n este nesingulara, atunci algoritmulGPP se va executa complet iar matricea superior triunghiulara Urezultata in final, este nesingulara.

Page 113: Metode Numerice Curs I Introducere

Pivotare completaLa 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 aik jk ,se muta in pozitia de pivot (k, k) prin doua interschimbari: una delinii, cealalta de coloane. Exprimate prin inmultirea lui A la stanga,respectiv la dreapta, cu PE Pkik , respectiv Qkjk .

Ak︷ ︸︸ ︷

u11 . . . u1k . . . u1jk . . . u1n

0. . . . . . . . .

a(k)kk . . . a

(k)kjk

. . . a(k)kn

0 . . .

a(k)ikk

. . . a(k)ik jk

. . . a(k)ikn

0 . . .

a(k)nk . . . a

(k)njk

. . . a(k)nn

PkikAkQkjk︷ ︸︸ ︷

u11 . . . u1jk . . . u1k . . . u1n

0. . . . . . . . .

a(k)ik jk

. . . a(k)ikk

. . . a(k)ikn

0 . . .

a(k)kjk

. . . a(k)kk . . . a

(k)kn

0 . . .

a(k)njk

. . . a(k)nk . . . a

(k)nn

Page 114: Metode Numerice Curs I Introducere

Pivotare completaNotam Pk = Pikk si Qk = Qkjk .Schema Eliminarea Gaussiana cu Pivotare Completa.

1. Se determina cei mai mici (ik , jk) a.i. |aik jk | = maxi ,j=k:n

|aij |.2. Se interschimba liniile ik si k , i.e. A← PkA.3. Se interschimba coloanele jk si k , i.e. A← AQk .4. Se determina matricea ITE Mk a.i. (MkA)ik = 0, i = k + 1 : n.5. Se aplica transformarea A← MkA.

Procesul global conduce la matricea superior triunghiulara:

U = An = Mn−1Pn−1Mn−2Pn−2 · · ·M1P1AQ1 · · ·Qn−1.

Algoritmul GPC - Eliminare gaussiana cu pivotare completa(Se da A ∈ Rn×n, nesingulara. Se calculeaza matricea sup. tr. U,matricele ITE M1, . . . ,Mn−1 si PE P1,Q1, . . . ,Pn−1,Qn−1 a.i.U = Mn−1Pn−1 · · ·M1P1A. Matricea U se memoreaza in triunghiulsuperior al lui A, iar multiplicatorii µik se memoreaza in triunghiulinferior. Intregii ik si jk care definesc PE Pk si Qk sunt memorati invectorii p, q ∈ Nn−1.)

Page 115: Metode Numerice Curs I Introducere

Eliminare gaussiana cu pivotare completa

1. Pentru k = 1 : n − 1

1. Se determina ik , jk ∈ k : n a.i. |aik jk | = maxi ,j=k:n

|aij |.

2. p(k)← ik

3. q(k)← jk

4. Pentru j = k : n % interschimba liniile k si ik

1. akj ↔ aik j

5. Pentru i = 1 : n % interschimba coloanele k si jk

1. aik ↔ aijk6. Pentru i = k + 1 : n

1. aik ← µik = aik/akk

7. Pentru j = k + 1 : n

1. Pentru i = k + 1 : n

1. aij ← aij − µikakj

Page 116: Metode Numerice Curs I Introducere

Eliminare gaussiana cu pivotare completa

Remarca: Operatiile suplimentare necesare in algoritmul GPC,fata de algoritmul G, apar numai in cautarea pivotului (ca si incazul pivotarii partiale).

Numarul de comparatii necesare: n3

3 ≈2n3

3 .Observam ca pivotarea completa introduce un nr. de comparatii deacelasi ordin cu numarul operatiilor aritmetice, ce poate conduce lao crestere semnificativa a timpului de executie. De aceea alg. GPCse utilizeaza numai cand se doreste o mare siguranta in calcululrezultatului. Matlab are implementat o versiune a alg. GPP!

Teorema. Daca A ∈ Rn×n este nesingulara, atunci algoritmulGPC se va executa complet, iar matricea superior triunghiulara Urezultata in final, este nesingulara.

Page 117: Metode Numerice Curs I Introducere

Eliminarea Gaussiana cu Pivotare Completa - exemplu

Aplicam procedura de GPC matricii A =

3 1 12 2 01 0 2

.

Initializare: A1 = A;Pasul 1. Observam ca nu este necesara pivotare (elementul cumodul 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

M1 =

1 0 0−2/3 1 0−1/3 0 1

. Din premultiplicarea matricii A avem

A2 = M1A1 =

2 0 10 4/3 −2/30 −1/3 5/3

.

Page 118: Metode Numerice Curs I Introducere

Eliminarea Gaussiana cu Pivotare Completa - exempluPasul 2. Se determina elementul maxim in modul din bloculA2(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:

A2 =

1 0 00 0 10 1 0

︸ ︷︷ ︸

P1

2 0 10 4/3 −2/30 −1/3 5/3

︸ ︷︷ ︸

A2

1 0 00 0 10 1 0

︸ ︷︷ ︸

Q1

=

2 1 00 5/3 −1/30 −2/3 4/3

.

Consideram pivot elementul a(2)22 = 5/3. Calculam multiplicatorul

µ32 =a(2)32

a(2)22

= −2/5, ce defineste matricea M2 =

1 0 00 1 00 2/5 1

. Din

premultiplicarea matricii A2 avem

U = M2A2 =

2 1 00 5/3 −1/30 0 22/15

.

Page 119: Metode Numerice Curs I Introducere

Eliminarea Gaussiana cu Pivotare Completa - exemplu

Calculam multiplicatorul µ32 =a(2)32

a(2)22

= −2/5, ce defineste matricea

M2 =

1 0 00 1 00 2/5 1

. Din premultiplicarea matricii A2 avem

U = M2A2 =

2 1 00 5/3 −1/30 0 22/15

.Schema GPC memoreaza multiplicatorii gaussieni in triunghiulinferior al matricii U: 2 1 0

2/3 5/3 −1/31/3 −2/5 22/15

.

Page 120: Metode Numerice Curs I Introducere

Factorizari LU

In multe situatii (e.g. rezolvarea de sisteme liniare) este convenabila exprima o matrice data ca produs a doua matrice triunghiulare.Aceasta forma poate fi utilizata pentru a simplifica anumite calculeimplicand matricea respectiva.

Definitie. Fie A ∈ Rn×n. Daca exista L ∈ Rn×n inferiortriunghiulara si U ∈ Rn×n superior triunghiulara astfel incat

A = LU

atunci se spune ca A admite o factorizare (descompunere) LU.

Definitie. Fie A ∈ Rn×n. Daca exista L ∈ Rn×n inferiortriunghiulara, U ∈ Rn×n superior triunghiulara si D ∈ Rn×n

diagonala astfel incatA = LDU

atunci matricea A admite o factorizare LDU.

Page 121: Metode Numerice Curs I Introducere

Factorizari LUTeorema. O matrice A ∈ Rn×n are o unica factorizare LU si LDUdaca si numai daca submatricele lider principale A[k] k = 1 : n − 1sunt nesingulare.Demonstratie: am aratat anterior ca sub conditiile teoremei ∃ Minf. 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(u11 · · · unn) si U ′ = D−1U,atunci avem descompunerea A = LDU ′.

• Factorizari LU:

I factorizarea Doolittle A = LU, cu L inferior triunghiularaunitate si U superior triunghiulara,

I factorizarea Crout A = LU, cu L inferior triunghiulara si Usuperior triunghiulara unitate.

Din teorema rezulta ca ambele factorizari (Crout si Doolittle)exista si sunt unice daca si numai daca submatricele lider principaleA[k], k = 1 : n − 1 sunt nesingulare.

Page 122: Metode Numerice Curs I Introducere

Factorizari LU rezultate din eliminarea gaussiana

Factorizarea Doolittle este calculata chiar de algoritmul G detriangularizare gaussiana!!

Teorema. Algoritmul G, aplicat matricei A ∈ Rn×n, cudet(A[k]) 6= 0, k = 1 : n − 1, calculeaza factorizarea DoolittleA = LU, cu L inferior triunghiulara unitate si U superiortriunghiulara. Factorii L (mai putin elementele diagonale) si U suntmemorati peste A.

Observatie. Matricea inferior triunghiulara L este definita de

L = (Mn−1 · · ·M2M1)−1 = M−11 M−12 · · ·M−1n−1

= (In + m1eT1 )(In + m2e

T2 ) · · · (In + mn−1e

Tn−1)

= In +n−1∑i=1

mkeTk deoarece eTi mj = 0 ∀i < j

Page 123: Metode Numerice Curs I Introducere

Factorizari LU rezultate din eliminarea gaussiana

Teorema. Triangularizarea obtinuta prin algoritmul GPP, i.e.Mn−1Pn−1 · · ·M1P1A = U, a matricei A ∈ Rn×n este echivalentacu factorizarea Doolittle a matricei A cu liniile permutate, adica

PA = LU,

unde P = Pn−1 · · ·P1. In partea subdiagonala, coloana L(:, k) esteo permutare a vectorului Gauss corespunzator mk ; mai precis, dacahk = Pn−1 · · ·Pk+1mk , atunci L(k + 1 : n, k) = hk(k + 1 : n).

Page 124: Metode Numerice Curs I Introducere

Factorizari LU compacte

Factorizarea Crout poate fi dedusa din factorizarea Doolittle prinmodificarea factorilor triunghiulari.

Fie factorizarea Doolittle a matricii A = LDoUDo si matriceadiagonala D = diag [(UDo)11, . . . , (UDo)nn]. Atunci o varianta decalcul (“necompacta”) a factorizarii Crout A = LCrUCr este:

A = LDoUDo = LDoD︸ ︷︷ ︸LCr

D−1UDo︸ ︷︷ ︸UCr

= LCrUCr .

Factorizarea Crout compacta se deduce direct din relatia A = LU,calculand succesiv cate o coloana din L si cate o linie din U.

Page 125: Metode Numerice Curs I Introducere

Factorizari LU compacte

Schema factorizare Crout compacta.Initializare. Calculam prima coloana din L si prima linie din U:

I Ae1 = LUe1 = Le1 ce implica li1 = ai1, i = 1 : n.

I eT1 A = eT1 LU = l11eT1 U ce implica u1j = a1j/l11, j = 2 : n.

(din conditia teoremei avem l11 = a11 = A[1] 6= 0)

Presupunem primele k − 1 col. din L si k − 1 lin. din U calculate(vezi fig.). Din identitatea A = LU obtinem

aik = lik +k−1∑s=1

lisusk ce implica lik = aik −k−1∑s=1

lisusk , i = k : n.

Page 126: Metode Numerice Curs I Introducere

Factorizari LU compacte

De asemenea avem: akj = lkkukj +k−1∑s=1

lksusj .

Din conditia teoremei avem ca A[k] = L[k]U [k] este nesingulara,deci si L[k] este nesingulara (i.e. lkk 6= 0). In concluzie,

ukj =

(akj −

k−1∑s=1

lksusj

)/lkk .

Observatie. Factorizarea Crout se obtine prin simpla identificare afiecarui element al matricii A cu produsul scalar dintre linia lui L sicoloana lui U corespunzatoare elementului respectiv.

Page 127: Metode Numerice Curs I Introducere

Factorizari LU compacte

Algoritmul Crout. (Se da A ∈ Rn×n, cu submatricele liderprincipale A[k], k = 1 : n− 1 nesingulare. Se calculeaza factorizareaCrout A = LU, cu L inf. tr. si U sup. tr. unitate. Matricele L si Usunt memorate peste elementele corespunzatoare din A, mai putinelementele diagonale ale lui U, egale cu 1.)

1. Pentru k = 1 : n

1. Pentru i = k : n

1. aik ← lik = aik −k−1∑s=1

lisusk

2. Pentru j = k + 1 : n

1. akj ← ukj =

(akj −

k−1∑s=1

lksusj

)/lkk .

Algoritmul necesita≈ 2n3

3 operatii (la fel ca alg. G, GPP, GPC).

Page 128: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand G

Consideram sistemul liniar Ax = b cu submatricile principale de lak = 1 la k = n− 1 ale lui A nesingulara (observatie: A poate sa fiesingulara!).

Utilizand alg. G si tinand cont ca matricele Mk sunt nesingulare,inf. tr. obtinem sistemul echivalent:

Mn−1 · · ·M1A︸ ︷︷ ︸U

x = Mn−1 · · ·M1b︸ ︷︷ ︸d

.

In final, am obtinut un sistem superior triunghiular Ux = d .

Deci, odata ce avem implementat alg. G, trebuie doar sa calculamd = Mb si sa chemam alg. UTRIS pentru perechea (U, d).

Page 129: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand GPP

Consideram urmatoarea sintaxa pentru utilizarea algoritmilor GPPsi GPC:

I [M,U, p] = GPP(A)

I [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 qvectori de intregi definind permutarile de linii si, respectiv, coloane.

Consideram sistemul liniar Ax = b cu A nesingulara. UtilizandGPP si tinand cont ca matricele Mk si Pk sunt nesingulare,obtinem sistemul echivalent

Mn−1Pn−1 · · ·M1P1A︸ ︷︷ ︸U

x = Mn−1Pn−1 · · ·M1P1b︸ ︷︷ ︸d

.

In final, am obtinut un sistem superior triunghiular Ux = d .

Page 130: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand GPP

Algoritmul S GPP. (Se dau A ∈ Rn×n nesingulara si b ∈ Rn. Secalculeaza solutia sistemului liniar Ax = b, utilizand procedura deeliminare gaussiana cu pivotare partiala.)

1.[M,U, p] = GPP(A)

2. Pentru k = 1 : n − 1

1. bk ↔ bp(k)

2. Pentru i = k + 1 : n

1. bi ← bi − µikbk3. x = UTRIS(U, b).

Algoritmul necesita ≈ 2n3

3 operatii (principalul efort consta intriangularizarea matricei A).

Page 131: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand GPC

Alternativ, dar mai costisitor, putem utiliza algoritmul GPC. Inacest caz, sistemul Ax = b este echivalent cu

Mn−1Pn−1 · · ·M1P1AQ1 · · ·Qn−1︸ ︷︷ ︸U

Qn−1 · · ·Q1x︸ ︷︷ ︸y

= Mn−1Pn−1 · · ·M1P1b︸ ︷︷ ︸d

.

Se rezolva sistemul superior triunghiular

Uy = d

cu algoritmul UTRIS, iar stiind ca Q−1k = Qk obtinem solutiafinala

x = Q1Q2 · · ·Qn−1y .

Page 132: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand GPC

Algoritmul S GPC. (Se dau A ∈ Rn×n nesingulara si b ∈ Rn. Secalculeaza solutia sistemului liniar Ax = b, utilizand procedura deeliminare gaussiana cu pivotare completa.)

1. [M,U, p, q] = GPC(A)

2. Pentru k = 1 : n − 1

1. bk ↔ bp(k)

2. Pentru i = k + 1 : n

1. bi ← bi − µikbk3. x = UTRIS(U, b)

4. Pentru k = n − 1 : −1 : 1

1. xk ↔ xq(k).

Algoritmul necesita ≈ 2n3

3 operatii (principalul efort consta intriangularizarea matricei A).

Page 133: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare utilizand factorizarea LU

Utilizand factorizarea LU obtinem o forma echivalenta a sistemuluiAx = 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

Page 134: Metode Numerice Curs I Introducere

Rezolvarea sistemelor liniare multiple utilizand LU

Sistemele cu parte dreapta multipla, i.e. de forma AX = B, cuB ∈ Rn×p, p > 1, pot fi reduse la p sisteme cu parte dreaptasimpla, Axj = bj , j = 1 : p, unde vectorii xj si bj sunt coloanele jdin X , respectiv B.

Utilizarea naiva de p ori a algoritmului S GPP ar conduce la unefort de calcul de pn3/3 flopi, inacceptabil de mare.

Se utilizeaza factorizarea LU o singura data, ramanand de rezolvatdoar sisteme triunghiulare:

1. A = LU (calculeaza factorizarea LU)

2. Pentru j = 1 : p

1. Se rezolva sistemul inferior triunghiular Ly = bj

2. Se rezolva sistemul superior triunghiular Uxj = y

Page 135: Metode Numerice Curs I Introducere

Calculul inversei unei matrice

Fie A ∈ Rn×n nesingulara. Algoritmul GPP aplicat matricii Aproduce matricea superior triunghiulara U definita de:

Mn−1Pn−1 · · ·M1P1A = U,

unde Mk sunt matrice ITE si Pk sunt PE. Se observa usor ca

A−1 = U−1Mn−1Pn−1 · · ·M1P1.

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 ← XMk

2. X ← XPk .

Page 136: Metode Numerice Curs I Introducere

Calculul inversei unei matrice

In bucla din instructiunea 3, prima atribuire X ← XMk poate fidetaliata partitionand pe X pe linii:

xTi Mk = xTi (In −mkeTk ) = xTi − (xTi mk)eTk

= [xi1 . . . xi ,k−1 xik − xTi mk xi ,k+1 . . . xin], i = 1 : n.

Se observa ca sunt modificate doar elementele de pe coloana k alui X .

A doua atribuire, i.e. X ← XPk , interschimba coloanele k si ik .

Prezentam varianta eficienta de calculare a inversei unei matrice,ce ia in considerare observatiile de mai sus.

Page 137: Metode Numerice Curs I Introducere

Algoritmul INV GPP (Se da A ∈ Rn×n nesingulara. Secalculeaza matricea A−1 peste A. Algoritmul utilizeaza algoritmiiGPP pentru triangularizarea gaussiana si UINV pentru inversareaunei 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. gi ← µik % salveaza multiplicatorii

2. Pentru i = 1 : k

1. aik ← aik − Σnt=k+1aitgt

3. Pentru i = k + 1 : n

1. aik ← −Σnt=k+1aitgt

4. Daca p(k) 6= k atunci

2. Pentru i = 1 : n % interschimba coloanele k si p(k)

1. aik ↔ ai ,p(k).

Page 138: Metode Numerice Curs I Introducere

Calculul inversei unei matrice

Observatie 1. Numarul de operatii in virgula mobila efectuate dealgoritmul INV GPP este ≈ 2n3.

Observatie 2. Este remarcabil faptul ca inversarea matriceala nueste mai complexa (ca numar de operatii) decat inmultirea dematrice.

Observatie 3. Efortul de calcul necesar inversarii unei matrice estede aproximativ trei ori mai mare decat cel pentru rezolvarea unuisistem liniar de aceeasi dimensiune. De aceea, in cazurile posibile,inversarea matriceala trebuie evitata si inlocuita cu rezolvarea desisteme liniare.

Page 139: Metode Numerice Curs I Introducere

Exemplu inversare eficienta

Sa se calculeze eficient scalarul α = cTA−1b, undeA ∈ Rn×n, b, c ∈ Rn.

Schema recomandata:

1. Se rezolva sistemul Ax = b % rezulta x = A−1b

2. α← cT x

Schema este sensibil mai eficienta decat aplicarea algoritmuluiINV GPP.

Page 140: Metode Numerice Curs I Introducere

Calculul determinantului

Algoritmii GPP si GPC sunt utili si in calculul determinantuluiunei matrice. Amintim ca o PE P are det(P) = −1, iar o matriceITE Mk are elementele diagonale egale cu 1, deci det(Mk) = 1.

Asadar

det(A) = (−1)s det(U) = (−1)sn∏

i=1

uii ,

unde s ≤ n − 1 este numarul de PE proprii (adica Pk 6= In) dinrelatia Mn−1Pn−1 · · ·M1P1A = U.

Page 141: Metode Numerice Curs I Introducere

Calculul determinantului

Algoritmul DET GPP. (Se da A ∈ Rn×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 ·ukk4. Pentru k = 1 : n − 1

1. Daca p(k) 6= k atunci

1. det← − det .

• Principalul efort de calcul este efectuat de algoritmul GPP.• Daca e disponibila o factorizare LU matricii A, atuncidet(A) = det(L) det(U) = (

∏ni=1 lii ) (

∏ni=1 uii ).

Page 142: Metode Numerice Curs I Introducere

Conditionarea sistemelor liniareAvand in vedere ca determinarea solutiei unui sistem liniar Ax = bcu precizie absoluta este (in cazul general) imposibila, analizaacuratetii rezultatului obtinut este importanta.

Considerand o perturbatie a datelor de intrare(A, b)→ (A + ∆A, b + ∆b) ≡ (A, b), se obtine o perturbatie asolutiei x → x + ∆x ≡ x , a.i.

(A + ∆A)(x + ∆x) = b + ∆b.

Teorema. Presupunem ca x 6= 0. Eroarea relativa a solutieisistemului perturbat este marginita conform relatiei

‖∆x‖‖x‖

≤ κ(A)

(‖∆A‖‖A‖

+‖∆b‖‖b‖

),

undeκ(A) = ‖A−1‖‖A‖

se numeste numar de conditionare al matricei A.

Page 143: Metode Numerice Curs I Introducere

Conditionarea sistemelor liniare

Observatie 1. Numarul de conditionare κ(A) furnizeaza o masuraa conditionarii problemei rezolvarii sistemului Ax = b, i.e. un κ(A)mic corespunde unei bune conditionari (sensibilitate redusa asolutiei in raport cu perturbatiile datelor).

Observatie 2. Doar matricea A determina conditionarea unuisistem, vectorul b neavand niciun rol.

Observatie 3. In cazul normei Euclidiene, avem κ(A) = 1 daca sinumai daca matricea A este ortogonala.

Page 144: Metode Numerice Curs I Introducere

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 = AT se observa ca U = LT . Deci, estenecesar calculul unui singur factor triunghiular! (intuitiv, dorim unalgoritm cu o complexitate de doua ori mai mica)

Aplicarea naiva a procedurii de eliminare gaussiana distrugesimetria matricii A! Deci, este necesara o modificare a algoritmuluiG pentru a profita de simetrie.

Utilizam transformari de congruenta pentru a pastra simetria,adica se aplica transformarii ITE de ambele parti ale matricei A.

Page 145: Metode Numerice Curs I Introducere

Sisteme simetrice

Schema eliminare gaussiana pentru sisteme simetrice

Initializare: D1 = A.

La pasul 1: D2 = M1AMT1

Stim ca M1 = In − e1mT1 , deci rezulta D2 = M1A− (M1A)e1m

T1 ;

deoarece (M1A)e1 = a11e1, se observa ca inmultirea la dreapta cuMT

1 , adica (M1A)MT1 nu afecteaza decat prima linie a matricii

M1A, introducand zero-uri in pozitiile din dreapta diagonalei.

Continuand analog pentru restul coloanelor, obtinem:

La pasul n − 1: D = Mn−1 · · ·M2M1AMT1 MT

2 · · ·MTn−1,

unde D este matrice diagonala.

La iesire, obtinem factorizarea A = LDLT , cuL = M−11 M−12 · · ·M

−1n−1 inf. tr. unitate si D matrice diagonala.

Page 146: Metode Numerice Curs I Introducere

Sisteme simetrice

Algoritm G pentru sisteme simetrice

1. Pentru k = 1 : n − 1

1. Pentru i = k + 1 : n

1. ti ← aik

2. aik ← aik/akk

2. Pentru j = k + 1 : n

1. Pentru i = j : n

1. aij ← aij − aiktj .

Vectorul t se utilizeaza la salvarea elementelor coloanei curente k ,pe pozitiile carora se memoreaza multiplicatorii

La iesire, obtinem factorizarea A = LDLT , cuL = M−11 M−12 · · ·M

−1n−1 inf. tr. unitate si D matrice diagonala

memorata peste A.

Page 147: Metode Numerice Curs I Introducere

Sisteme simetrice pozitiv definite

Consideram sistemul Ax = b, cu matricea A ∈ Rn×n este simetricasi pozitiv definita.

Teorema. Pentru orice matrice simetrica si pozitiv definitaA ∈ Rn×n, exista o unica matrice inferior triunghiulara L ∈ Rn×n,cu elemente diagonale pozitive, astfel incat

A = LLT ,

expresie numita factorizare Cholesky (iar L este numit factorCholesky ). Reciproc, daca factorizarea exista, atunci A estepozitiv definita.

Evident, putem considera descompunerea A = RTR, unde R = LT

este superior triunghiulara.

Page 148: Metode Numerice Curs I Introducere

Sisteme simetrice pozitiv definite

Din identitatea A = LLT , obtinem pt. prima coloana:a11 = l211 ⇒ l11 =

√a11

ai1 = li1l11 ⇒ li1 = ai1/l11, i = 2 : n.

Presupunand primele k − 1 coloane din L calculate, identificarea

elementului din pozitia (k , k) conduce la akk =k−1∑j=1

l2kj + l2kk .

a11

.... . .

ak1 . . . akk...

.... . .

an1 . . . ank . . . ann

=

l11...

. . . 0lk1 . . . lkk...

.... . .

ln1 . . . lnk . . . lnn

l11 . . . lk1 . . . ln1

. . ....

...lkk . . . lnk

0. . .

...lnn

Page 149: Metode Numerice Curs I Introducere

Sisteme simetrice pozitiv definite

Din conditia ca A sa fie pozitiv definita, avem akk −k−1∑j=1

l2kj > 0, si

putem determina lkk : lkk =

√akk −

k−1∑j=1

l2kj . Din identificarea

elementelor de pe coloana k avem

aik =k−1∑j=1

lij lkj + lik lkk , i = k + 1 : n. Asadar,

lik =

aik −k−1∑j=1

lij lkj

/lkk , i = k + 1 : n.

a11

.... . .

ak1 . . . akk...

.... . .

an1 . . . ank . . . ann

=

l11...

. . . 0lk1 . . . lkk...

.... . .

ln1 . . . lnk . . . lnn

l11 . . . lk1 . . . ln1

. . ....

...lkk . . . lnk

0. . .

...lnn

Page 150: Metode Numerice Curs I Introducere

Algoritm factorizare CholeskyAlgoritmul CHOL (Se da A ∈ Rn×n simetrica. Se stabileste dacaA este pozitiv definita si, in acest caz, se scrie peste triunghiulinferior al lui A matricea L din factorizarea Cholesky A = LLT .)

1. Pentru k = 1 : n

1. α← akk −k−1∑j=1

l2kj

2. Daca α ≤ 0 atunci

1. Tipareste ’ A nu este pozitiv definita’

2. Stop

3. akk ← lkk =√α

4. Pentru i = k + 1 : n

1. aik ← lik =

aik −k−1∑j=1

lij lkj

/lkk .

Page 151: Metode Numerice Curs I Introducere

Factorizare Cholesky - exemplu

Determinati factorul Cholesky al matricii A =

[3 11 3

].

Folosim identitatea A = LLT , i.e.[3 11 3

]=

[l11 0l21 l22

] [l11 l210 l22

].

• Observam ca a11 = l211 = 3, ceea ce implica l11 =√

3.

• Din inmultirea liniei 2 din L cu coloana 1 din LT , aveml21l11 = 1, ceea ce implica l21 = 1/

√3.

• Din inmultirea liniei 2 din L cu coloana 2 din LT , aveml222 = 3− l221 = 8/3, ceea ce implica l22 =

√8/3.

Am determinat factorul Cholesky L =

[ √3 0

1/√

3√

8/3

], si putem

concluziona ca matricea este pozitiv definita.

Page 152: Metode Numerice Curs I Introducere

Sisteme simetrice pozitiv definite

Algoritmul CHOL necesita ≈ n3

3 operatii.

Sistemul liniar Ax = b, cu A pozitiv definita se calculeaza dupaschema:

1. Se factorizeaza A = LLT cu algoritmul CHOL

2. Se rezolva sistemul inferior triunghiular Ly = b

3. Se rezolva sistemul superior triunghiular LT x = y .

Se efectueaza de doua ori mai putine operatii decat daca s-araplica algoritmul de eliminare gaussiana.

Page 153: Metode Numerice Curs I Introducere

Metode iterative pentru rezolvarea sistemelor liniareMetode iterative - construiesc recursiv un sir de vectoriconvergenti catre solutia sistemului Ax = b. Iteratia este de forma:

xk+1 = Bxk + c ,

unde matricea B si vectorul c sunt determinate de (A, b).

Convergenta acestor metode este asigurata daca raza spectrala

ρ(B) < 1.

Unele metode iterative se bazeaza pe descompunerea:

A = M − N

unde M se alege a.i. inversa ei se calculeaza usor (e.g. matricediagonala, triunghiulara). Atunci sistemul Ax = b se rescrieMx = Nx + b ce conduce la iteratia Mxk+1 = Nxk + b. Deci,B = M−1N si c = M−1b.

Exemple:I algoritmul Jacobi;I algoritmul Gauss-Seidel

Page 154: Metode Numerice Curs I Introducere

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(a11 · · · ann).Obtinem iteratia: Dxk+1 = Nxk + b sau echivalent

xk+1 = D−1Nxk + D−1b ⇐⇒ xk+1i =

bi −∑

j 6=i aijxkj

aii

I metoda este bine-definita daca toate elementele diagonale alelui A sunt ne-nule!

I metoda converge daca ρ(D−1N) < 1 sau daca matricea Aeste strict diagonal dominanta:

|aii | >∑j 6=i

|aij | ∀i

Page 155: Metode Numerice Curs I Introducere

Metoda Jacobi - exemplu

• Consideram sistemul cu 2 necunoscute:[2 15 7

]︸ ︷︷ ︸

A

x =

[1113

]︸︷︷︸

b

si x0 =

[11

]

• In acest caz B = D−1N =

[0 −1/2−5/7 0

]si

c = D−1b =

[11/213/7

].

• Iteratiile xk+1 = (D−1N)xk + D−1b devin:

x1 =

[5

8/7

], x2 =

[69/14−12/7

], · · ·

si continua pana la convergenta (A matrice diagonal dominanta)i.e. norma ‖Axk − b‖ mica.

Page 156: Metode Numerice Curs I Introducere

Metoda Gauss-SeidelIn metoda Gauss-Seidel se considera descompunere lui A:

A = L− U,

i.e. M = L este matricea inferior triunghiulara din A si U strictsuperior triunghiulara.

Obtinem iteratia Lxk+1 = Uxk + b sau:

xk+1 =L−1Uxk+L−1b ⇐⇒ xk+1i =

bi −∑i−1

j=1 aijxk+1j −

∑nj=i+1 aijx

kj

aii

I metoda este bine-definita daca toate elementele diagonale alelui A sunt ne-nule!

I metoda converge daca ρ(L−1U) < 1 sau A este pozitivdefinita sau daca matricea A este strict diagonal dominanta:

|aii | >∑j 6=i

|aij | ∀i

Page 157: Metode Numerice Curs I Introducere

Metoda Gauss-Seidel - exemplu

• Consideram sistemul cu 2 necunoscute:[16 37 −11

]︸ ︷︷ ︸

A

x =

[1113

]︸︷︷︸

b

si x0 =

[11

]

• In acest caz L−1U =

[0 −0.180 −0.11

]si L−1b =

[0.68−0.74

].

• Iteratiile xk+1 = (L−1U)xk + L−1b devin:

x1 =

[0.5−0.86

], x2 =

[0.84−0.64

], · · ·

si continua pana la convergenta (A matrice diagonal dominanta),i.e. norma ‖Axk − b‖ mica.

Page 158: Metode Numerice Curs I Introducere

Metoda KaczmarzIn metoda Kaczmarz la fiecare iteratie se elege o linie i (ciclic,aleator) si se face urmatoarea actualizare pentru xk :

xk+1 = xk −aTi x

k − bi‖ai‖2

ai

I este una din cele mai eficiente metode in contextul Big Data(iteratie foarte simpla, operatii cu vectori O(n))

I metoda converge intotdeauna liniar:

‖xk − x∗‖2 ≤(

1− λmin(ATA)

‖A‖2F

)k

‖x0 − x∗‖2

I nu cere conditii asupra matricii A (vezi metodele anterioare)

I am extins la cazul “batch” si cu pas “adaptiv”

I. Necoara, Faster randomized block Kaczmarz algorithms, inSIAM Journal on Matrix Analysis and Applications, 2019.

Page 159: Metode Numerice Curs I Introducere

Comparatie GPP - GS - K

Page 160: Metode Numerice Curs I Introducere

Aplicatie - soarecele si labirintul• O aplicatie din probabilitate: consideram un labirint si un soareceintr-un experiment de laborator:

I experimentul consta in plasarea unui soarece la una din cele10 intersectii ale labirintului

I daca soarecele ajunge intr-un coridor exterior, atunci el nu sepoate intoarce (reveni)in labirint

I cand soarecele este intr-o intersectie, alege aleator un drum

Care este probabilitatea castigatoare pi ca soarecele sa ajunga lacoridorul cu hrana pornind din intersectie i?

Page 161: Metode Numerice Curs I Introducere

Aplicatie -soarecele si labirintulDe exemplu, in prima intersectie, soarecele are probabilitatea:

I 14 de a alege sus-dreapta si a pierde

I 14 de a alege sus-stanga si a pierde

I 14 de a alege jos-dreapta si astfel a ajunge la un punct cuprobabilitate de castigare p3

I 14 de a alege jos-stanga si astfel a ajunge la un punct cuprobabilitate de castigare p2.

p1 =1

4(0) +

1

4(0) +

1

4(p2) +

1

4(p3)

In mod similar obtinem:

p2 =1

5(0) +

1

5(p1) +

1

5(p3) +

1

5(p4) +

1

5(p5)

· · ·

p10 =1

4(0) +

1

4(1) +

1

4(p6) +

1

4(p9)

Page 162: Metode Numerice Curs I Introducere

Aplicatie -soarecele si labirintulObtinem sistemul patratic Ap = b, cu matricea A ∈ R10×10 foarterara, p = [p1 · · · p10]T si b = [06 1 1 1 1]:

A =

4 −1 −1 0 0 0 0 0 0 0−1 5 −1 −1 −1 −1 0 0 0 0−1 −1 5 0 −1 −1 0 0 0 00 −1 0 5 −1 0 −1 −1 0 00 −1 −1 −1 6 −1 0 −1 −1 00 0 −1 0 −1 5 0 0 −1 −10 0 0 −1 0 0 4 −1 0 00 0 0 −1 −1 0 −1 5 −1 00 0 0 0 −1 −1 0 −1 5 −10 0 0 0 0 −1 0 0 −1 4

Folosind Gauss-Seidel pornind cu p = 0, produce dupa 18 iteratiisolutia (datorita raritatii A, G-S este mai avantajoasa decat GPP):

p1 = 0.09, p2 = 0.18, p3 = 0.18, p4 = 0.29, p5 = 0.33

p6 = 0.29, p7 = 0.45, p8 = 0.52, p4 = 0.52, p10 = 0.45

Page 163: Metode Numerice Curs I Introducere

Metode Numerice

Curs IVProblema celor mai mici patrate

Ion Necoara

2020

Page 164: Metode Numerice Curs I Introducere

Rezolvarea de sisteme liniare: m 6= nIn acest curs prezentam metode numerice pentru rezolvareasistemelor de ecuatii liniare:

Ax = b, unde A ∈ Rm×n, m 6= nI daca m > n (sistem supradeterminat), atunci de regula nu

avem solutie ⇒ cautam o solutie aproximativa a.i. reziduulr = b − Ax sa fie cat mai mic, i.e. solutia aproximativa saminimizeze norma reziduului:

minx∈Rn‖b − Ax‖

I daca m < n (sistem subdeterminat), atunci de regula avem oinfinitate de solutii ⇒ cautam o solutie de lungime cat maimica, i.e. solutia se obtine din minimizarea:

minx∈Rn:Ax=b

‖x‖

Ambele probleme se numesc: problema celor mai micipatrate (CMMP). Probleme de tip (CMMP) apar in multeaplicatii: aproximarea functiilor, modelarea si identificareasistemelor, prelucrarea semnalelor!

Page 165: Metode Numerice Curs I Introducere

Problema CMMP - interpretarea geometrica• Se observa ca cea mai buna aproximare a lui b pe S = Im Acoincide cu proiectia ortogonala a lui b pe S , i.e. Ax∗.• Distanta minima de la un punct b la un subspatiu S estelungimea perpendicularei duse din b pe S , i.e. ‖b − Ax∗‖.• Avem b = Ax∗ + (b − Ax∗) si Ax∗ ⊥ b − Ax∗.

Page 166: Metode Numerice Curs I Introducere

Applicatie CMMP - 1Fitting de date: se dau urmatoareleI functii f1, · · · , fn numiti regresori sau functii de bazaI date sau masuratori (ui , bi ) ∀i = 1, . . . ,m (de obicei m� n)

• Problema: gasiti coeficientii reali x1, · · · xn s.t.

bi = x1f1(ui ) + · · ·+ xnfn(ui ) ∀i = 1, · · · ,m• Obtinem sistemul linear:

Ax = b unde A ∈ Rm×n, Aij = fj(ui )

• Solutie:I A patratica si inversabila, atunci solutie unicaI A cu n� m (subdeterminata) - o infinitate de solutii, atunci

se cauta solutia de norma minima (CMMP)I A cu m� n (supradeterminata) - nici o solutie, atunci se

cauta solutia care minimizeaza expresia patratica (CMMP)

m∑i=1

(x1f1(ui ) + · · ·+ xnfn(ui )− bi )2 = ‖Ax − b‖2

Page 167: Metode Numerice Curs I Introducere

Aplicatie CMMP - 2

With four parameters I can fit an elephant, with five I can makehim wiggle his trunk (Von Neumann)

• Problema: fitting un polinom de grad < n

p(t) = x0 + x1t + · · ·+ xn−1tn−1

la datele (ti , bi ), i = 1, · · · ,mI functii de baza pj(t) = t j−1 pentru j = 1, · · · , nI matricea A cu intrarile Aij = t j−1i (matrice Vandermonde)

A =

1 t1 t21 · · · tn−11

1 t2 t22 · · · tn−12...

......

......

1 tm t2m · · · tn−1m

• Exemplu: aproximam functia f (t) = 4t

1+10t2cu un polinom pe

intervalul [0, 1] avand la dispozitie 100 de date

Page 168: Metode Numerice Curs I Introducere

Aplicatie CMMP - 2

I CMMP fit (A ∈ R100×d) cu polinoame de grad d = 1, 2, 3, 4avand eroarea ‖Ax − b‖ = 0.135, 0.076, 0.025, 0.005

I Linie continua f (t), linie punctate pd(t) pe [0, 1]I Vom invatam algoritmi pentru rezolvarea acestei probleme!

Cu 4 parametri complecsi chiar poti potriviun elefant (Drawing an elephant with fourcomplex parameters, Am. J. Phys, 2010)

Page 169: Metode Numerice Curs I Introducere

Aplicatie CMMP - 2

• Regresie liniara: fitting un polinom de grad 2 pentru estimareapopulatiei planetei.

• Se cunoaste populatia (in miliarde) intre anii 1950 si 1985:

anul 1950 1955 1960 1965 1970 1975 1980 1985

populatie 2.53 2.77 3.05 3.36 3.72 4.1 4.47 4.87

Exemplu: se porneste de la t = −4 pana la t = 3 si polinomul:

p(t) = a2t2 + a1t + a0

I solutia CMMP este a2 = 0.013, a1 = 0.351, a0 = 3.7126

I estimati populatia planetei din anul 1990?

Page 170: Metode Numerice Curs I Introducere

Aplicatie CMMP - 3Identificarea sistemlor: consideram un sistem intrare-iesire

Pentru sistemul considerat dispunem de 40 de masuratoriintrare-iesire {u(t), y(t)}:

0 5 10 15 20 25 30 35 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

t

u(t)

0 5 10 15 20 25 30 35 402.5

3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

t

y(t)

Page 171: Metode Numerice Curs I Introducere

Aplicatie CMMP - 3Identificarea sistemelor - Dorim sa aproximam sistemul printr-unmodel intrare-iesire de forma ARX (AutoRegressive eXogenous) -sistem controlat de un exagenous input:

ymodel(t) = x1u(t)+x2u(t−1)+x3u(t−2)+x4u(t−3)+x5u(t−4).

Gasirea setului de parametrii x = [x1 · · · x5]T ai modelului poate firealizata prin rezolvarea unui sistem liniar (problema CMMP):

Ax = b cu A ∈ R36×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)

Page 172: Metode Numerice Curs I Introducere

Aplicatie CMMP - 3Identificarea sistemelor: raspunsul modelului estimat

0 5 10 15 20 25 30 35 403

3.5

4

4.5

5

5.5

6

6.5

7

7.5

8Raspunsul estimat si raspunsul real

ymodel(t)

y(t)

Page 173: Metode Numerice Curs I Introducere

Aplicatie CMMP - 4Problema Netflix:I sistem de recomandare pentru filme: predictie cu acuratete

cat mai mare,a cat de mult iti va placea un film bazat pepreferintele tale

I concursul privind imbunatatirea algoritmului de recomandareNetflix a pornit in 2006.

I In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire

Page 174: Metode Numerice Curs I Introducere

Aplicatie CMMP - 4

Problema Netflix: datele de antrenare pentru algoritmul derecomandare: 100 milioane ratings; 480.000 utilizatori; 17.700filme; date stranse in 6 ani (2000–2005)

Page 175: Metode Numerice Curs I Introducere

Aplicatie CMMP - 4Problema Netflix: principalele obstacoleI dimensiunea datelor foarte mare: este nevoie de algoritmi

eficienti din punct de vedere al calculelor si al memorieiI datele de test si cele de antrenare sunt diferite: e.g. datele de

test ratings sunt mai recenteI 99% date lipsesc, deci metodele standard nu se aplicaI multi factori afecteaza rating-ul unui film: actorii, regizorul,

stilul actiunii, muzica, genulMatematica aplicata ajuta: Metodele Numerice si Optimizarea!

I utilizator Y caracterizeazafilmele prin atribute: violenta(x1 = 1.5); umor (x2 = 3.5);acest actor (x3 = 0.5), etc ...

I factorizarea de matrici esteprincipala abordare

I combinata cu metodagradient din optimizare

Page 176: Metode Numerice Curs I Introducere

Aplicatia CMMP 4 - problema NetflixEstimarea ratingurilor necunoscute folosind factorizarea matricilor:se stie ca A are rang mic, deci A = U · V cu U ∈ Rm×r ,V ∈ Rr×n

minU,V

∑i ,j∈S‖Ai ,j − U(i , :) · V (:, j)‖2

Aproximarea cu produs de matrici de rang 3: dar algebra standardse aplica numai matricilor cu toate intrarile cunoscute ⇒ netezireadatelor este necesara via optimizare pentru a evita overfitting ⇒minimizare alternanta in U si V conduce la problema CMMP!

Page 177: Metode Numerice Curs I Introducere

Aplicatie CMMP - 5

Tomografie computerizata = tehnica noninvaziva ce folosesteraze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3Dale interiorului obiectului scanat.Reconstructie tomografica: procedura de functionare consta in

1. Se achizitioneaza o serie deproiectii, din diferite unghiuri,ale obiectului scanat;

www.merckmanuals.com

2. Prin intermediul proiecti-ilor obtinute, se reconstruiesteinteriorul obiectului cu ajutorulunui algoritm iterativ;

www.mathworks.com

In majoritatea cazurilor, radiatiile folosite sunt daunatoare; deaceea se urmareste achizitionarea unui numar minim de proiectii.

Page 178: Metode Numerice Curs I Introducere

Aplicatie CMMP - 5Reconstructie tomografica - formularea problemei:

• Fie x ∈ Rn imaginea interiorului de reconstruit.• Pentru reconstructie, dispunem de diferite masuratori liniare(proiectii) ale imaginii x : bi = Aix , i = 1, · · · ,m.• Notam vectorul proiectiilor b ∈ Rm si A = [AT

1 · · ·ATm]T ∈ Rm×n

matricea de achizitie.• Imaginea interiorului reprezinta solutia sistemului liniar(subdeterminat deoarece sunt mai putine masuratori m decatdimensiunea imaginii n): Ax = b.• reformulare in termeni de problema CMMP:

minx∈Rn: Ax=b

‖x‖α

unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegemα = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorulsolutie). Se doreste o reprezentare rara a imaginii deoarece aceastapermite: compresie usoara; algoritmi rapizi pt. procesare; memoriede stocare mica; eliminarea usoara a zgomotului;...

Page 179: Metode Numerice Curs I Introducere

Aplicatie CMMP 6 - Machine Learning (clasificare)Avem exemple de semnale (vectori) din doua clase si dorim ca, pebaza lor, sa cream o regula prin care sa clasificam semnale viitoare.Notam cu n1, n2, numarul de vectori (de antrenare) apartinandclaselor C1 si C2; vectorii au dimensiune d . Un clasicator foartesimplu este cel bazat pe CMMP (exista metode de clasificare maieficiente, dar si mai complexe). Acesta construieste functia liniara:

f (v) = aT v + b

unde v ∈ Rd este un semnal de antrenare, iar a ∈ Rd si b ∈ R suntparametrii necunoscutti ai functiei. Pentru a gasi acesti parametri,fixam ca obiectiv satisfacerea relatiei:

f (v) =

{1 daca v ∈ C1−1 daca v ∈ C2

Desigur, aceasta relatie nu poate fi satisfacuta exact, de aceeacautam o solutie in sens CMMP. Notand 1n un vector avand toateelementele egale cu 1 si dimensiune n, relatia precedenta conducela un sistem CMMP.

Page 180: Metode Numerice Curs I Introducere

Aplicatie CMMP 6 - Machine Learning (clasificare)Cu datele de antrenare(v1, 1), · · · , (vn1 , 1), (vn1+1,−1), · · · , (vn1+n2 ,−1)construim sistemul CMMP:

vT1 1· · · · · ·vTn1 1vTn1+1 1· · · · · ·

vTn1+n2 1

(

wb

)=

(1n1−1n2

)

a carui solutie produce valorile optime pentru w si b. Clasifcareaefectiva a unui semnal nou v se face tinand cont de care dintrevalorile 1 sau −1 este mai aproape valoarea functiei f :

v ∈

{C1 daca sign(wT v + b) = 1

C2 daca sign(wT v + b) = −1

Page 181: Metode Numerice Curs I Introducere

Aplicatie CMMP 6 - clasificare email-uri

I Se construieste un dictionar de cuvinte de dimensiune d .

I Date de antrenare sunt emailu-uri.

I Construirea de vectori “features” se bazeaza pe “Bags ofWords” (functie in matlab): (vi , 1) (bun) sau (vi ,−1) (spam),unde vi (j) reprezinta numarul de aparitii a cuvantului j dindictionar in emailul i .

Construiti un clasificator liniar care separa cele doua clase.

Page 182: Metode Numerice Curs I Introducere

Transformari ortogonale

Definim 2 transformari ortogonale utilizate in calculul numeric:reflectori (transformari Householder) si rotatii (transformariGivens).

I Reflector, corespunzator unui vector u ∈ Rm normat (i.e.‖u‖ = 1), se defineste astfel:

U = Im − 2uuT

I Rotatie, corespunzatoare unei perechi de intregi (k , i), sedefineste astfel:

Pki =

Ik−1

c sIi−k−1

−s cIm−i

, unde c2 + s2 = 1

Page 183: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectoriPrincipalele proprietati ale reflectorilor (transformari Householder):

U = Im − 2uuT , unde ‖u‖ = 1I Un reflector este matrice simetrica (U = UT ) si ortogonala

(UTU = Im)I Definim un reflector de ordin m si indice k asociat unui

vector u ∈ Rm cu primele k − 1 componente nule, i.e.u = [0 · · · 0 uk · · · um]T , astfel:

Uk = Im − 2uuT

‖u‖2= Im −

uuT

β, unde β =

‖u‖2

2

I Numim u vector Hauseholder si β factor de normareI Aplicarea transformarii Uk unui vector x :

Ukx = x − uT x

βu = x − νu, unde ν =

uT x

β

I Observatie: deoarece u are primele k − 1 componente nule,atunci transformarea Ukx nu modifica primele k − 1componente din x

Page 184: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectori

Reflector de ordin m si indice k asociat vectorului Hauseholderu = [0 · · · 0 uk · · · um]T si factorului de normare β = ‖u‖2

2 :

Uk = Im −uuT

β=

[Ik−1 0

0 U1

]I aplicarea transformarii Uk unui vector x lasa neschimbate

primele k − 1 componente ale lui x

I aplicarea transformarii Uk matricei A lasa neschimbate primele

k − 1 linii din A: i.e. daca A =

[BC

], atunci UkA =

[B

U1C

]I matricea transformata UkA este modificare de rang 1 a lui A:

UkA = (Im −uuT

β)A = A− uvT , unde v =

ATu

β

Page 185: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectoriGenerarea reflectorilor se face in scopul introducerii de zerouriintr-un vector x . E.g. pentru a face zerouri in x(2 : m), putemdefini vectorul:

u1 = x + ‖x‖e1 ⇒ U1 = Im − 2u1u

T1

‖u1‖2

U1x = ‖x‖e1E.g. pentru a face zerouri in x(k + 1 : m), putem defini vectorulx = [0(1 : k − 1) x(k : m)]T si apoi

uk = x + ‖x‖ek ⇒ Uk = Im − 2uku

Tk

‖uk‖2

(Ukx)(k : m) = ‖x‖e1 si (Ukx)(1 : k − 1) = x(1 : k − 1)

Page 186: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectoriGenerarea reflectorilor se face in scopul introducerii de zerouriintr-un vector. Pentru x ∈ Rm, putem determina un reflector Uk

a.i. ultimele m − k componente ale vectorului transformat sa fienule, i.e. (Ukx)i = 0, pentru i = k + 1 : mPropozitie: Pentru k = 1 : m − 1 si vectorul x ∈ Rm a.i.

σ = sgn(xk)√∑m

i=k x2i 6= 0, definim vectorul Householder u ∈ Rm:

ui =

0, pentru i = 1 : k − 1,

xk + σ, pentru i = k

xi , pentru i = k + 1 : m

si scalarul β =‖u‖2

2= σuk .

Atunci reflectorul Uk = Im − uuT

β de ordin m si indice k satisface:

(Ukx)i =

xi , pentru i = 1 : k − 1,

−σ, pentru i = k

0, pentru i = k + 1 : m

Demonstratie: observam imediat ca ν = uT xβ = 1 si Ukx = x − νu!

Page 187: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectoriPentru a asigura stabilitate numerica si pentru ca vectorul u esteesential determinat numai ca directie, realizam scalarea acestuia:

uk = 1 +xkσ

si ui =xiσ∀i = k + 1 : m ⇒ β = uk

Algorithm RFG: Se genereaza un reflector Uk si se aplicatransformarea. Partea esentiala ui , i = k + 1 : m, a vectoruluiHouseholder u se memoreaza pe pozitiile corespunzatoare din x .

daca k < m

σ =

√√√√ m∑i=k

x2i

daca σ 6= 0

σ = sgn(xk)σ

xi ← ui = xi/σ ∀i = k : m

β ← uk = 1 + xk si xk = −σ

Pentru k = 1 obtinem un reflector U1 a.i. U1x = −σe1!

Page 188: Metode Numerice Curs I Introducere

Transformari ortogonale - reflectori

Fie acum U1 un reflector dat, generat de alg. RFG, iar y ∈ Rm unvector arbitrar. Consideram aplicarea transformarii y ← U1y .

Algorithm RF: Transformarea y ← U1y data de U1y = y − νu:

daca β 6= 0

t = u1

u1 = β

ν = (m∑i=1

uiyi )/β

yi ← yi − νui ∀i = 1 : m

u1 = t

Page 189: Metode Numerice Curs I Introducere

Transformari elementare - exemplu reflector

Fie vectorul x =

2201

. Un reflector de ordin 4 si indice 1 care

anuleaza ultimile 3 componente din x se defineste astfel:σ =√

22 + 22 + 12 = 3 (semnul lui x1 este +) si vectorulHouseholder u = [5/3 2/3 0 1/3]T . In plus β = 5/3.

Reflectorul are forma:

U1 = I4 −uuT

β=

−0.66 −0.66 0 −0.33−0.66 0.73 0 −0.13

0 0 1 0−0.33 −0.13 0 0.93

Vectorul transformat x = U1x este

−3000

.

Page 190: Metode Numerice Curs I Introducere

Transformari ortogonale - rotatiiPentru m = 2 o rotatie de unghi θ este data de matricea:

P =

[cos θ − sin θsin θ cos θ

]Rotatia (transformarea Givens) de ordin m > 2 in planul (k , i):

Pki =

Ik−1

c sIi−k−1

−s cIm−i

, unde c2 + s2 = 1

Observatie: o rotatie nu este matrice simetrica, dar este matriceortogonala: PT

kiPki = PkiPTki = Im. Rotatia Pki aplicata unui

vector x modifica doar componentele (k , i) din x:

(Pkix)l =

xl , pentru l 6= k, i

cxk + sxi , pentru l = k

cxi − sxk , pentru l = i

Pki aplicata matricei A, i.e. PkiA, modifica doar liniile (k, i) din A.

Page 191: Metode Numerice Curs I Introducere

Transformari ortogonale - rotatiiRotatiile pot introduce un zerou intr-un vector. Fiind dat un vectorx ∈ Rm, putem determina o rotatie Pki a.i. componenta i dinvectorul transformat este nula, i.e. (Pkix)i = 0.

Propozitie: Pentru k 6= i ∈ 1 : m si x ∈ Rm a.i.

r =√

x2k + x2i 6= 0, definim numerele reale:

c =xkr

si s =xir.

Atunci rotatia Pki de ordin m in planul (k, i) satisface:

(Pkix)l =

xl , pentru l 6= k, i

r , pentru l = k

0, pentru l = i

Observatie: rotatiile permit anularea unei singure componente dinvector ⇒ se utilizeaza in matrici structurate. Pentru a anula maimulte componente dintr-un vector,utilizam o secventa de rotatii:

Pk = Pkm · · ·Pk,k+1 a.i. (Pkx)i = 0 ∀i = k + 1 : m

Page 192: Metode Numerice Curs I Introducere

Transformari ortogonale - rotatiiPentru a asigura stabilitate numerica, semnul lui r se alege a.i. r sicel mai mare (in modul) dintre xk si xi sa aiba acelasi semn!

Algorithm ROTG: Se genereaza o rotatie P si se aplicatransformarea pe x ∈ R2. Pe pozitia elementului anulat x2 sereturneaza scalarul z care permite reconstructia parametrilor c , s.

r = ‖x‖daca |x2| > |x1|

r = sgn(x2)r altfel r = sgn(x1)r

c = x1/r , s = x2/r , x1 = r

daca c = 0 atunci %calculul lui z

z = 1

altfel daca|x2| ≥ |x1| atunci

z = 1/c

altfel z = s

x2 = z

Page 193: Metode Numerice Curs I Introducere

Transformari ortogonale - rotatiiFie acum P o rotatie data, generata de alg. ROTG, iar y ∈ R2 unvector 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− c2

altfel

s = z , c =√

1− s2

%se aplica transformarea

t = y1

y1 = ct + sy2

y2 = cy2 − st

Page 194: Metode Numerice Curs I Introducere

Transformari elementare - exemplu rotatie

Fie vectorul x =

324

. O rotatie in planul (1, 3) care anuleaza

componenta 3 din x se defineste astfel: r =√

32 + 42 = 5 (semnuleste dat de x3 deoarece |x3| > |x1|) si c = 3/5, s = 4/5.

Rotatia are forma:

P13 =

3/5 0 4/50 1 0−4/5 0 3/5

Vectorul transformat x = P13x este

520

.

Page 195: Metode Numerice Curs I Introducere

Triangularizare ortogonalaIn cele ce urmeaza, descriem proceduri de triangularizare folosindtransformari ortogonale. Reamintim ca reflectorii si rotatiile sunttransformari ortogonale: UTU = PTP = Im!

Teorema. Pentru oricare matrice A ∈ Rm×n, exista o matrice detransformare ortogonala U = QT a.i. matricea

UA = QTA = R

este superior triunghiulara (sau echivalent A poate fi scrisa subforma unui produs A = QR, unde Q ortogonala si R superiortriunghiulara, numita factorizarea QR).

Demonstratia descrie o procedura de reducere efectiva a matricei Ala forma superior triunghiulara R:(i) In cazul m > n procedura consta in n pasi, construindU = Un · · ·U2U1: initializam A1 = A si apoi iteram

Pas 1 : A2 = U1A1 = U1A, Pas 2 : A3 = U2A2 = U2U1A, · · ·Pas n : An+1 = UnAn = UnUn−1 · · ·U1︸ ︷︷ ︸

U

A = R

Page 196: Metode Numerice Curs I Introducere

Triangularizare ortogonala

Demonstratie:Pasul 1. Fie A1 = A si a1 = Ae1. Daca a1 6= const. ∗ e1, atunciexista un reflector U1 de ordin m si indice 1 a.i.

(U1a1)i = 0, pentru i = 2 : n

adica matricea A2 = U1A are toate elementele subdiagonale aleprimei coloane egale cu 0:

A2 =

r11 r12 . . . r1n

0 a(2)22 . . . a

(2)2n

0 a(2)32 . . . a

(2)3n

. . . . . . . . . . . .

0 a(2)m2 . . . a

(2)mn

Matricea A2 reprezinta rezultatul Pasului 1.

Page 197: Metode Numerice Curs I Introducere

Triangularizare ortogonalaDemonstratie (continuare):Pasul k = 2 : n. Presupunem ca matricea curenta

Ak = Uk−1 · · ·U2U1A

Ak =

r11 r12 . . . r1,k−1 r1k . . . r1,n0 r22 . . . r2,k−1 r2k . . . r2,n0 0 . . . r3,k−1 r3k . . . r3,n. . . . . . . . . . . . . . . . . . . . .0 0 . . . rk−1,k−1 rk−1,k . . . rk−1,n

0 0 . . . 0 a(k)k,k . . . a

(k)k,n

. . . . . . . . . . . . . . . . . . . . .

0 0 . . . 0 a(k)m,k . . . a

(k)m,n

este superior triunghiulara in primele k − 1 coloane. Daca

a(k)i ,k , i = k + 1 : m nu sunt toate nule, atunci exista un reflectorUk de ordin m si indice k a.i.

(Uka(k)k )i = 0 ∀i = k + 1 : m.

Page 198: Metode Numerice Curs I Introducere

Triangularizare ortogonalaDeci Ak este superior triunghiulara in primele k − 1 coloane. Existaun reflector Uk de ordin m si indice k a.i.

(Uka(k)k )i = 0 ∀i = k + 1 : m.

I Tinand cont coloana j = 1 : k − 1 din Ak are ultimelem − k + 1 elemente 0 si vectorul Hauseholder uk are primelek − 1 componente 0, atunci produsul scalar intre coloana rjdin Ak cu vectorul Hauseholder uk este zero si deciν = rTj uk/β = 0.

I In concluzie, din Ukx = x − νu, obtinem ca Ak+1 = UkAk areprimele k − 1 coloane nemodificate, iar in coloana kelementele subdiagonale sunt nule.

I Mai mult, deoarece este reflector de indice k , primele k − 1linii din Ak raman nemodificate

I In concluzie, avem:

Ak+1 = UkAk =

[Ik−1 0

0 U1

] [R ′k−1 R ′′k−1

0 Akk

]=

[R ′k−1 R ′′k−1

0 U1Akk

]

Page 199: Metode Numerice Curs I Introducere

Triangularizare ortogonala

Daca Ak este superior triunghiulara in primele k − 1 coloane.Exista un reflector Uk de ordin m si indice k a.i.

(Uka(k)k )i = 0 ∀i = k + 1 : m.

Deci folosind aceasta transformare, obtinem:

Ak+1 = UkAk =

[Ik−1 0

0 U1

] [R ′k−1 R ′′k−1

0 Akk

]=

[R ′k−1 R ′′k−1

0 U1Akk

]Prin urmare, matricea Ak+1 = UkAk este sup. tr. in primele kcoloane; continuand procedura pana la pasul n (inclusiv), obtinem

Rdef= An+1 = UnUn−1 · · ·U1︸ ︷︷ ︸

U

A =

[R ′

0

], cu R ′ ∈ Rn×n sup. tr. si

U ortogonala.

Page 200: Metode Numerice Curs I Introducere

Triangularizare ortogonala

(ii) In cazul m ≤ n procedura consta in m − 1 pasi, construindU = Um−1 · · ·U2U1: initializam A1 = A si apoi iteram

Pas 1 : A2 = U1A1 = U1A, Pas 2 : A3 = U2A2 = U2U1A, · · ·Pas m − 1 : R = Am = Um−1Am−1 = Um−1Um−2 · · ·U1︸ ︷︷ ︸

U

A = [R ′ S ],

unde R ′ ∈ Rm×m este sup. tr., iar S o matrice fara structura.

Observatie: Aceasta triangularizare ortogonala se poate folosi sipentru m = n, i.e. in locul eliminarii gaussiene! Aceasta proceduranecesita aproximativ 2(mn2 − n3/3) operatii, care in cazul m = nse reduce la 4

3n3 (i.e. complexitate dubla fata de algoritmul de

eliminare gaussiana). De aceea, in cazul patratic se preferaalgoritmul de eliminare gaussiana.

Page 201: Metode Numerice Curs I Introducere

Triangularizare ortogonalaAlgoritmul QR. (Se da A ∈ Rm×n si efectuam triang. ortog.QTA = R, unde QT = Us · · ·U1, iar Uk = UT

k reflectori. Parteaesentiala uk(k + 1 : m) a vectorilor Householder uk se memoreazain A(k + 1 : m, k) si se tine seama ca ukk = βk . Elementele nenuledin R suprascriu triunghiul superior din A)

1. Pentru k = 1 : s = min(m − 1, n)

1. Calculam σ = ‖A(k : m, k)‖2. Daca σ 6= 0 atunci σ = sgn(akk)σ %determinam Uk

1. aik ← uik = aik/σ pentru i = k : m

2. βk ← ukk = 1 + akk

3. Pentru j = k + 1 : n %aplicam Uk

1. ν =m∑i=k

uikaij/βk

2. aij ← aij − νuik pentru i = k : m

4. akk = −σ

Page 202: Metode Numerice Curs I Introducere

Triangularizare ortogonala - exemplu 1Aplicam procedura de triangularizare ortogonala matricii

A =

2 3−1 12 −1

Pasul 1. Se urmareste anularea elementelor a21 si a31 cu unreflector U1. Calculam σ =

√22 + (−1)2 + 22 = 3 (semnul lui a11

este +) si atunci vectorul Hauseholder u1 = [5/3 − 1/3 2/3]T siβ1 = 5/3. Definim apoi reflectorul:

U1 = I3 −u1u

T1

β1=

−0.66 0.33 −0.660.33 0.93 0.13−0.66 0.133 0.73

Din premultiplicarea matricii A avem:

A2 = U1A =

−3 −10 1.80 −2.6

Page 203: Metode Numerice Curs I Introducere

Triangularizare ortogonala - exemplu 1

Pasul 2. Se urmareste anularea elementului a32 cu un reflector U2.Calculam σ =

√(1.8)2 + (−2.6)2 =

√10 (semnul lui a

(2)22 este +)

si atunci vectorul Hauseholder u2 = [0 1 + 1.8√10− 2.6√

10]T si

β2 = 1 + 1.8√10

. Definim apoi reflectorul:

U2 = I3 −u2u

T2

β2=

1 0 00 −0.56 0.820 0.82 0.56

Din premultiplicarea matricii A2 avem:

R = A3 = U2A2 =

−3 −10 −3.160 0

In final, matricea ortogonala Q:

QT = U2U1 =

−0.66 0.33 −0.66−0.73 −0.42 0.52−0.10 0.84 0.52

Page 204: Metode Numerice Curs I Introducere

Triangularizare ortogonala - exemplu 2

Consideram matricea cu structura: A =

[RC

]∈ Rm×n, unde

R ∈ Rn×n este deja sup. tr., iar C ∈ R(m−n)×n este matriceoarecare. Schema de triangularizare ortogonala este:

QTA = Un · · ·U1A =

[R ′

0

]in care reflectorii Uk sunt determinati de vectorii Householder:

uk = [0 · · · 0 ukk 0 · · · 0 un+1,k · · · umk ]T

pentru a anula complet coloana k din C . Mai mult, datoritastructurii de zerouri intre pozitiile k + 1 si n din uk , liniilei = k + 1 : n din A raman nemodificate. In acest caz, numarul deoperatii se reduc de la 2(mn2 − n3/3) la 2(m − n)n2!

Page 205: Metode Numerice Curs I Introducere

Factorizarea QR: m ≥ nPentru cazul m ≥ n avem:

A = QR = R =

[R ′

0

], cu R ′ ∈ Rn×n si Q = U1 · · ·Un

Partitionand si Q conform cu R:

Q = [Q ′ Q ′′], cu Q ′ ∈ Rm×n si Q ′′ ∈ Rm × (m − n)

observam ca (Q ′)TQ ′ = In, i.e. Q ′ are coloanele ortogonale, si:

A = Q ′R ′

Teorema:I Orice matrice A ∈ Rm×n, cu m ≥ n, poate fi scrisa sub forma

A = Q ′R ′, unde Q ′ ∈ Rm×n are coloanele ortogonale siR ′ ∈ Rn×n sup. triunghiulara (numita fctorizarea QR).

I Daca A monica (coloanele independente), atunci R ′

inversabila.I Factorizarea QR este unica daca impunem R ′ sa aiba

elemente diagonale pozitive.

Page 206: Metode Numerice Curs I Introducere

Triangularizare ortogonalaAlgoritmul GQR. (Utilizand iesirea Alg. QR cu m ≥ n, seefectueaza direct acumularea in A a primelor n coloane Q ′ dinQ = Q1 · · ·Qs , unde Qi = Ui )

1. Pentru j = 2 : n

1. aij = 0 pentru i = 1 : j − 1

2. Pentru k = n : −1 : 1 daca βk 6= 0 atunci

1. akk ← ukk = βk

2. Pentru j = k + 1 : n

1. ν =m∑i=k

uikaij/βk

2. aij ← aij − νuik pentru i = k : m

3. aik ← −aik i = k : m; akk = 1 + akk

altfel

4. aik = 0 i = k + 1 : m; akk = 1

Page 207: Metode Numerice Curs I Introducere

Legatura intre factorizarea QR si Cholesky

Matricea monica A ∈ Rm×n, atunci ATA gramian al (coloanelor)lui A (mat. poz. definita). Atunci mat. sup tr. R ′ din factorizareaQR a lui A coincide cu factorul Cholesky al gramianului.

I (i) daca se cunoaste factorizarea Cholesky a lui ATA atunci sepoate determina economic factorizarea QR a lui A: e.g.ATA = RTR, atunci calculam Q = AR−1 din rezolvareasistemului sup tr. QR = A.

I Observatie: nu se recomanda aceasta procedura deoarecenecesita calcularea lui ATA care este rau conditionata(necesita ridicarea la patrat a elementelor din A).

I Regula de aur: evitarea formarii gramianului ATA in favoareaoperarii directe asupra lui A.

I (ii) anumite probleme de factorizare LU sau Cholesky pot fireformulate in termeni de factorizare QR (procedura care estemult mai stabila).

Page 208: Metode Numerice Curs I Introducere

Legatura intre factorizarea QR si Cholesky

Anumite probleme de factorizare LU sau Cholesky pot fireformulate in termeni de factorizare QR, procedura numita deradacina patrata.

Exemplu: fie G = RTR mat. poz. definita cu factorul Cholesky Rcunoscut si se cere factorizarea Cholesky R+ a matricei modificate

G+ = G + CTC , C ∈ Rl×n

e.g. C = cT (actualizare rang 1). Problema factorizarii Cholesky alui G+ se poate face fara a forma explicit G+:

G+ = [RT CT ]

[RC

]= AT

+A+

Factorul Cholesky R+ poate fi determinat din triangularizareamatricei A+ = Q+R+ ce depinde de (R,C ), i.e. G+ = RT

+R+.

Page 209: Metode Numerice Curs I Introducere

Interpretarea geometrica a factorizarii QRMatricea monica A ∈ Rm×n avand factorizarea A = Q ′R ′ satisface:

Ax = Q ′(R ′x),

si cum R ′ inversabila rezulta ca S = Im A = Im Q ′, i.e. coloanelelui 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:

P1 = A(ATA)−1AT = Q ′Q′,T

Aratati ca P21 = P1, PT

1 = P1 si S = Im P1!

• Similar coloanele lui Q ′′ ∈ Rm×(m−n) formeaza o baza ortogonalaa subspatiului complementar S⊥ = Ker AT , iar proiectorulortogonal pe S⊥ este

P2 = Q ′′Q′′,T si P1 + P2 = Im

Concluzie: partitia Q = [Q ′ Q ′′] corespunde descompuneriiortogonale Rm = Im A ⊕ Ker AT

Page 210: Metode Numerice Curs I Introducere

Rezolvarea problemei CMMP: m > n

Daca m > n (sistem supradeterminat), cautam o solutieaproximativa a.i. reziduul r = b − Ax sa fie cat mai mic, i.e.

x∗ = arg minx∈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 sensCMMP a sistemului Ax = b are forma:

x∗ = (ATA)−1AT︸ ︷︷ ︸A+

b = A+b

Page 211: Metode Numerice Curs I Introducere

Rezolvarea problemei CMMP: m > nDemonstratie:• Existenta solutiei: fie S = Im A si S⊥ = Ker AT . Atuncidescompunem b = b1 + b2 cu b1 ∈ S si b2 ∈ S⊥ si avem:

r = b − Ax = b2︸︷︷︸∈S⊥

+ (b1 − Ax)︸ ︷︷ ︸∈S

Din teorema lui Pitagora:

‖b − Ax‖2 = ‖b1 − Ax‖2 + ‖b2‖2 ≥ ‖b2‖2 ∀x ∈ Rn

Cum b1 ∈ S = Im A, atunci exista un x∗ a.i. Ax∗ = b1 si decisolutie a problemei (CMMP).

• Expresia solutiei: fie r∗ = b − Ax∗, atunci r∗ = b2 ∈ Ker AT .Deci avem:

AT r∗ = 0r∗=b−Ax∗⇐⇒ 0 = ATb − ATAx∗

Cum A este monica, ATA este pozitiv definita si deci inversabila,i.e. x∗ = (ATA)−1ATb.

Page 212: Metode Numerice Curs I Introducere

Rezolvarea problemei CMMP - interpretarea geometrica

• Se observa ca cea mai buna aproximare b∗ = Ax∗ a lui b peS = Im A coincide cu proiectia ortogonala b1, i.e. b∗ = b1.• Distanta minima de la un punct b la un subspatiu S estelungimea perpendicularei duse din b pe S , i.e. ‖b2‖.

Page 213: Metode Numerice Curs I Introducere

Calculul solutiei CMMP: m > nSolutia CMMP pt. Ax = b se calculeaza din factorizarea QR:

QTA =

[R ′

0

]si QTb = d =

[d ′

d ′′

]⇐⇒

[R ′

0

]x =

[d ′

d ′′

]In general d ′′ 6= 0 si deci sistemul Ax = b este incompatibil. Pentrua determina pseudosolutia x∗, consideram reziduul r = b − Ax :

QT r =

[d ′ − R ′x

d ′′

]Cum Q este ortogonala, avem ‖r‖ = ‖QT r‖. Prin urmare:

‖r‖2 = ‖QT r‖2 = ‖d ′ − R ′x‖2 + ‖d ′′‖2 ≥ ‖d ′′‖2 ∀x ∈ Rn

Minimizand in raport cu x obtinem conditia: R ′x∗ = d ′.

In concluzie, pseudosolutia CMMP se obtine din rezolvareasistemului superior triunghiular nesingular, i.e.

x∗ = (R ′)−1d ′ = [(R ′)−1 0]QTb = (R ′)−1(Q ′)Tb

Page 214: Metode Numerice Curs I Introducere

Calculul solutiei CMMP: m > n

Algoritmul SQR. (Utilizand iesirea Alg. QR cu m ≥ n, secalculeaza in x solutia CMMP a sistemului Ax = b)

1. Pentru k = 1 : n %calculam d = QTb

1. t = akk = 0

2. akk ← ukk = βk

3. ν =m∑i=k

uikbi/βk

4. bi ← bi − νuik pentru i = k : m

5. akk = t

2. Pentru k = n : −1 : 1 %calculam pseudosolutia CMMP

1. xk = (bk −n∑

j=k+1

akjxj)/akk

Page 215: Metode Numerice Curs I Introducere

Problema CMMP - exempluConsideram problema CMMP asociata sistemului: 2 3

−1 12 −1

x =

123

Din calcule anterioare am gasit:

R = QTA =

−3 −10 −3.160 0

si QT =

−0.66 0.33 −0.66−0.73 −0.42 0.52−0.10 0.84 0.52

Trebuie sa calculam: QTb =

−1.98−0.013.14

de unde obtinem:

R ′ =

[−3 −10 −3.16

]si d ′ =

[−1.98−0.01

]=⇒ R ′x∗ = d ′ ⇒

x∗ =

[0.65

0.003

]

Page 216: Metode Numerice Curs I Introducere

Problema CMMP cu membru drept multiplu

Fie A ∈ Rm×n si B ∈ Rm×p. Problema rezolvarii sistemului cumembru drept multiplu in sens CMMP este:

AX = B

a.i. norma reziduului R = B − AX in norma Frobenius sa fieminima:

X ∗ = arg minX∈Rn×p

‖B − AX‖F

Partitionand B,X si R pe coloane rj = bj − Axj , trebuie sarezolvam p probleme CMMP clasice minxj ‖bj − Axj‖. Deciobtinem pseudosolutia CMMP:

X ∗ = A+B

Se efectueaza o singura data triangularea ortogonala a lui A si apoise aplica de p ori Alg. SQR.

Page 217: Metode Numerice Curs I Introducere

Calculul pseudoinversei A+

Pseudoinversa are cateva proprietati importante

1. A+A = In

2. AA+ = (AA+)T

I Prima relatie ne spune ca A+ ∈ Rn×m este inversa la stanga alui A, deci rang A+ = n, i.e. A+ este epica (liniile linearindependente)

I matricea simetrica P1 = AA+ este proiectorul ortogonal peS = Im A

Daca consideram sistemul cu partea dreapta multipla B = Im,gasim X ∗ = A+B = A+, deci A+ este solutia unica a problemei

A+ = arg minX∈Rn×m

‖Im − AX‖F

Calcularea A+ in acest fel nu este eficienta, deoarece nu se ia incalcul structura lui B = Im. Dar din solutia CMMP se stie ca:

A+ = [(R ′)−1 0]QT = (R ′)−1(Q ′)T

Page 218: Metode Numerice Curs I Introducere

Sisteme liniare subdeterminate: m ≤ n

Teorema: Oricare ar fi A ∈ Rm×n cu m ≤ n, exista o matriceortogonala 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′ ∈ Rm×m inf. tr.

Partitionand V = ZT conform cu L, i.e.

V =

[V ′

V ′′

]si Z = [Z ′ Z ′′]

Deci A = L′V ′ cu V ′ ∈ Rm×n a.i. V ′(V ′)T = Im (liniile ortog.)

Teorema: Orice A ∈ Rm×n cu m ≤ n, admite o factorizare LQ,i.e. A = LV , unde L ∈ Rm×m inferior triunghiulara si V ∈ Rm×n

are liniile ortogonale VV T = Im.

Page 219: Metode Numerice Curs I Introducere

Rezolvarea problemei CMMP: m ≤ n

Daca m ≤ n (sistem subdeterminat), cautam o solutie normala asistemului b = Ax , i.e.

x∗ = arg minx∈Rn: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 sensCMMP a sistemului Ax = b are forma:

x∗ = AT (AAT )−1︸ ︷︷ ︸A+

b = A+b

Page 220: Metode Numerice Curs I Introducere

Calculul solutiei CMMP: m ≤ nSolutia CMMP pt. Ax = b se calculeaza din factorizarea LQ:

AZ = [L′ 0]

unde L′ inferior triunghiulara inversabila si Z ortogonala. Notam:

x = Zu cu u =

[u′

u′′

], u′ ∈ Rm

Deci sistemul Ax = b se rescrie: [L′ 0]

[u′

u′′

]= b sau echivalent

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∗ = Z

[(L′)−1b

0

]= Z ′(L′)−1︸ ︷︷ ︸

A+

b

Page 221: Metode Numerice Curs I Introducere

Conditionarea problemelor CMMPConsiderand 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:I In cazul A monica (coloanele liniar independente)

sensibilitatea este proportionala in cel mai rau caz cu patratulnumarului de conditionare:

‖x∗ − x∗‖‖x∗‖

≤ κ2(A)O(ε)

I In cazul A epica (liniile liniar independente), sensibilitateasolutiei este proportionala cu numarul de conditionare:

‖x∗ − x∗‖‖x∗‖

≤ κ(A)O(ε)

Page 222: Metode Numerice Curs I Introducere

Triangularizarea ortogonala completaTeorema: Fie A ∈ Rm×n cu rang A = r . Atunci exista douamatrici ortogonale Q ∈ Rm×m si Z ∈ Rn×n precum si o matrice depermutare Π a.i.

QTAΠZ = S =

[S ′ 00 0

], unde S ′ ∈ Rr×r sup. tr. inversabila.

Problema generala CMMP: fie sistemul Ax = b atunci problemaCMMP consta in determinarea solutiei normale a problemei:

x∗ = arg minx∈X∗=argminx ‖Ax−b‖

‖x‖

Solutia normala a problemei CMMP generale este:

x∗ = ΠZ

[(S ′)−1 0

0 0

]QT︸ ︷︷ ︸

A+

b

vezi si capitolul DVS (curs XI)!

Page 223: Metode Numerice Curs I Introducere

Patru metode de a rezolva cmmp - recapitularePentru solutia sistemului Ax = b in sens cmmp (i.e. sistemul nuare solutie si deci urmam sfatul lui Gauss de a considera x ceminimizeaza rezidu) avem patru solutii:I Folosind algoritmul QR: presupune factorizarea A = QR, unde

Q matrice ortogonala si R matrice superior triunghiulara.Impartim pe blocuri Q = [Q ′ Q ′′] si R = [R ′; 0] si atunci

x∗ = (R ′)−1(Q ′)TbI Folosind pseudoinversa A+ (coincide cu A−1 in cazul A

inversabila, si are proprietatile ca orice vector din ker(AT ) ilduce in zero si orice vector din Im(A) il lasa pe loc:A+Ax = x si A+v = 0 ∀v ∈ ker(AT )):

x∗ = A+bI Rezolvand sistemul normal (A are rang intreg pe coloane):

ATAx = ATb → x∗ = (ATA)−1ATbI Rezolva δ-sistemul normal (A nu are rang intreg pe coloane):

(ATA+δIn)x = ATb → limδ→0

x∗δ = (ATA+δIn)−1ATb → x∗

Page 224: Metode Numerice Curs I Introducere

Aplicatiile sistemelor liniare in Big Data

1. Regresie - predictie

2. Invatare automata - clasificare

3. Identificarea sistemelor

4. Filtru Kalman

5. Compressed sensing (lasso)

6. Matrix completion

Page 225: Metode Numerice Curs I Introducere

Regresie & Predictie• Regresie liniara: fitting un polinom de grad 2 pentru estimareapopulatiei planetei.

• Se cunoaste populatia (in miliarde) intre anii 1950 si 1985:

anul 1950 1955 1960 1965 1970 1975 1980 1985

populatie 2.53 2.77 3.05 3.36 3.72 4.1 4.47 4.87

Exemplu: se porneste de la t1 = −4 pana la t8 = 3 si polinomul:

p(t) = a2t2 + a1t + a0

I regresia presupune rezolvarea sistemului Ax = b in sens cmmp(reamintim matricea A este de tip Vandermonde)!

A =

1 t1 t211 t2 t22...

......

1 t8 t28

, x = [a0; a1; a2], b = [b1; · · · ; b8]

I ex. b1 = 2.53 etc...

Page 226: Metode Numerice Curs I Introducere

Regresie & Predictie cont.

I proble de predictie formulata ca problema cmmp: Ax = b

I solutia CMMP este a2 = 0.013, a1 = 0.351, a0 = 3.7126

I predictia permite estimarea populatia planetei din anul 1990

t9 = 4→ populatie 1990 = a0 + a1t9 + a2t29

populatie 1990 = 5.32 mil.

coincide ”aproape” exact cu cifra oficiala de 5.3 miliarde deoameni pe planeta in 1990!

Page 227: Metode Numerice Curs I Introducere

Invatare augtomata (clasificare)Avem exemple de semnale (vectori) din doua clase si dorim ca, pebaza lor, sa cream o regula prin care sa clasificam semnale viitoare.Notam cu n1, n2, numarul de vectori (de antrenare) apartinandclaselor C1 si C2; vectorii au dimensiune d . Un clasicator foartesimplu este cel bazat pe CMMP (exista metode de clasificare maieficiente, dar si mai complexe). Acesta construieste functia liniara:

f (v) = aT v + b

unde v ∈ Rd este un semnal de antrenare, iar a ∈ Rd si b ∈ R suntparametrii necunoscutti ai functiei. Pentru a gasi acesti parametri,fixam ca obiectiv satisfacerea relatiei:

f (v) =

{1 daca v ∈ C1−1 daca v ∈ C2

Desigur, aceasta relatie nu poate fi satisfacuta exact, de aceeacautam o solutie in sens CMMP. Notand 1n un vector avand toateelementele egale cu 1 si dimensiune n, relatia precedenta conducela un sistem CMMP.

Page 228: Metode Numerice Curs I Introducere

Invatare augtomata (clasificare)Cu datele de antrenare(v1, 1), · · · , (vn1 , 1), (vn1+1,−1), · · · , (vn1+n2 ,−1)construim sistemul CMMP:

vT1 1· · · · · ·vTn1 1vTn1+1 1· · · · · ·

vTn1+n2 1

(

ab

)=

(1n1−1n2

)

a carui solutie produce valorile optime pentru a si b. Clasifcareaefectiva a unui semnal nou v se face tinand cont de care dintrevalorile 1 sau −1 este mai aproape valoarea functiei f :

v ∈

{C1 daca sign(aT v + b) = 1

C2 daca sign(aT v + b) = −1

Page 229: Metode Numerice Curs I Introducere

Clasificare email-uri

I Se construieste un dictionar de cuvinte de dimensiune d .

I Date de antrenare sunt emailu-uri.

I Construirea de vectori “features” se bazeaza pe “Bags ofWords” (functie in matlab): (vi , 1) (bun) sau (vi ,−1) (spam),unde vi (j) reprezinta numarul de aparitii a cuvantului j dindictionar in emailul i .

Construiti un clasificator liniar care separa cele doua clase.

Page 230: Metode Numerice Curs I Introducere

Clasificare pentru detectia oboselii soferului

Scopul aplicatiei este de a gasi un clasificator care decide dacaochiul soferului este inchis sau deschis. Pentru aceasta aplicatie, seva folosi in faza de antrenare 100 de poze alb negru (50 de pozeochi inchisi si restul ochi deschisi), de dimensiune 24x24.

Pe post de vector de caracteristici (features - vi ) se poate luaintreaga poza sau alte caracteristici (gradient flow, etc). Construitiun clasificator liniar care separa cele doua clase (vezi laborator!).

Page 231: Metode Numerice Curs I Introducere

Identificarea sistemlorConsideram un sistem dinamic de tip intrare-iesire

Pentru sistemul considerat dispunem de 40 de masuratoriintrare-iesire {u(t), y(t)}:

0 5 10 15 20 25 30 35 400

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

t

u(t)

0 5 10 15 20 25 30 35 402.5

3

3.5

4

4.5

5

5.5

6

6.5

7

7.5

t

y(t)

Page 232: Metode Numerice Curs I Introducere

Identificarea sistemlor cont.Dorim sa aproximam sistemul printr-un model intrare-iesire deforma ARX (AutoRegressive eXogenous) - sistem controlat de unexagenous input:

ymodel(t) = x1u(t)+x2u(t−1)+x3u(t−2)+x4u(t−3)+x5u(t−4).

Gasirea setului de parametrii x = [x1 · · · x5]T ai modelului poate firealizata prin rezolvarea unui sistem liniar (problema CMMP):

Ax = b cu A ∈ R36×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)

Page 233: Metode Numerice Curs I Introducere

Identificarea sistemlorRaspunsul modelului estimat:

0 5 10 15 20 25 30 35 403

3.5

4

4.5

5

5.5

6

6.5

7

7.5

8Raspunsul estimat si raspunsul real

ymodel(t)

y(t)

Page 234: Metode Numerice Curs I Introducere

Cmmp recursiv - filtru KalmanPerturbarea unei matrici cu una de rang 1, B + uvT , cu B ∈ Rn×n

inversabila si u, v ∈ Rn (Sherman-Morisson formula):

(B + uvT )−1 = B−1 − B−1uvTB−1

1 + vTB−1u

Cmmp recursiv: avem senzori, am facut masuratori pana lamomentul t si vrem sa estimam pozitia (rachetei) :

Ax = b → B = (ATA)−1, xt = BATb

O noua masuratoare ne soseste - cum calculam eficient nouapozitie care ia in calcul vechea pozitie calculata deja xt si vecheainversa B = (ATA)−1?

[A; uT ]xt+1 = [b; bt+1] → (ATA + uuT )xt+1 = ATb + bt+1u

Daca rezolvam doua sisteme cu aceeasi parte stanga atunci xt+1:

ATAxt = ATb si ATAz = u → xt+1 = xt +(bt+1 − uT xt)z

1 + uT z

Page 235: Metode Numerice Curs I Introducere

Cmmp recursiv - filtru Kalman cont.O noua masuratoare ne soseste - putem calculam eficient nouapozitie xt+1 pe baza pozitiei anterioare xt si vechea inversaB = (ATA)−1?

[A; uT ]xt+1 = [b; bt+1] → (ATA + uuT )xt+1 = ATb + bt+1u

Rezolvam doua sisteme cu aceeasi parte stanga:

ATAxt = ATb, ATAz = u → xt = (ATA)−1ATb, z = (ATA)−1ATu

Atunci xt+1 = (ATA + uuT )−1(ATb + bt+1u) si folosimSherman-Morisson formula:

xt+1 = (ATA + uuT )−1(ATb + bt+1u)

=

((ATA)−1 − (ATA)−1uuT (ATA)−1

1 + uT (ATA)−1u

)(ATb + bt+1u)

= xt +(bt+1 − uT xt)z

1 + uT z

Simple calcule cu vectori pentru a calcula xt+1!

Page 236: Metode Numerice Curs I Introducere

Compressed sensingI Este o technica de procesare de semnal pentru reconstructia

unui semnal dintr-o serie de esantioane (masuratori)

I Se bazeaza pe principiul ca un semnal rar poate fi recuperatdin mai putine esantioane decat cere testul Shanon

I Testul Shanon: semnal continuu x(t) avand frecvente maimici de B hertz se recupereaza perfect dintr-un semnal discretzn = x(nT ) daca

T <1

2BI Shanon spune ca daca a priori avem informatie despre

frecventa maxima a semnalului (< B), atunci mai putineesantioane sunt necesare pentru reconstructie. Dar in aplicatiireale rata de esantionare Shanon este imposibil de realizat (ex.imagini CT/MRI)

I in 2004 Candez, Tao si Donoho au demonstrat ca daca apriori stim ca semnalul este rar atunci el poate fi recuperat dinmult mai putine esantioane decat spune testul Shanon

Page 237: Metode Numerice Curs I Introducere

Compressed sensing cont.

I compresia se bazeaza pe gasirea unei baze unde semnalulpoate fi reprezentat rar

I reprezentare rara: avem un semnal x ∈ Rn ce poate fireprezentat cu numai s � n coeficienti in aceasta baza (ex.JPEG, MPEG, MP3)

I compressed sensing: in loc sa esantioneze semnalul lamomente de timp, masoara semnalul prin proiectarea lui intr-obaza cunoscuta

I compressed sensing are importante aplicatii, ex. in prelucrareaimaginilor medicale (CT or MRI scans)

I scanarea imaginilor MRI (magnetic resonance image) poate fiaccelerata daca se masoara putini coeficienti Fourier

I Teorema (Candes et al): sub anumite conditii rezonabile(satisfacute in practica) numarul de masuratori (esantioane)necesare este m > O(s log(n))

Page 238: Metode Numerice Curs I Introducere

Compressed sensing cont.Formulare matematica (sistem liniar subdeterminat):I se da un semnal x ∈ Rn, o matrice de ”sensing” (de achizitie)

A ∈ Rm×n cu m ≤ n si un vector de masuratori b = AxI scopul este recuperarea semnalului x din masuratorile bI Candes et al. aratat ca daca un semnal admite o reprezentare

rara in raport cu un dictionar (matrice de reprezentare) atunciel poate fi recuperat exact: m>O(s log(n))

I daca D ∈ Rn×n este acest dictionar a.i. x = Dc , cu c avandputini coeficienti nenuli s � n atunci semnalul este recuperat:

lasso : x = Dc∗, c∗ = arg minc‖c‖1 s.l. ADc = b

I alegerea dictionarelor: ex. imaginile reale tind sa fie rare in”wavelet domain”, imaginile MRI in DFT domain, etc

I ex. imagini MRI au n = 100 mil. voxeli. Scaner MRI ia m� nesantioane din domeniul Fourier de reprezentare a imaginii(i.e. anumite linii din matricea DFT): aici A este o parte dinmatricea identitate si D este matricea DFT de reprezentare aimaginii. Scanarea MRI s-a redus de la 8 min la 70 sec.!

Page 239: Metode Numerice Curs I Introducere

Compressed sensing cont.

Diferenta dintre cmmp si lasso:

minx‖x‖2 s.l. Ax = b vrs. min

x‖x‖1 s.l. Ax = b

Sistem liniar subdeterminat: A ∈ Rm×n cu m� n→ admite oinfinitate de solutii. In cmmp o cautam pe solutia cu componentelexi cele mai mici. In realitate (vezi exemplele anterioare) multexi -uri sunt foarte aproape de zero dar sol. cmmp x nu este rara.Componentele aproape de 0 in cmmp devin 0 in problema lasso.

Foarte multe metode de rezolvare a problemei lasso! Reamintescca pentru cmmp putem utiliza algoritmul Kaczmarz, la fiecareiteratie k alegem o linie i (ciclic, aleator) si actualizam:

xk+1 = xk −aTi x

k − bi‖ai‖2

ai

Page 240: Metode Numerice Curs I Introducere

Compressed sensing cont.Differenta dintre cmmp si lasso:

minx‖x‖2 s.l. Ax = b vrs. min

x‖x‖1 s.l. Ax = b

Alg. Sparse Kaczmarz: la fiecare iteratie se alege o linie i (ciclic,aleator) si se face urmatoarea actualizare pentru xk :

xk+1/2 = xk −aTi x

k − bi‖ai‖2

ai , xk+1 = Tλ(xk+1/2)

unde Tλ(x) = sign(x) ·max(|x | − λ, 0) (soft thresholding)

Teorema (Lorentz 2016): iteratia xk generate de Sparse Kaczmarzconverge la solutia problemei ”basis pursuit”:

minx‖x‖22 + λ‖x‖1 s.l. Ax = b

λ mic obtinem solutia cmmp; λ mare obtinem solutia problemeilasso! Multe alte metode de optimizare exista (vezi curs TO)...

Page 241: Metode Numerice Curs I Introducere

Matrix completion

Rangul unei matrice este la fel ca numarul de elemente nenuledintr-un vector. In multe aplicatii dorim vectori rari sau matrici derang mic! Ex. cand o matrice are intrari necunoscute, acele intrarile putem recupera daca matricea satisface anumite conditii - oconditie naturala este sa aiba rangul mic.

Un exemplu faimos de matrix completion este competitia Netflix:evaluarea a m filme de n utilizatori merge intr-o matricea X careare multe intrari necunoscute (un utilizator nu vede toate filmele).

Problema se pune similar ca in lasso (norma nucleara‖X‖∗ = σ1 + · · ·+ σn approximeaza rangul):

minX‖X‖∗ s.l. Aij = Xij ∀i , j ∈ I = pozitii cunoscute

Exista foarte multi algoritmi pentru rezolvarea problemei !

Page 242: Metode Numerice Curs I Introducere

Matrix completion cont.Un simplu algoritm se bazeaza pe cmmp. Reformuleaza problemade matrix completion

minX‖X‖∗ s.l. Aij = Xij ∀i , j ∈ I = pozitii cunoscute

ca urmatoarea problema de optimizare (fixam rangul r si rescriemX ca X = UV T cu U ∈ Rm×r ,V ∈ Rn×r ):

minU,V‖(A− UV T )ij∈I‖2F + λ(‖U‖2F + ‖V ‖2F )

Un algoritm iterativ in care se fixeaza mai intai U si se rezolvaproblema cmmp in V si apoi se fixeaza V si se rezolva problemacmmp in U. Observati ca pentru fiecare coloana din U si V seobtine o problema cmmp. Ex. pentru coloana u:

minu‖Auu − bu‖2 + λ‖u‖2 ⇐⇒ (AT

u Au + λIm)u = ATu bu

Page 243: Metode Numerice Curs I Introducere

Matrix completion - recuperarea de imagini

imaginea data (40% elemente lipsa) si imaginea recuperata

Page 244: Metode Numerice Curs I Introducere

Teme colocviu - cerinta

Fiecare student alege o aplicatie a.i. sa se modeleze ca o problemadiscutata la curs (sisteme liniare, valori proprii, valori singulare).Cerinte:

I descrieti in detaliu aplicatia aleasa

I dati formularea matematica ca o problema discutata la curs

I adaptati cel putin un algoritm dat la curs pentru rezolvarea ei

I dati codul Matlab/Python pentru algoritmii implementati

I comparati rezultatele cu functiile standard din Matlab/Python(e.g. pentru CMMP aveti in Matlab A/b)

I comentati rezultatele obtinute (grafice, tabele)

Vezi exemplele de aplicatii de la curs ce respecta cerintele de maisus.

Page 245: Metode Numerice Curs I Introducere

Metode Numerice

Curs VValori si vectori proprii

Ion Necoara

2020

Page 246: Metode Numerice Curs I Introducere

Calculul valorilor si vectorilor proprii

“Valorile si vectorii proprii joaca un rol fundamental in descriereamatematica a unor categorii foarte largi de procese tehnice,economice, biologice, etc.”

“Proprietati esentiale (e.g. stabilitatea) ale modelelor matematicecunoscute sub denumirea de sisteme dinamice se exprima in raportcu valorile proprii ale unor matrice.

In acest context, calculul cat mai eficient si mai exact al valorilor sivectorilor proprii se impune cu necesitate.”

C. Popeea et al.

Page 247: Metode Numerice Curs I Introducere

Istoric IInitial, notiunile de valoare/vector propriu apar in studiul formelorpatratice si al ecuatiilor diferentiale.

Euler (sec. XVIII) a studiat mis-carea de rotatie a unui corp rigidsi a evidentiat importanta axelorprincipale de rotatie.Lagrange a descoperit ca axeleprincipale sunt vectorii proprii aimatricii de inertie.

Cauchy (sec. XIX) a introdus termenul“racine caracteristique” (radacina caracter-istica) echivalentul valorii proprii; pe bazaideilor lui Fourier si Sturm, Cauchy stabilesterezultatul fundamental ca orice matrice re-ala simetrica are valori proprii reale (extinsde Hermite in 1855 la matrici Hermitiene).

Page 248: Metode Numerice Curs I Introducere

Istoric IIHilbert (sec. XX) studiaza valo-rile proprii ale operatorilor integraliconsiderand operatorii matrici infinite.Este primul care foloseste termenulgerman “eigen” insemnand ”propriu”,pentru a nota valorile/vectorii proprii(in 1904). Termenul corespunzator inengleza: “proper value”, dar “eigen-value” este standard.

Primul algoritm numeric pentru calcularea valorilor/vectorilorproprii apare in 1929, cand Von Mises publica metoda puterii. Unadin cele mai populare metode, algoritmul QR, a fost propusindependent de John G.F. Francis and Vera Kublanovskaya in 1961.

Definitie: Fie o matrice A ∈ Cn×n. Un numar λ ∈ C se numestevaloarea proprie a matricei A, daca exista un vector propriu nenulx ∈ Cn astfel incat:

Ax = λx .

Page 249: Metode Numerice Curs I Introducere

Aplicatia I - stabilitatea sistemelorStabilitatea sistemelor dinamice:

I dinamica continua in spatiul starilor: x ′ = Ax

I sistemul este stabil daca toate valorile proprii λi ale lui A suntin partea stanga a planului complex

I dinamica discreta in spatiul starilor: xt+1 = Axt

I sistemul este stabil daca toate valorile proprii λi ale lui A suntin discul unitate

Page 250: Metode Numerice Curs I Introducere

Stabilitatea sistemelor - cazul continuuI dinamica continua in spatiul starilor: x ′ = Ax

I sistemul este stabil daca toate valorile proprii λi ale lui A suntin partea stanga a planului complex

Demonstratie: observam ca xt = eAtx0. Deci sistemul este stabildaca oricare ar fi x0 avem ca

limt→∞

xt = 0.

Aceasta este echivalent cu limt→∞ eAt = 0. Dar daca A are valoriproprii distincte λi cu vectorii proprii corespunzatori xi atunci vomarata ca ea este diagonalozabila si deci matricea X = [x1 · · · xn]este inversabila, satisfacand:

A = Xdiag(λ1 · · ·λn)X−1.

In concluzie, eAt = Xdiag(eλ1t · · · eλnt)X−1 converge la 0 dacatoate valorile proprii λi au partea reala negativa. Cand valorileproprii nu sunt toate distincte, se foloseste forma Jordan.

Page 251: Metode Numerice Curs I Introducere

Stabilitatea sistemelor - cazul discret

I dinamica discreta in spatiul starilor: xt+1 = Axt

I sistemul este stabil daca toate valorile proprii λi ale lui A suntin discul unitate

Demonstratie: observam ca xt = Atx0. Deci sistemul este stabildaca oricare ar fi x0 avem ca

limt→∞

xt = 0.

Aceasta este echivalent cu limt→∞ At = 0. Dar daca A are valoriproprii distincte λi cu vectorii proprii corespunzatori xi atunci vomarata ca matricea X = [x1 · · · xn] este inversabila si

A = Xdiag(λ1 · · ·λn)X−1.

In concluzie, At = Xdiag(λt1 · · ·λt

n)X−1 converge la 0 daca toatevalorile proprii |λi | < 1. Cand valorile proprii nu sunt toatedistincte se foloseste forma Jordan.

Page 252: Metode Numerice Curs I Introducere

Aplicatia II: model al cresterii populatieiGrupam populatia in n clase de varsta de durata egala (notam cu Lvarsta maxima):[

0,L

n

),

[L

n,

2L

n

)· · ·[

(n − 1)L

n, L

)I numarul populatiei in fiecare clasa de varsta este reprezentat

de vectorul de distributie a varstei: x = [x1 · · · xn]T .I peste o perioada de L/n ani, probabilitatea ca un membru din

clasa de varsta i sa supravietuiasca si sa devina un membru inclasa de varsta i + 1 este data de pi .

I numarul mediu de nou-nascuti ai unui membru din clasa devarsta i este data de bi .

Definim matricea de tranzitie a varstei :

A =

b1 b2 · · · bn−1 bn

p1 0 · · · 0 00 p2 · · · 0 0· · · · · · ·0 0 · · · pn−1 0

Page 253: Metode Numerice Curs I Introducere

Aplicatia II: model al cresterii populatiei

• Folosind matricea de tranzitie a varstei

A =

b1 b2 · · · bn−1 bn

p1 0 · · · 0 00 p2 · · · 0 0· · · · · · ·0 0 · · · pn−1 0

putem estima vectorul de distributie a varstei la o anumitaperioada de timp pe baza vectorului de tranzitie de la perioada detimp anterioara:

xi+1 = Axi

• Populatia este stabila daca acelasi procentaj din populatia totalase regaseste in fiecare clasa de varsta:

xi+1 = Axi = λxi

Page 254: Metode Numerice Curs I Introducere

Aplicatia III: analiza componentelor principale

Analiza componentelor principale (PCA) reprezinta o procedurastatistica ce realizeaza, prin transformari ortogonale, conversia unuiset de esantioane date (ale unor variabile posibil corelate) intr-unset de valori liniar necorelate, numite componente principale.

I Transformarea este realizata astfel incat prima componentaprincipala are cea mai mare varianta posibila (explica variatiacea mai mare a datelor).

I Componentele principale sunt ortogonale, deoarece reprezintavectorii proprii ai matricii (simetrice) de covarianta.

Page 255: Metode Numerice Curs I Introducere

Aplicatia III: analiza componentelor principale

PCA este definita de o transformareliniara ortogonala ce aduce datele intr-un nou sistem de coordonate, astfelincat varianta maxima obtinuta prinproiectii ale datelor se afla pe primacoordonata (numita prima compo-nenta principala), a doua cea maimare varianta pe a doua coordonatas.a.m.d.

Consideram X ∈ Rn×p, unde fiecare din cele n linii denota orepetitie separata a experimentului, si fiecare din cele p coloanedenota un tip particular de date (e.g. rezultatele de un anumitsenzor).

Page 256: Metode Numerice Curs I Introducere

Aplicatia III: calculul primei componente

Transformarea este definita de vectorii de ponderi w(k) ∈ Rp cemapeaza fiecare linie x(i) a lui X intr-un nou vector de componenteprincipale t(i) ∈ Rp,

tk (i) = xT(i)w(k)

astfel incat componentele lui t (in raport cu setul de date)mostenesc succesiv varianta maxima posibila de la x, cu vectorii deponderi w pe sfera unitate. Primul vector de ponderi w(1) satisface

w(1) = arg max‖w‖=1

{∑i

(t1)2(i)

}= arg max

‖w‖=1

∑i

(xT(i)w)2

= arg max‖w‖=1

‖Xw‖2.

I Conexiune cu catul Rayleigh!

I Interpretare: w(1) vectorul propriu al matricii XTX coresp.valorii proprii maxime!

Page 257: Metode Numerice Curs I Introducere

Aplicatia IV: eigenfacesEigenfaces reprezinta numele colectiei de vectori proprii pentruaplicatiile din domeniile vederii artificiale si recunoasterii portretelorumane. Strategia ce foloseste Eigenfaces pentru recunoastere afost dezvoltata de Sirovich si Kirby (1987).I Vectorii proprii sunt derivati din matricea de covarianta a

distributiei de probabilitate peste spatiul vectorial al imaginilorde portrete.

I Eigenfaces formeaza o baza a imaginilor ce construiescmatricea de covarianta.

I Clasificarea se realizeaza prin compararea reprezentarilor inbaza Eigenfaces.

Page 258: Metode Numerice Curs I Introducere

Aplicatia IV: eigenfaces + PCA

Recunoastere de imagini: Combinatie Eigenfaces + PCA.

I Consideram 300 de imagini 100× 100, in scara de gri; fiecareimagine reprezinta un vector de dimensiune 10, 000 si matriceade covarianta S contine 10, 000× 10, 000 = 108 elemente.

I rangul matricii de covarianta este limitat de numarul deimagini de antrenare: avem N exemple de antrenare, atunciavem cel mult N − 1 vectori proprii cu valorilor proprii nenule.

Fie T matricea exemplelor de antrenare, unde fiecare coloanareprezinta o imagine. Matricea de covarianta poate fi calculataS = TTT si descompunerea vectorilor proprii a lui S

Svi = TTT vi = λivi .

Page 259: Metode Numerice Curs I Introducere

Aplicatia IV: eigenfaces + PCA

Luand in calcul ca S = TTT ∈ R104×104are dimensiuni mari,

realizam descompunerea pentru TTT si pre-multiplicam cu T :

TTTTui = λiTui .

I Daca ui ∈ R300 este vector propriu al matriciiTTT ∈ R300×300, atunci vi = Tui ∈ R104

este vector propriual matricii S .

I Se determina componenta principala (vectorul propriumaximal al matricii S) prin operatii cu matricea de dimensiunimult mai reduse TTT ∈ R300×300.

I Clasificarea imaginilor de portrete se realizeaza prin proiectiaimaginii de test (sau antrenare) pe vectorul propriu obtinutdin pasii anteriori, si masurarea diferentelor dintre proiectie siun portret “mediu”.

Page 260: Metode Numerice Curs I Introducere

Valori si vectori proprii - generalitati

Definitie. Fie o matrice A ∈ Cn×n. Un numar λ ∈ C se numestevaloarea proprie a matricei A, daca exista un vector nenul x ∈ Cn

astfel incatAx = λx .

Un vector x 6= 0 ce satisface relatia de mai sus se numeste vectorpropriu al matricei A asociat valorii proprii λ.

Valorile proprii ale matricei A ∈ Cn×n sunt zerourile polinomuluicaracteristic

p(λ) = det(λIn − A),

care este un polinom de gradul n cu coeficienti complecsi.

Daca matricea este reala (i.e. A ∈ Rn×n), atunci polinomul p(λ)are coeficienti reali si valorile proprii complexe apar in perechicomplex-conjugate.

Page 261: Metode Numerice Curs I Introducere

Valori si vectori proprii - generalitati

I Ordinul de multiplicitate ni a valorii proprii λi , se numestemultiplicitate algebrica a valorii proprii respective. Dacani = 1 atunci λi se numeste simpla.

I Multimea λ(A) = {λ1, . . . , λn} = {λ ∈ C|det(λI − A) = 0} senumeste spectrul matricei A.

I Numarul real nenegativ ρ(A) = max{|λ1|, . . . , |λn|} senumeste raza spectrala a matricii A. Deci, valorile proprii seafla in discul cu centrul in origine si raza ρ(A) (i.e.|λi | ≤ ρ(A)).

Valorile proprii satisfac:

n∑i=1

λi =n∑

i=1

ai = tr(A),n∏

i=1

λi = det(A).

Page 262: Metode Numerice Curs I Introducere

Valori si vectori proprii - generalitati

Vectorii proprii din definitia precendenta sunt denumiti vectoriproprii la dreapta ai matricii A si satisfac sistemul liniar omogen

(λIn − A) x = 0.

I Vectorii proprii asociati valorilor proprii distincte sunt liniarindependenti.

I Vectorii proprii la stanga sunt vectori nenuli y ∈ Cn ce satisfac

yHA = λyH ⇒ AHy = λy ,

unde H reprezinta operatorul cumulat de transpunere siconjugare. De aici rezulta λ(AH) = λ(A).

I Pe de alta parte, din det(λIn −A) = det(λIn −AT ) avem ca Asi AT au acelasi spectru, i.e. in cazul real λ(AT ) = λ(A), darvectorii proprii, in general, difera. Vectorii proprii reali aimatricei AT sunt vectori proprii la stanga ai matricei A.

Page 263: Metode Numerice Curs I Introducere

Valori si vectori proprii - generalitati

I Observam ca daca xi este un vector propriu al matricii Aasociat valorii proprii λi , atunci yi = αxi este, de asemenea,vector propriu al matricii A asociat aceleiasi valori proprii,pentru orice α ∈ C, α 6= 0.

I Multimea vectorilor proprii asociati valorii proprii λi , impreunacu vectorul nul din Cn formeaza subspatiulVi = Ker(λi In − A) ⊂ Cn numit subspatiul propriu asociatvalorii proprii λi .

I Dimensiunea νi = dimVi a subspatiului propriu, i.e. numarulde vectori proprii liniar independenti asociati lui λi , senumeste multiplicitate geometrica a valorii proprii λi . Esteevident νi ≤ ni .

Page 264: Metode Numerice Curs I Introducere

Subspatii invariante

Definitie. Fie o matrice A ∈ Rn×n. Un subspatiu liniar V ⊂ Rn senumeste subspatiu invariant al matricei A (sau A−invariant) daca

AV ⊂ V, i .e. Ax ∈ V, ∀x ∈ V.

Proprietati ale subspatiilor invariante:Fie matricea A ∈ Rn×n.

1. Daca x1, . . . , xp sunt vectorii proprii ai matricei A, atuncisubspatiul S = Im[x1 x2 . . . xp] ⊂ Rn este A−invariant.

2. Daca S este un subspatiu A−invariant cu dimS = p sicoloanele matricei (monice) V = [v1v2 . . . vp] ∈ Rn×p

formeaza o baza a lui S, atunci exista B ∈ Rp×p astfel incat

AV = VB.

Mai mult, avem λ(B) ⊂ λ(A).

Page 265: Metode Numerice Curs I Introducere

Subspatii invariante

3. Complementul ortogonal T = S⊥ in Cn al subspatiuluiA−invariant S este un subspatiu AH−invariant.

Observatii:

I Orice subspatiu A−invariant nenul (i.e. p ≥ 1) contine unvector propriu al matricei A. Reciproc, daca are loc relatiaAV = VB, atunci ImV este un subspatiu A−invariant.

I Subspatiul A−invariant generat de vect. proprii reali este real.

I Daca x1,2 = v1 ± iv2, v1, v2 ∈ Rn, sunt vectori proprii realiasociati unei perechi de valori proprii complex conjugateλ1,2 = α± iβ, α, β ∈ R, β 6= 0, atunci vectorii v1, v2 sunt liniarindependenti si S = Im[v1 v2] este un subspatiu A−invariant.

Page 266: Metode Numerice Curs I Introducere

Subspatii invariante - Exemplu

Se considera matricea

A =1

6

5 25 9−1 −5 −90 24 24

care are polinomul caracteristic

p(λ) = det(λI3 − A) = λ3 − 4λ2 + 6λ− 4

si valorile proprii λ1 = 2 si λ2,3 = 1± i . Vectorii

x1 = v1 =

−1−12

, x2,3 = v2 ± iv3 =

5−12

± i

22−2

sunt vectori proprii ai matricei A asociati valorilor proprii λ1 si,respectiv, λ2,3.

Page 267: Metode Numerice Curs I Introducere

Subspatii invariante - Exemplu

Fie V1 = v1 si V23 = [v2 v3]. Avem urmatoarele relatii (verificati!):

AV1 = V1B1 cu B1 = 2, AV23 = V23B23 cu B23 =

[1 1−1 1

]si prin urmare, S1 = ImV1 si S23 = ImV23 sunt subspatiiA−invariante.

Exercitiu. Calculati complementele ortogonale in R3 ale celordoua subspatii si verificati ca aceste subspatii sunt AT−invariante.

Page 268: Metode Numerice Curs I Introducere

Matrice asemeneaDefinitie. Doua matrice A,B ∈ Rn×n se numesc asemenea dacaexista o matrice nesingulara T ∈ Rn×n astfel incat

B = T−1AT .

Daca matricea de transformare T este unitara, atunci matricele Asi B se numesc unitar asemenea. In cazul real, daca matricea detransformare T este ortogonala, matricele A si B se numescortogonal asemenea.

Observatii:

I Daca matricele A,B satisfac B = T−1AT , i.e. suntasemenea, atunci ele au acelasi spectru

λ(A) = λ(B).

I Daca x este un vector propriu al matricei A asociat valoriiproprii λ ∈ λ(A), atunci vectorul y = T−1x este un vectorulpropriu al matricei B, asociat aceleiasi valori proprii.

Page 269: Metode Numerice Curs I Introducere

Matrice asemenea - Caz particular

Consideram matrici de ordin n ce admit un set (complet) de nvectori 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 liniarindependenti ai matricei A, obtinem o matrice diagonala:

X−1AX = Λ = 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.

Page 270: Metode Numerice Curs I Introducere

Matrici normale - caz real/complex

Definitie. Fie A ∈ Cn×n. Matricea A se numeste normala daca

AHA = AAH .

In cazul real, matricea A ∈ Rn×n este normala daca

ATA = AAT .

Reamintim:

I A se numeste hermitica daca AH = A, si simetrica dacaAT = A;

I A se numeste unitara daca AHA = In, si ortogonala dacaATA = In.

Page 271: Metode Numerice Curs I Introducere

Matrici normale - proprietati

I Matricile hermitice si cele unitare sunt matrice normale.

I Matricile hermitice au proprietatea ca elementele simetricefata de diagonala principala sunt complex conjugateaij = aij , i , j ∈ 1 : n. Deci elementele diagonale ale matricilorhermitice sunt reale.

Exemplu: A =

1 2− i 1 + i2 + i 1 1− 3i1− i 1 + 3i 1

.

I O matrice hermitica/unitara reala este simetrica/ortogonala.

I Matricele reale simetrice sau ortogonale sunt normale.

I Exista matrice normale care nu sunt nici simetrice nici

ortogonale. Exemplu: A =

[1 −11 1

].

Page 272: Metode Numerice Curs I Introducere

Matrici reale diagonalizabile

Teorema. O matrice n × n reala A este normala daca si numaidaca admite un set complet de n vectori proprii ortogonali, adicaexista o matrice unitara Q ∈ Rn×n ale carei coloane sunt vectoriproprii ai matricei A astfel incat

QTAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ Rn×n.

Altfel spus, matricele normale sunt matricele unitar diagonalizabile(peste R).

Page 273: Metode Numerice Curs I Introducere

Matrici simetrice

Teorema. O matrice A ∈ Rn×n este simetrica daca si numai dacaadmite un set complet de n vectori proprii ortogonali si toatevalorile proprii sunt reale, adica exista o matrice ortogonalaQ ∈ Rn×n ale carei coloane sunt vectori proprii ai matricei A a. i.

QTAQ = Λ = diag(λ1, λ2, . . . , λn) ∈ Rn×n.

Page 274: Metode Numerice Curs I Introducere

Valori proprii - matrici simetrice

Fie matricea A ∈ Rn×n si functia reala µ : Rn\{0} definita de

µ(x) =xHAx

xHx.

Vom considera ca spectrul λ(A) = {λ1, . . . , λn} este ordonatdescrescator, i.e. λ1 ≥ λ2 ≥ · · · ≥ λn.Teorema. Valorile extreme ale functiei µ sunt date de

M = maxx∈S

xHAx = λ1, minx∈S

xHAx = λn,

unde S = {x ∈ Rn|‖x‖2 = xHx = 1.}Mai mult, daca Wk este subspatiul A−invariant asociat valorilorproprii λj , cu j = k + 1 : n, atunci

maxx∈S∩Wk

xHAx = λk+1.

Page 275: Metode Numerice Curs I Introducere

Teorema Courant-Fischer

Caracterizarea minimax a valorilor proprii ale unei matrice simetriceeste oferita de Teorema Courant-Fisher.

I V = subspatiile liniare din Rn;

I W = V⊥ reprezinta complementele ortogonale;

I VS = multimea vectorilor de norma euclidiana unitara din V;

I WS = multimea vectorilor de norma euclidiana unitara din W;

Teorema. (Courant - Fisher) Daca matricea A ∈ Rn×n are valorileproprii ordonate atunci pentru k ∈ 1 : n avem

λk = maxdimV=k

minx∈VS

xTAx = mindimV=k

maxx∈WS

xTAx .

Page 276: Metode Numerice Curs I Introducere

Teorema Courant-Fischer - exemplu

Consideram A =

[2 11 2

]. Spectrul matricii A este Λ(A) = {3, 1}.

I Observam ca orice subspatiu de dimensiune 1 determinat debaza b ∈ R2 are forma {y ∈ R2 : ∃x ∈ R, bx = y .} DinTeorema Courant-Fischer avem

λ1 = maxb∈R2

minx∈R2,|x |= 1

‖b‖

x2bTAb

= maxb∈R2

bTAb

‖b‖2= 3.

I Observam ca orice subspatiu de dimensiune 2 determinat debaza B ∈ R2×2 are forma {y ∈ R2 : ∃x ∈ R2,Bx = y .} DinTeorema Courant-Fischer avem:

λ2 = maxb1,b2∈R2

minx∈R2,‖Bx‖=1

xTBTABx

z=Bx= max

B∈R2×2min‖z‖=1

zTAz = min‖z‖=1

zTAz = 1.

Page 277: Metode Numerice Curs I Introducere

Consecinta Courant-Fischer

Teorema Courant-Fisher are consecinte importante prin separareaspectrului submatricelor lider principale

Teorema. (Separare) Valorile proprii ale submatricelor liderprincipale de ordinul k ale unei matrice simetrice separa valorileproprii 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.

Page 278: Metode Numerice Curs I Introducere

Valorile proprii ale matricelor simetrice si hermiticeUn rezultat util in aprecierea influentei perturbatiilor numericesimetrice este dat de teorema urmatoare.

Teorema. Daca matricile simetrice A,E ∈ Rn×n au spectreleordonate 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 perturbatiilornumerice asupra valorilor proprii ale matricelor simetrice.Teorema. (W. - H.) Fie A,E ∈ Rn×n simetrice, atunci

n∑j=1

(λj (A + E )− λj (A))2 ≤ ‖E‖2F ,

unde ‖E‖F =√∑

i ,j e2ij =

√∑ni=1 λ

2i (E ) este norma Frobenius a

matricei E .

Page 279: Metode Numerice Curs I Introducere

Valorile proprii ale matricelor antisimetrice

Definitie. Matricea A ∈ Rn×n se numeste antisimetrica daca

AT = −A.

Proprietati:

I Orice matrice antisimetrica este unitar diagonalizabila si aretoate valorile proprii pur imaginare;

I Valori proprii complex conjugate ⇒ daca n impar atunci existao valoare proprie nula;

I Orice matrice antisimetrica este normala;

Page 280: Metode Numerice Curs I Introducere

Matrici ortogonale

Teorema. O matrice A ∈ Rn×n este ortogonala daca si numaidaca admite un set complet de n vectori proprii ortogonali si toatevalorile proprii sunt de modul unitar, adica este unitardiagonalizabila cu spectru unitar, respectiv exista o matriceQ ∈ Cn×n astfel incat

QHAQ = Λ = diag{λ1, λ2, . . . , λn} cu |λi | = 1, ∀λi .

Page 281: Metode Numerice Curs I Introducere

Forma Schur

Issai Schur (1875 - 1941) matematician, aprofesat in Germania o mare parte a vi-etii sale. A studiat la Berlin, a obtinutdoctoratul in 1901, si a devenit lector in1903. Apoi, dupa o perioada de sedere inBonn, a devenit profesor in 1919. Studental lui Frobenius, s-a ocupat de reprezentaride grupuri (subiect cu care este asociat celmai des), dar si de combinatorica, teorianumerelor si chiar fizica teoretica. Renu-mele de astazi i se datoreaza rezultatului inlegatura cu existenta descompunerii Schur silucrarile din reprezentarile grupurilor (lemaSchur).

Page 282: Metode Numerice Curs I Introducere

Forma SchurIdeea centrala: Transformarile de asemanare ortogonale (unitare)prezinta marele avantaj de a conserva conditionarea spectrului devalori proprii ale unei matrice date: λ(A) = λ(QTAQ) pentru oriceQ ortogonala.

Vom vedea ca orice matrice este unitar asemenea cu o matrice(bloc) triunghiulara, numita forma Schur.

I Daca se cunoaste λ ∈ Λ(A) atunci vectorul propriu asociateste o solutie nenula a unui sistem liniar omogen:(A− λIn)x = 0.

I Daca se cunoaste un vector propriu x al matricei A, atuncivaloarea proprie asociata poate fi calculata cu relatia

xTAx

xT x=

xTλx

xT x= λ.

Deci este dificil de calculat un vector propriu x cand se cunoaste λ,dar este usor de calculat λ cand se cunoaste x .

Page 283: Metode Numerice Curs I Introducere

Forma Schur complexaI Valorile proprii = radacinile unui polinom

I In absenta cunoasterii vectorilor proprii, este necesar un procesiterativ (infinit) pentru calculul valorilor proprii (reamintim capentru un polinom de grad > 4 nu exista formule analitice decalculare a a radacinilor lui!).

Intuitie: Exploatarea rezultatelor partiale prin reducereadimensiunii problemei.

Propozitie. Fie A ∈ Cn×n si X ⊂ Cn un subspatiu A−invariantp−dimensional dat printr-o baza ortogonala x1, x2, . . . , xp. Atunciexista o matrice unitara (in cazul A reala, ortogonala) Q ∈ Cn×n

cu coloanele Q(:, j) = xj , j = 1 : p, astfel incat

QHAQ =

[S11 S12

0 S22

],

cu S11 ∈ Cp×p =⇒ λ(A) = λ(S11) ∪ λ(S22) .

Page 284: Metode Numerice Curs I Introducere

Forma Schur complexaPentru p = 1, baza V a subspatiului A−invariant se reduce la unvector propriu x de norma unitara asociat valorii proprii λ.

Lema.(Deflatie unitara) Fie A ∈ Cn×n si λ ∈ Λ(A). Atunci exista omatrice unitara Q ∈ Cn×n astfel incat

QHAQ =

[λ S12

0 S22

].

⇒ Se poate considera matricea de transformare Q = UH , unde Ueste reflectorul (complex) care anuleaza elementele 2 : n alevectorului propriu x asociat valorii proprii λ: i.e. Ux = e1. Decix = UHe1. Daca consideram coloanele UH = [uH

1 · · · uHn ], atunci

x = uH1 . Deci consideram Q = [uH

1 Y ] si atunci:

S = QHAQ =

[u1

Y H

]A[uH

1 Y ] =

[u1Au

H1 u1AY

Y HAuH1 Y HAY

]=

[λ S12

0 S22

],

unde u1AuH1 = u1Ax = λu1u

H1 = λ‖u1‖2 = λ si

Y HAuH1 = Y HAx = λY Hx = 0.

Page 285: Metode Numerice Curs I Introducere

Forma Schur complexa

Teorema. (Forma Schur) Oricare ar fi matricea A ∈ Cn×n exista omatrice unitara Q ∈ Cn×n astfel incat matricea

QHAQ = S ,

este superior triunghiulara. Elementele diagonalei matricei S suntvalorile proprii ale matricei A si pot fi dispuse in orice ordinepredeterminata.

Matricea S se numeste forma Schur (FS) a matricei A, iarcoloanele matricei de transformare Q se numesc vectori Schur almatricei A asociati formei Schur.

Page 286: Metode Numerice Curs I Introducere

Forma Schur complexa

Demonstratie: Pasul 1. Conform lemei precedente, dacaλ1 ∈ Λ(A), atunci exista o matrice unitara Q1 astfel incat

S1 = QHAQ =

[λ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 realizattriangularizarea in primele k − 1 coloane prin transformari unitarede asemanare

Sk−1 = QHk−1 . . .Q

H2 QH

1 AQ1Q2 . . .Qk−1 =

[S

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

Page 287: Metode Numerice Curs I Introducere

Forma Schur complexaDemonstratie (continuare): Aplicam aceeasi lemma pentru a

realiza deflatia in coloana k . Daca λk ∈ Λ(S(k−1)22 ) atunci exista

Qk astfel incat

QHk S

(k−1)22 Qk =

[λk S

(k)12

0 S(k)22

].

Matricea

Qk =

[Ik−1 0

0 Qk

]∈ Cn×n

este unitara si

Sk = QHk Sk−1Qk =

[S

(k)11 S

(k)12

0 S(k)22

]este superior triunghiulara in primele k coloane. Acest proces detriangularizare prin transformari unitare de asemanare, producedupa n pasi matricea superior triunghiulara S = QHAQ, undeQ = Q1Q2 . . .Qn−1 este unitara.

Page 288: Metode Numerice Curs I Introducere

Forma Schur reala

I In majoritatea aplicatiilor in care este necesar calculul valorilorproprii, matricea are elemente reale ⇒ utilizarea aritmeticiireale este mult mai eficienta.

I Perechile de valori proprii complexe si perechile de vectoriproprii asociati pot fi tratate unitar prin intermediul unorblocuri matriceale 2× 2.

I Corespondentul formei Schur complexe devine o matricecvasi-superior triunghiulara in care perechile de valori propriicomplex conjugate sunt evidentiate prin blocuri 2× 2.

X X X X0 X X X0 X X X0 0 0 X

Page 289: Metode Numerice Curs I Introducere

Forma Schur reala

Lema.(Deflatie ortogonala) Fie A ∈ Rn×n.

a) Daca λ ∈ Λ(A) ∩ R, atunci exista o matrice ortogonalaQ ∈ Rn×n astfel incat

QTAQ =

[λ S12

0 S22

].

b) Daca λ1,2 = α± iβ ∈ Λ(A), β 6= 0, atunci exista o matriceortogonala Q ∈ Rn×n astfel incat

QTAQ =

[S11 S12

0 S22

],

unde S11 ∈ R2×2, cu Λ(S11) = {λ1, λ2}.

Page 290: Metode Numerice Curs I Introducere

Forma Schur reala

Demonstratie: Prima parte a) se demonstreaza asemanator cuprimul pas al formei Schur complexe, considerand o matriceortogonala Q a carei prima coloana este un vector propriu denorma euclidiana unitara asociat valorii proprii λ.

Pentru a doua parte b), consideram:

I vectorii proprii x1,2 = v1 ± iv2 asociati valorilor proprii complexconjugate λ1, λ2;

I Y = [y1 y2] ∈ Rn×2 baza ortogonala a subspatiului liniarA−invariant S = ImV , unde V = [v1 v2] ∈ Rn×2;

I Z ∈ Rn×(n−2) o baza ortogonala a complementului ortogonalT = S⊥ a lui S in Rn×n.

Observam ca matricea Q = [Y Z ] este ortogonala.Vectorii v1, v2 sunt liniar independenti ⇒ exista o matricenesingulara P ∈ R2×2 astfel incat V = YP.

Page 291: Metode Numerice Curs I Introducere

Forma Schur reala

Demonstratie (continuare): In consecinta, avem ca AV = VB cu

B =

[α −ββ α

]. Rezulta

AY = AVP−1 = VBP−1 = VP−1PBP−1 = YS11,

unde S11 = P

[α −ββ α

]P−1. Deci, in final avem:

A1 = QTAQ =

[Y T

ZT

]A[Y Z ] =

[Y TAY Y TAZ

0 ZTAZ

]=

[S11 S12

0 S22

],

unde blocul S11 ∈ R2×2 are valorile proprii λ1,2 siZTAY = ZTYS11 = 0.Observatie: Calculul matricei ortogonale Q din lema precedentaeste conditionat esential de cunoasterea unui vector propriu (real)x asociat valorii proprii reale (sau cunoasterea Re(x) si Im(x) incazul complex conjugat, i.e. λ = α± iβ).

Page 292: Metode Numerice Curs I Introducere

Forma Schur reala

Dupa intregul proces de deflatie a matricei A, obtinem rezultatul:Teorema. (Forma Schur reala) Oricare ar fi matricea realaA ∈ Rn×n, exista o matrice ortogonala Q ∈ Rn×n astfel incat

QTAQ = S =

S11 S12 . . . S1p

0 S22 . . . S2p

. . . . . . . . . . . .0 0 . . . Spp

,unde Sii ∈ R1×1 sau Sii ∈ R2×2 si toate blocurile diagonale 2× 2au valorile proprii complexe. Evident,

Λ(A) = Λ(S) = ∪pi=1Λ(Sii ).

Matricea cvasi-superior triunghiulara S se numeste forma Schurreala (FSR) a matricei A, iar coloanele matricei de transformare Qse numesc vectori Schur ai matricei A asociati formei Schur reale S .

Page 293: Metode Numerice Curs I Introducere

Exemplu - forma Schur reala

Consideram matricea A =

1 1 01 1 10 1 1

cu spectrul

Λ(A) = {1 +√

2, 1, 1−√

2}.Pasul 1. Se determina un vector propriu normat oarecare, e.g.alegem λ2 = 1.

Deci, avem x2 =

1/√

20

−1/√

2

vectorul propriu asociat lui λ2 = 1.

Determinam o baza ortonormata ce include vectorul x2:

Q1 =

1/√

2 1/√

2 00 0 1

−1/√

2 1/√

2 0

Page 294: Metode Numerice Curs I Introducere

Exemplu - forma Schur reala

Pre- si post-multiplicarea matricii A cu aceasta matrice returneaza

A1 = QT1 AQ1 =

1 0 0

0 1√

2

0√

2 1

=

[1 0

0 Q

],

unde Q ∈ R2×2 cu spectrul Λ(Q) = {1 +√

2,√

2− 1}.Pasul 2. Alegem λ1 = 1 +

√2 si calculam vectorul propriu normat

x1 =

[1/√

2

−1/√

2

].

Calculam baza ortonormata din spatiul R2 ce il include pe x2, i.e.

Q2 =

[1/√

2 1/√

2

1/√

2 −1/√

2

].

Page 295: Metode Numerice Curs I Introducere

Exemplu - forma Schur reala

Formam Q2 =

[1 0

0 Q2

]. Pre- si post-multiplicarea matricii A1 cu

Q2 returneaza forma Schur:

S = QT2 A1Q2 = QT

2 QT1 AQ1Q2 =

1 0 0

0 1 +√

2 0

0 0 1−√

2

.Observam ca am obtinut o matrice inferior triunghiulara particulara(diagonala) ce contine valorile proprii ale matricii A.

Page 296: Metode Numerice Curs I Introducere

Metoda puterii si metoda puterii inverse

I Procedura de deflatie sugereaza o tehnica de calcul a valorilorproprii ale unei matrice prin reducerea acesteia la forma Schur(reala);

I Din pacate, calculul unei valori proprii necesita cunoastereaunui vector propriu asociat;

I Deci, este necesara completarea procedurii de deflatie cu ometoda de calcul a unui vector propriu fara cunoasterea valoriiproprii asociate;

I Cele mai folosite metode de calcul iterativ al unui vectorpropriu sunt cunoscute sub denumirile de metoda puterii simetoda puterii inverse.

Page 297: Metode Numerice Curs I Introducere

Metoda puterii si metoda puterii inverse

Lemma. Fie o matrice A ∈ Rn×n cu spectrul

Λ(A) = {λ1, λ2, . . . , λn}.

Atunci matricele Ak , k ∈ N∗,A− µIn, µ ∈ R si, in cazul in care Aeste nesingulara, A−1 au aceiasi vectori proprii cu matricea A sispectrele

Λ(Ak ) = {λk1 , λ

k2 , . . . , λ

kn},

Λ(A− µIn) = {λ1 − µ, λ2 − µ, . . . , λn − µ},

Λ(A−1) = { 1

λ1,

1

λ2, . . . ,

1

λn},

Page 298: Metode Numerice Curs I Introducere

Metoda puterii

Ipoteze:

I Consideram A ∈ Rn×n cu o valoare proprie dominanta, i.e. ovaloare proprie de modul strict superior modulelor tuturorcelorlalte.

I Numerotam valorile proprii in ordinea descrescatoare amodulelor

|λ1| > |λ2| ≥ · · · ≥ |λn|.

I Fie y0 ∈ Rn un vector de norma euclidiana unitara caresatisface xT

1 y0 6= 0. (Generic, un vector aleator normatsatisface o astfel de conditie).

I Presupunem ca vectorii proprii x1, x2, . . . , xn ai matricii Aformeaza o baza in Rn.

Atunci y0 poate fi descompus y0 =n∑

i=1γixi , unde γ1 6= 0.

Page 299: Metode Numerice Curs I Introducere

Metoda puterii

Definim sirul vectorial (y (k))k∈N prin

y (k) = ρkAy(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) = ρkAky (0),

unde ρk = 1‖Ak y (0)‖ . Considerand descompunerea lui y (0) rezulta

y (k) = ρk

n∑i=1

Akxi = ρk

∑γiλ

ki xi = ρkλ

k1

(γ1x1 +

n∑i=2

γi

(λi

λ1

)k

xi

).

Page 300: Metode Numerice Curs I Introducere

Metoda puteriiPe de alta parte avem | λi

λ1| < 1, i = 2 : n ce implica

limk→∞

(λi

λ1

)k

= 0, i = 2 : n,

silim

k→∞y (k) = γx1,

unde γ este un scalar nenul astfel incat ‖γx1‖ = 1.Prin urmare, sirul generat de schema (MP)

1. Pentru k = 1, 2, . . .

1. Se calculeaza vectorul y (k) = Ay (k−1)

2.yk ← y (k)/‖y (k)‖converge catre vectorul propriu asociat valorii proprii dominante amatricei A.

Obs: Daca valoarea proprie dominanta este multipla, atunci MPconverge la un vector din subspatiul generat de vectorii propriiasociati valorii proprii dominante (multipla)!

Page 301: Metode Numerice Curs I Introducere

Metoda puterii

I Viteza de convergenta este determinata de raportul |λ2λ1|.

Pentru un raport mic avem viteza mare de convergenta

I rata de convergenta liniara: |λ2λ1|k .

I Metoda este eficienta in cazul matricelor cu o valoare proprienet dominanta si o structura rara (trebuie sa facem inmultireamatrice-vector la fiecare iteratie O(n2)).

I Un criteriu de oprire posibil este dat de asigurarea uneicolinearitati impuse intre vectorii calculati la doi pasiconsecutivi;

I Stiind ca unghiul dintre x , y este dat (in cazul real) de

φ(x , y) = arccos xT y‖x‖‖y‖ , atunci putem considera criteriul de

oprire:ek = |1− |(y (k))T y (k−1)|| < tol.

Page 302: Metode Numerice Curs I Introducere

Metoda puteriiAlgoritm MP. (Metoda Puterii) (Fie A ∈ Rn×n, tol> 1, si unnumar maxim maxiter de iteratii, algoritmul calculeaza un vectorpropriu unitar y asociat valorii proprii dominante a matricei datesau tipareste un mesaj daca obiectivul nu a fost atins.)

1. Se alege aleator un vector y ∈ Cn.

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− |zT y ||5. y ← z , i ← i + 1.

Page 303: Metode Numerice Curs I Introducere

Metoda puterii

Observatii:

I Metoda puterii este atractiva in cazul in care se cunoaste apriori existenta unei valori proprii net dominante.

I In caz contrar, viteza de convergenta poate fi nesatisfacatoare;

I In cazul absentei unei valori proprii dominante, sirul poatedeveni divergent;

I Daca valoarea proprie dominanta este multipla, atunci MPconverge la un vector din subspatiul generat de vectorii propriiasociati valorii proprii dominante (multipla).

I Optiune: se poate utiliza o “deplasare” µ a spectrului matriceiA astfel incat A− µIn sa aiba o valoare proprie (net)dominanta.

Page 304: Metode Numerice Curs I Introducere

Metoda puterii inverse

Sub aceleasi ipoteze, fie µ /∈ Λ(A) o aproximatie λ1. Atunci seobserva ca matricea (µIn − A)−1 are spectrul

Λ((µIn − A)−1) = { 1

µ− λ1, . . . ,

1

µ− λn}

si aceiasi vectori proprii cu cei ai matricei A.

I initializam y (0) nedefectiv in raport cu x1 (vezi MP);

I aplicam Metoda Puterii matricii (µIn − A)−1 generand sirul

y (k) = ρk (µI − A)−1 y (k−1), k = 1, 2, . . .

I 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γx1.

Page 305: Metode Numerice Curs I Introducere

Metoda puterii inverseMetoda Puterii pentru matricea (µIn − A)−1 este cunoscuta subnumele de Metoda Puterii Inverse cu deplasare pentru matricea A.Schema MPI.

1. Pentru k = 1, 2, . . .

1. Se rezolva sistemul (µIn − A)y (k) = y (k−1) in raport cu y (k)

2. y (k) ← y (k)/‖y (k)‖.

I Complexitate per iteratie ≈ rezolvare sistem liniar ≈ n3

3 ;I Deplasarea constanta asigura o convergenta rezonabila la orice

valoare proprie (cea mai apropiata de µ);

I Deplasarea variabila data de µk = (y (k−1))T Ay (k−1)

‖y (k−1)‖2 produce

“cea mai buna” rata de convergenta (patratica) la un vectorpropriu corespunzator valorii proprii celei mai apropiate deµ0 = (y0)TAy0/‖y0‖2, i.e.

‖y (k+1) − γx1‖ ≤ τ‖y (k) − γx1‖2.

Page 306: Metode Numerice Curs I Introducere

Metoda puterii inverseAlgoritm MPI. (Metoda Puterii Inverse cu deplasare Rayleigh)(Fie A ∈ Rn×n, tol> 1, si un numar maxim maxiter de iteratii,algoritmul calculeaza un vector propriu unitar y al matricei datesau tipareste un mesaj daca obiectivul nu a fost atins.)

1. Se alege aleator un vector y ∈ Cn.

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

2. STOP.

2. µ = yTAy

3. Se rezolva sistemul (µIn − A)z = y

4. z ← z/‖z‖5. e = |1− |zT y ||6. y ← z , i ← i + 1.

Page 307: Metode Numerice Curs I Introducere

Metoda puterii inverse

Observatii:

I convergenta (patratica) la vectorul propriu asociat unei valoriproprii oarecare, i.e.

‖y (k+1) − γx1‖ ≤ τ‖y (k) − γx1‖2.

I cea mai buna metoda de calcul al unui vector propriu asociatunei valorii proprii oarecare, i.e. daca ‖y (0) − γx1‖ ≤ ε si

τ = 1, atunci ‖y (k) − γx1‖ ≤ ε2k.

I algoritmul MPI calculeaza simultan si valoarea propriedominanta asociata, data de valoarea finala a deplasarii µ.

I pentru eficienta sporita, se transforma in prealabil matricea Aintr-o forma ce reduce efortul de calcul necesar al solutieisistemului (e.g. forma Hessenberg).

Page 308: Metode Numerice Curs I Introducere

Exemple numerice MP/MPIConsideram matricea companion

A =

2 3 2 −61 0 0 00 1 0 00 0 1 0

cu valorile proprii λ1 = 3, λ2,3 = −1± i , λ4 = 1. Fixamy (0) = [1 0 0 0]T si acuratetea ε = 10−15.

0 5 10 15 20 2510

−16

10−14

10−12

10−10

10−8

10−6

10−4

10−2

100

Iteratii (k)

Ero

are

(e

k)

Metoda PuteriiMetoda Puterii Inverse

Page 309: Metode Numerice Curs I Introducere

Exemple numerice MP/MPIDefinim pentru MP (MPI) sirul λ

(k)1 = (y (k))TAy (k) ce converge la

valoarea proprie dominanta (valoare proprie oarecare).

Tabelul: Convergenta sirului λ(k)1 calculat de MP si MPI

k MP MPI

1 3.148148148148148 2.941176470588236

2 2.892193308550186 3.004515975556559

3 3.057256990679095 3.000016980868802

4 2.992263515116997 3.000000000171710

5 2.994514085813479 3.000000000000000

6 3.006069862826657

7 2.997420775567442

8 3.000454508228525

9 3.000297669270774...

...

22 3.000000035181492

Page 310: Metode Numerice Curs I Introducere

Exemplu MPFie matricea ce depinde de parametrii α si β reali:

A =

α 1 10 1 β0 1 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:

I Daca β ≤ 0 atunci |1−√β| = |1 +

√β| =

√1− β. Deci

obtinem o valoare proprie dominanta daca α >√

1− β.

I Daca β > 0 atunci obtinem o valoare proprie dominanta candα 6= 1 +

√β.

In ambele cazuri, MP va produce un vector propriu de norma 1corespunzator valorii proprii dominante.

Page 311: Metode Numerice Curs I Introducere

Aplicatie a MP: PageRanking

Problema Google (ierarhizarea paginilor web):

An vs. Numar pagini webhttp://www.internetlivestats.com/

I Doar in 2013, numarul paginilor web a crescut cu 30%;

I Problema centrala a motoarelor de cautare:selectia/ierarhizarea (“ranking”-ul) surselor de informatiefunctie de relevanta raportata la obiectul cautat.

Page 312: Metode Numerice Curs I Introducere

Problema Google - Formularea algebricaI PageRank a inceput cu faimoasa lucrare a lui Brin & Page

(1998): clasificarea unui numar urias de pagini webI Reteaua paginilor se reprezinta prin intermediul unui graf

ponderat orientat, unde nod ≡ pagina, iar muchie ≡ linkI Ponderea pij = probabilitatea ca la o navigare aleatorie sa se

ajunga din pagina i in pagina jI Matrice de adiacenta E ∈ Rn×n: Eij = pij > 0 daca intre i si j

exista muchie sau Eij = 0 daca i si j nu sunt legateI Matricea E este stocastica pe coloane (i.e.

∑nj=1 Eij = 1 ∀i),

deci valoarea proprie maxima in modul este 1I Determinati vectorul propriu π ∈ Rn:

Eπ = π, eTπ = 1, π ≥ 0 (πi vectorul probabilitatilor deaccesare pagina i)

Putem aplica Metoda Puterii (Brin & Page ’98)

πk+1 = Eπk ⇒ limkπk = π∗

Acestui algoritm ii ia aproximativ o saptamana pt. a calcula π∗!

Page 313: Metode Numerice Curs I Introducere

Aplicatie a MP: model al cresterii populatieiGrupam populatia in n clase de varsta de durata egala (notam cu Lvarsta maxima):[

0,L

n

),

[L

n,

2L

n

)· · ·[

(n − 1)L

n, L

)I numarul populatiei in fiecare clasa de varsta este reprezentat

de vectorul de distributie a varstei: x = [x1 · · · xn]T .I peste o perioada de L/n ani, probabilitatea ca un membru din

clasa de varsta i sa supravietuiasca si sa devina un membru inclasa de varsta i + 1 este data de pi .

I numarul mediu de nou-nascuti ai unui membru din clasa devarsta i este data de bi .

Definim matricea de tranzitie a varstei :

A =

b1 b2 · · · bn−1 bn

p1 0 · · · 0 00 p2 · · · 0 0· · · · · · ·0 0 · · · pn−1 0

Page 314: Metode Numerice Curs I Introducere

Aplicatie a MP: model al cresterii populatiei

• Folosind matricea de tranzitie a varstei

A =

b1 b2 · · · bn−1 bn

p1 0 · · · 0 00 p2 · · · 0 0· · · · · · ·0 0 · · · pn−1 0

putem estima vectorul de distributie a varstei la o anumitaperioada de timp pe baza vectorului de tranzitie de la perioada detimp anterioara:

xi+1 = Axi

• Populatia este stabila daca acelasi procentaj din populatia totalase regaseste in fiecare clasa de varsta:

xi+1 = Axi = λxi

Page 315: Metode Numerice Curs I Introducere

Aplicatie a MP: model al cresterii populatieiPresupunem ca populatia femeilor are urmatoarele caracteristici:

clasa varsta nr. nou-nascuti (bi ) probabilitatea supravietuire (pi )

[0, 10) 0 0.985

[10, 20) 0.174 0.996

[20, 30) 0.782 0.994

[30, 40) 0.263 0.990

[40, 50) 0.022 0.975

[50, 60) 0 0.940

[60, 70) 0 0.866

[70, 80) 0 0.68

[80, 90) 0 0.361

[90, 100) 0 0

• Aplicam MP pornind din punctul initial x0 = [1 · · · 1]T , obtinemvectorul propriu corespunzator valorii proprii dominante λ = 1.065:

x = [1 0.925 0.864 0.806 0.749 0.686 0.605 0.492 0.314 0.106]T .

• Aceasta inseamna ca populatia creste cu 6.5% la fiecare 10 ani!

Page 316: Metode Numerice Curs I Introducere

Istoric - algoritmul QR

Eduard Stiefel Heinz Rutishauser

I Apare algoritmul LR (anii ’50), care foloseste factorizarea LU(in locul factorizarii QR). Datorita stabilitatii sporite aalgoritmului QR, se renunta pe parcurs la algoritmul LR.

I Algoritmul LR a fost dezvoltat la inceputul anilor ’50 de HeinzRutishauser, care lucra ca asistent de cercetare in echipa luiEduard Stiefel la Universitatea ETH Zurich.

I Primele variante ale algoritmului QR au fost dezvoltate spresfarsitul anilor ’50 de catre John G.F. Francis (Anglia) si VeraN. Kublanovskaya (URSS), in lucrari independente.

Page 317: Metode Numerice Curs I Introducere

Algoritmul QR

Algoritmul QR reprezinta o procedura de deflatie iterativa careconstruieste (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 structuratin doua faze:

1. Reducerea la forma superior Hessenberg;

2. Faza iterativa.

Mai departe, analizam cele doua etape separat. De observat ca inprima faza dorim sa aducem matricea la o forma cat mai apropiatade forma Schur reala (quasi-Hessenberg). De asemenea, formaHessenberg are beneficii in MP (MPI), deoarece inmultireamatrice-vector (rezolvarea unui sistem) este mai ieftina in cazulcand matricea A este Hessenberg.

Page 318: Metode Numerice Curs I Introducere

Proceduri utilizate in alg. QR

1. [b, u, β] = Hr(a) - Calculul unui reflector realU1 = In − uuT/β astfel incat (b = U1a)(2 : n) = 0;

2. B = Hrs(u, β,A) - Inmultirea la stanga a matricei A cureflectorul real U1 = In − uuT/β, i.e. B = U1A;

3. B = Hrd(A, u, β) - Inmultirea la dreapta a matricei A cureflectorul real U1 = In − uuT/β, i.e. B = AU1;

4. [b, c , s] = Gr(a) - Calculul unei rotatii reale P de ordin 2,astfel incat (b = PTa)(2) = 0;

5. B = Grs(c, s,A) - Inmultirea la stanga a matricei A cu PT ,i.e. B = PTA, unde P este o rotatie reala de ordin 2;

6. B = Grd(A, c , s) - Inmultirea la dreapta a matricei A curotatia reala de ordin 2 P, i.e. B = AP;

Page 319: Metode Numerice Curs I Introducere

Reducerea la forma superior Hessenberg

Este binecunoscuta teorema (lui Abel), conforma careia rezolvareaecuatiilor algebrice generale de grad superior lui patru nu esteposibila printr-o secventa finita de operatii aritmetice. Deducem canu exista algoritm direct care sa reduca o matrice data (de ordinsuperior lui patru) la o forma mai “apropiata” de forma Schurdecat forma Hessenberg, si care, in acelasi timp, sa conservevalorile proprii.

Teorema. Oricare ar fi matricea A ∈ Rn×n, exista o matriceortogonala Q ∈ Rn×n, calculabila printr-o secventa finita deoperatii aritmetice, astfel incat matricea

H = QTAQ

este superioara Hessenberg.

Page 320: Metode Numerice Curs I Introducere

Reducerea la forma superior HessenbergDemonstratie: Vom da o demonstratie constructiva peurmatoarea schema de calcul

HQ.

1. Pentru k = 1 : n − 2

1. Se calculeaza un reflector elementar

Uk+1 a.i. (UTk+1A)(k + 2 : n, k) = 0.

2. A← UTk+1A

3. A← AUk+1.

care suprascrie matricea A cu

A← H = UTn−1 · · ·UT

3 UT2 AU2U3 · · ·Un−1.

Notand Q = U2U3 · · ·Un−1 avem rezultatul precizat.Ramane de aratat ca schema de calcul de mai sus creeaza ostructura superior Hessenberg.

Page 321: Metode Numerice Curs I Introducere

Reducerea la forma superior HessenbergDemonstratie (continuare):Pasul 1. Exista un reflector elementar U2 de ordin n a.i.(UT

2 A)(3 : n, 1) = 0 care realizeaza structura sup. Hess. in primacoloana. Matricea U2 are structura

U2 =

[1 0

0 U2

].

Postmultiplicarea matricei UT2 A cu U2 nu modifica prima coloana

a lui UT2 A, i.e. zerourile din prima coloana a lui UT

2 A suntconservate in UT

2 AU2.

Pasul k. Presupunem ca din primii k − 1(k < n − 1) pasi amobtinut o matrice cu structura sup. Hess. in primele k − 1 coloane:

A← Ak = UTk · · ·UT

2 AU2 · · ·Uk .

Acum, exista un reflector elementar Uk+1 astfel incat(UT

k+1A)(k + 2 : n, k) = 0, i.e. premultiplicarea cu UTk+1 creeaza

structura superior Hessenberg in coloana k , fara sa afectezestructura de zerouri din primele k − 1 coloane.

Page 322: Metode Numerice Curs I Introducere

Reducerea la forma superior Hessenberg

Demonstratie (continuare):Mai mult, structura

Uk+1 =

[Ik 0

0 Uk+1

]asigura ca postmultiplicarea cu Uk+1 nu afecteaza nici una dinprimele k coloane ale matricei UT

k+1Ak .

Prin urmare, schema de calcul prezentata la inceputuldemonstratiei realizeaza reducerea matricei la forma superiorHessenberg, prin transformari ortogonale de asemanare.

Page 323: Metode Numerice Curs I Introducere

Algoritm HQcAlgoritm HQc. (Reducerea la forma superior Hessenberg) (FieA ∈ Rn×n si Q ∈ Rn×n ortogonala, algoritmul calculeaza osecventa de reflectori U2, . . . ,Un−1 astfel incat matriceaA← H = UT

n−1 · · ·UT3 UT

2 AU2U3 · · ·Un−1 este sup. Hess. Optional(prin variabila opt = ’da’ sau ’nu’) se calculeaza actualizareamatricei de transformare, i.e. Q ← QU2U3 · · ·Un−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 obtinemmatrice Hessenberg. Restul este ca si in algoritmul QR de laproblema CMMP care transforma matricea in una superiortriunghiulara!

Page 324: Metode Numerice Curs I Introducere

Algoritm QR - Faza iterativa

Algoritm QR:

1. Aducerea la forma Hessenberg;

2. Faza iterativa;

I Etapa iterativa a algoritmului QR utilizeaza, intr-o manieraimplicita, metodele puterii si puterii inverse pentru reducereaunei matrice la forma Schur (reala).

I Implementarile profesionale ale algoritmului QR utilizeaza, inexclusivitate, din motive de eficienta calculatorie (in cazulmatricelor reale), varianta cu deplasare implicita cu pas dublu.

Page 325: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicitaPresupunem ca matricea H ∈ Cn×n are o structura superiorHessenberg. Algoritmul QR cu deplasare explicita construieste sirulde matrice (sir QR):

H = H1,H2, . . . ,Hk ,Hk+1, . . . (1)

pe baza relatiei de recurenta (transformare QR){Hk − µk In = QkRk

Hk+1 = RkQk + µk In, k = 1, 2, . . . , H1 = H. (2)

I Scalarul µk , denumit deplasare, asigura convergenta sirului;

I In prima relatie din (2) se efectueaza factorizarea QR amatricii Hk − µk In;

I In a doua relatie din (2), matricea succesor Hk+1 se obtineinmultind in ordine inversa matricele Qk si Rk si anulanddeplasarea prin adunarea matricei µk In.

Page 326: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

Propozitie.

a) Daca matricea initiala H1 = H a sirului matriceal QR estesuperior Hessenberg, atunci toate matricele sirului au aceeasistructura. Altfel spus, structura Hessenberg este invarianta latransformarile QR.

b) Toate matricele sirului QR sunt unitar asemenea si, prinurmare, au acelasi spectru de valori proprii.

In cazul real, afirmatiile de mai sus raman valabile daca inlocul operatorului hermitic, de transpunere si conjugare, seutilizeaza operatorul de transpunere.

Page 327: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

Demonstratie: a) Daca Hk din (2) este o matrice superiorHessenberg, aceeasi structura o are si Hk − µk In. Algoritmul defactorizare QR (vezi cap.3) aplicat matricei sup. Hess. Hk − µk Inproduce o matrice unitara Qk sup. Hess. si una sup. tr.

Rkverificati!⇒ produsul RkQk este sup. Hess., deci Hk+1 este sup.

Hess. Prin inductie, daca H1 = H este sup. Hess., atunci toatematricele Hk , k = 2, 3, . . . sunt matrice sup. Hess.b) Din prima relatie (2) avem

Rk = QHk (Hk − µk In),

care, introdusa in a doua relatie (2), conduce la

Hk+1 = QHk (Hk − µk In)Qk + µk In = QH

k HkQk , (3)

i.e. Hk+1 si Hk sunt unitar asemenea si au acelasi spectru.

Page 328: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

Aplicand (3) in mod repetat obtinem

Hk = QHk−1Q

Hk−2 · · ·QH

1 H1Q1 · · ·Qk−2Qk−1 = QHk H1Qk ,

undeQk = Q1 · · ·Qk−2Qk−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.

Page 329: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

I Transformarea unitara cumulata poate fi construita cu relatia

Qk+1 = QkQk , k = 1, 2, . . . , Q1 = In.

I Alegand adecvat deplasarile µk , k = 1, 2, . . . , (cu exceptiasituatiilor patologice) sirul QR este convergent catre formaSchur complexa.

I Aratam ca elementul extradiagonal al ultimei linii a matriceiHk se anuleaza asimptotic pentru k →∞. Mai mult, toateelementele subdiagonale, cu viteze diferite, au tendinta deanulare.

Page 330: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

(i) Cu o alegere adecvata a deplasarilor µk , sirul QRimplementeaza, intr-o forma implicita, o versiune a metodeiputerii inverse cu deplasare Rayleigh ⇒ convergenta patratica aultimei coloane a matricei Qk catre un vector propriu al matriceiHH (anularea asimptotica a elementului Hk (n, n − 1)).

Pentru a justifica aceasta afirmatie, observam mai intai

Rk = QHk (QH

k HQk − µk In) = QHk QH

k (H − µk In)Qk (5)

= QHk+1(H − µk In)Qk ,

de undeRkQ

Hk = QH

k+1(H − µk In). (6)

Page 331: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

Prin transpunerea si conjugarea relatiei (6) avem

QkRHk = (HH − µk In)Qk+1,

unde µk este conjugata deplasarii µk . Intrucat RHk este inferior

triunghiulara, din egalitatea ultimelor coloane rezulta

r(k)nn q

(k)n = (HH − µk In)q

(k+1)n ,

sau, daca µk /∈ λ(H)

q(k+1)n = r

(k)nn (HH − µk In)−1q

(k)n , (7)

unde r(k)nn este conjugatul lui r

(k)nn .

Page 332: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

Relatia (7) defineste iteratia puterii inverse pentru determinareaunui vector propriu al matricei HH .

In continuare, aratam ca daca ultima coloana a matricei unitare detransformare este un vector propriu al matricei HH , atuncielementele extradiagonale ale ultimei linii ale matricei H seanuleaza, similar cu procedura de deflatie.

Reamintim: valorile proprii ale matricii HH sunt conjugatelevalorilor proprii ale matricei H.Consideram transformarea unitara definita de:

Q =[Q vn

],

cu vn vector propriu al matricei HH , i.e. HHvn = λnvn, cuλn ∈ λ(H).

Page 333: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicitaSe poate vedea usor ca{

vHn HQ = λnv

Hn Q = 0,

vHn Hvn = λnv

Hn vn = λn,

de unde rezulta

QHHQ =

[QH

vTn

]H[Q vn

]=

[QHHQ QHHvn

vHn HQ vH

n Hvn

]=

[H hH

0 λn

].

Viteza patratica de convergenta a vectorului coloana q(k)n din (7)

catre un vector propriu al matricei HH poate fi obtinuta aleganddeplasarea µk egala cu catul Rayleigh

µk =(q

(k)n )HHH q

(k)n

(q(k)n )H q

(k)n

= (q(k)n )HHH q

(k)n = eT

n QHk HHQken

= eTn HH

k en = h(k)nn .

Page 334: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

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

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

I Astfel h(k)nn devine o valoare proprie calculata a lui H;

I Dupa aceasta operatie, dimensiunea problemei s-a redus cu ounitate;

Page 335: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

(ii) Sirul QR implementeaza simultan o versiune a metodeiputerii cu deplasare. Astfel, in acelasi timp, sirul QR puneasimptotic in evidenta (cu o viteza mai redusa) si alte valori propriipe diagonala matricei curente a sirului.

Din (5) avemQk+1Rk = (H − µk In) Qk . (8)

Egalitatea primelor coloane din (8) conduce la

Qk+1r(k)1 = (H − µk In) q

(k)1 , (9)

unde q(k)1 = Qke1 si r

(k)1 = Rke1. Intrucat Rk este superior tr.

avem r(k)1 = r

(k)11 e1 si deci, (9) poate fi scrisa in forma echivalenta

q(k+1)1 =

1

r(k)11

(H − µk In) q(k)1 .

Page 336: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

I Relatia precedenta defineste metoda puterii pentru calcululunui vector propriu al matricei H, utilizand un parametruscalar de deplasare µk ;

I Daca µk evolueaza astfel incat matricea H − µk In are ovaloare proprie dominanta, atunci prima coloana a matriceiunitare de transformare Qk converge catre un vector propriuasociat acestei valori proprii;

I Conform procedurii de deflatie, prima coloana a matriceiQH

k HQk = Hk converge catre prima coloana a formei Schur alui A (i.e. elementul subdiagonal din prima coloana a lui H seanuleaza asimptotic);

I Viteza de convergenta depinde de evolutia modululuiraportului primelor doua valori proprii ale matricei H − µk In.

Page 337: Metode Numerice Curs I Introducere

Algoritm QR cu deplasare explicita

I Cele doua procese de deflatie au loc simultan, neglijandelementele subdiagonale suficient de mici;

I Dimensiunea problemei scade cu fiecare iteratie. Dinexperienta numerica s-a dedus ca, pentru calculul unei valoriproprii a unei matrice Hessenberg, sunt suficiente 1.5− 2iteratii QR;

I Aceasta viteza de convergenta exceptionala se datoreazafaptului ca o data cu elementele subdiagonale din ultima liniesi prima coloana, toate celelalte elemente subdiagonale autendinta de anulare asimptotica.

I Sirul QR nu converge intotdeauna, existand situatii“patologice” in care elementele subdiagonale nu se anuleazaasimptotic.

Page 338: Metode Numerice Curs I Introducere

Exemplu de neconvergenta Alg. QR

Se considera matricea H ∈ R4×4 in forma superior Hessenberg

H =

0 0 0 11 0 0 00 1 0 00 0 1 0

,avand valorile proprii (exacte), λ1 = 1, λ2,3 = ±i , λ4 = 1.

I H este o matrice ortogonala (de permutare);

I Sirul QR lasa matricea H nemodificata, Hk = H.Fie H1 = H. Avem µ1 = h44 = 0, deci H1 − µ1I4 = H1. CumH1 este ortogonala, o factorizare QR a lui H se obtine pentruQ1 = H1 si R1 = I4. Rezulta H2 = H1 si, prin inductie, seobtine relatia pentru toti k .

Page 339: Metode Numerice Curs I Introducere

Evolutia elementelor subdiagonale ale matricelor Hk cuinitializarea µ1 = 0.001

k h(k)21 h

(k)32 h

(k)43

1 1.00000000000000 1.00000000000000 1.000000000000002 0.99999900000088 0.99999999999950 0.999999499998873 0.99999800000800 0.99999999999800 0.99999799999200...

......

...12 0.74524339988451 0.99080233083311 0.4832365262644513 0.58630453030022 0.99453900211462 0.0471972548941114 0.44579447911603 0.99846792286246 0.0000362530753915 0.32803260297652 0.99959510209257 0.0000000000000216 0.23685107105612 0.99989584829055 0.00000000000000...

......

...50 0.00000184648291 1.00000000000000 0...

......

...100 0.00000000000006 1.00000000000000 0

Page 340: Metode Numerice Curs I Introducere

Evolutia elementelor subdiagonale ale matricelor Hk cuinitializarea µ1 = 2 (recomandata)

k h(k)21 h

(k)32 h

(k)43

1 1.000000000 1.000000000 1.0000000002 0.91651513899117 0.98169181562325 -0.808689828521623 0.78445125612917 0.97895246315181 -0.345957662307254 0.63665525316291 0.99162466881300 -0.015317732032155 0.49164479289711 0.99761224919910 -0.000001229204486 0.36518170914743 0.99936015720678 -0.00000000000000...

......

...25 0.00053197970928 1.00000000000000 0...

......

...50 0.00000009183752 1.00000000000000 0...

......

...100 0.00000000000000 1.00000000000000 0

Page 341: Metode Numerice Curs I Introducere

Exemplu de neconvergenta Alg. QR

I Pentru initializarea µ = 2, limita sirului QR construit este

Hk → H∞ =

−1 0 0 00 0 −1 00 1 0 00 0 0 1

.I Faptul ca elementul h

(k)32 nu se anuleaza asimptotic, se

datoreaza utilizarii aritmeticii reale si alegerii µk = h(k)44 .

I Cazurile de neconvergenta se pot sesiza prin supraveghereaelementului hn,n−1 si daca, dupa un numar convenit de iteratii(uzual, 10), modulul sau nu scade sub o toleranta impusa, seintervine, de obicei, prin renuntarea, pentru un singur pas, ladeplasarea data.

Page 342: Metode Numerice Curs I Introducere

Un pas simplu QR cu deplasare explicita

1. µ = hnn

2. H ← H − µIn3. Pentru j = 1 : n − 1

1. Se determina rotatia plana (complexa) Pj ,j+1 astfel incat

(PHj ,j+1H)j+1,j = 0.

2.H ← PHj ,j+1H

4. Pentru j = 1 : n − 1

H ← HPj ,j+1

5. H ← H + µIn

I Matricea de transformare curenta: Qk = P12P23 · · ·Pn−1,n.

I Complexitatea pasului QR cu deplasare explicita aplicat uneimatrici superior Hessenberg este O(n2), algoritmul de mai susnecesitand N ≈ 6n2 flopi (complecsi).

Page 343: Metode Numerice Curs I Introducere

Strategia pasilor dubli - cazul real

I In cazul matricelor reale se poate impune utilizarea exclusiva aunei aritmetici reale.

I Daca matricea are valori proprii complex conjugate, alegerearecomandata mai sus pentru deplasarea µk nu mai poateasigura convergenta procesului de calcul al valorilor proprii.

I Din concluziile precedente, pentru evidentierea unui bloc 2× 2al formei Schur reale pentru valori proprii conjugate λ1 ± iλ2,deflatia se face cu ajutorul unei baze ortogonale (reale) asubspatiului A-invariant generat de partea reala si ceaimaginara a perechii de vectori proprii asociati (v1 ± iv2).

I Aceasta a condus la ideea comasarii a doi pasi consecutivi QRintr-unul singur si a utilizarii unei perechi de deplasari complexconjugate care, in pasul dublu, apar in combinatii reale.

Page 344: Metode Numerice Curs I Introducere

Strategia pasilor dubli

Fie H ∈ Rn×n o matrice superior Hessenberg si doi pasi consecutiviQR cu deplasare explicita:{

Hk − µk In = QkRk

Hk+1 = RkQk + µk In,

{Hk+1 − µk+1In = Qk+1Rk+1

Hk+2 = Rk+1Qk+1 + µk+1In

ce definesc transformarea Hk → Hk+2, numita pas dublu QR .

I Pasul k produce matricea Hk+1 = QHk HkQk astfel incat

factorizarea QR din cadrul pasului k + 1 poate fi scrisa subforma QH

k HkQk − µk+1In = Qk+1Rk+1.

I Inmultind la stanga cu Qk , la dreapta cu Rk si utilizandfactorizarea QR, rezulta ca un pas dublu QR este descris de{

(Hk − µk In)(Hk − µk+1In) = QkQk+1Rk+1Rk

Hk+2 = (QkQk+1)THkQkQk+1.

Page 345: Metode Numerice Curs I Introducere

Strategia pasilor dubli - schema de calcul

1. Se calculeaza matricea Mdef= H2

k − skHk + pk In, unde

sk = µk + µk+1 si pk = µkµk+1.

2. Se calculeaza factorizarea QR a matricei M, i.e M = QR,

unde Q = QkQk+1 si R = RkRk+1.

3. Hk+2 = QTHkQ.

I Deplasarile µk si µk+1 se aleg egale cu valorile proprii aleblocului 2× 2 din coltul dreapta jos al matricei Hk :

Hk (n − 1 : n, n − 1 : n) =

[h

(k)n−1,n−1 h

(k)n−1,n

h(k)n,n−1 h

(k)n,n

].

I Cele doua valori proprii apar sub forma de suma si produs:{sk = µk + µk+1 = h

(k)n−1,n−1 + h

(k)n,n

pk = µkµk+1 = h(k)n−1,n−1h

(k)n,n − h

(k)n−1,nh

(k)n,n−1

,

care sunt reale chiar daca deplasarile sunt complexe.

Page 346: Metode Numerice Curs I Introducere

Algoritmul QR cu deplasare implicita

I Scopul fundamental al dezvoltarii variantei cu deplasareimplicita a algoritmului QR este reducerea complexitatii unuipas dublu QR aplicat unei matrice reale in forma superiorHessenberg la nivelul complexitatii a doi pasi simpli QR.

I Algoritmul QR cu deplasare implicita dateaza din anul 1961 sia 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:637-657, 1961.J.G.F. Francis. The QR Transformation: a Unitary Analogue to the LR Transformation, Parts I and II. Comp. J.,4:265-272, 332-345, 1962.

Page 347: Metode Numerice Curs I Introducere

Ideea algoritmului QR cu deplasare implicita

I Conform celor prezentate mai sus referitor la pasul dublu QR,matricele Hk si Hk+2 = QT

k HkQk au structura superiorHessenberg si sunt ortogonal asemenea.

I In general, matricea unitara Qk care defineste relatia deasemanare dintre matricele superior Hessenberg Hk si Hk+1

din sirul QR nu este unica. Intr-adevar, fie V ∈ Cn×n omatrice unitara arbitrara, aplicarea algoritmului HQc matriceiVHHkV returneaza o matrice superior Hessenberg unitarasemenea cu Hk si care depinde de alegerea lui V .

I Exista alternative mai eficiente de calcul a matricei succesorHk+2 si, eventual, a matricei de transformare asociate?

Page 348: Metode Numerice Curs I Introducere

Ideea algoritmului QR cu deplasare implicita

Definitie. O matrice n × n complexa sau reala H superiorHessenberg se numeste ireductibila daca are toate elementelesubdiagonale nenule, i.e.

hj+1,j 6= 0, j ∈ 1 : n − 1.

Teorema. Fie matricea A ∈ Cn×n si matricele unitare U ∈ Cn×n siV ∈ Cn×n astfel incat matricele

H = UHAU, G = VHAV

sunt ambele superior Hessenberg ireductibile. Daca matricele U siV au aceeasi prima coloana, i.e. Ue1 = Ve1, exista o matricediagonala unitara D = diag (1, δ2, . . . , δn) cu δj = e iθj , j = 2 : n,astfel incat

H = DHGD.

In cazul real, U,V ∈ Rn×n ortogonale si δj ∈ {−1, 1}, j = 2 : n.

Page 349: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

I In cazul matricelor reale, un spor important de eficienta seobtine utilizand o aritmetica reala si strategia pasilor dubli QR.

I Un pas dublu QR cu deplasare implicita are ca baza teoreticateorema de mai sus. Ideea centrala consta in asigurareacoincidentei primei coloane a matricei de transformarecumulate aferente unui pas dublu QR cu prima coloana amatricei de transformare cumulate de la doi pasi simpliconsecutivi din varianta cu deplasare explicita.

I Reducerea efortului de calcul la nivelul a doi pasi cu deplasareexplicita se bazeaza esential pe minimizarea numarului deoperatii aritmetice, prin exploatarea eficienta a structurilor dezerouri ale matricelor implicate.

Page 350: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

Concret, un pas dublu QR cu deplasare implicita consta dinurmatoarele transformari:

1. Se calculeaza prima coloana q(k)1 a matricei Q = QkQk+1 ce

defineste transformarea ortogonala aferenta unui pas dubluQR cu deplasare explicita.

2. Se determina o matrice ortogonala U1 astfel incat prima sa

coloana sa fie q(k)1 , i.e. U1e1 = q

(k)1 .

3. Se calculeaza matricea B = UT1 HkU1 (a carei structura nu

mai este superior Hessenberg).

4. Se reface structura superior Hessenberg aplicand algoritmulHQ matricei B: [Hk+2, U] = HQ(B). Transformarileimplicate de aceasta reducere nu afecteaza prima coloana amatricei de transformare cumulate.

Page 351: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

I Daca matricea Hk este ireductibila, atunci rezultatul Hk+2 alaplicarii schemei de calcul de mai sus va fi esential acelasi cucel dat de un pas dublu QR cu deplasare explicita.

I Mai mult, schema de mai sus este determinant mai eficientadecat varianta cu deplasare explicita: exploatandcorespunzator avantajele structurale date de formaHessenberg a matricelor initiala ¸si finala se poate reducecomplexitatea pasului dublu de la O(n3) la O(n2), ceea ce ineconomia intregului algoritm este esential.

I Detaliile sunt prezentate in continuare.

Page 352: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

Pentru simplitate, consideram Hknot= H matricea curenta

(presupusa ireductibila), iar Hk+2not= H ′ matricea succesor in

varianta cu utilizarea pasilor dubli.

1. Fara a reduce generalitatea, pp. ca matricea superiortriunghiulara RkRk+1 = R este nesingulara. Atunci primacoloana a matricei QkQk+1 = Q este

q1 = Qe1 =1

r11

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h32

0...0

,

unde sknot= s = µk + µk+1 = h

(k)n−1,n−1 + h

(k)n,n,

pknot= p = µkµk+1 = h

(k)n−1,n−1h

(k)n,n − h

(k)n−1,nh

(k)n,n−1.

Page 353: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

Similar cu cazul pasului simplu, notam

w =

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h32

vectorul de deplasare implicita aferent pasului dublu QR.

2. Matricea ortogonala U1, de la punctul 2. al schemei de calcul,poate fi un reflector (real) astfel calculat incat

UT1 q1 = U1q1 = ±‖q1‖e1.

Datorita structurii lui q1, structura matricii U1 este

U1 =

[U1 00 In−3

](10)

cu U1 ∈ R3×3 reflector elementar (real) de ordinul 3.

Page 354: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici reale

3. Datorita structurii (10), alterarea formei Hess. prin calcululmatricei B are loc numai in pozitiile (3, 1), (4, 1) si (4, 2).

4. Matricea B avand numai trei elemente nenule ce altereazaforma superior Hessenberg, sporul de eficienta se obtine prinadaptarea algoritmului HQr la aceasta structura. Concret, seevita operatiile de adunare si inmultire cu zero-uri, tinand contde structura

Ui =

Ii−1 0 0

0 Ui 00 0 In−i−2

, i = 2 : n−2, Un−1 =

[In−2 0

0 Un−1

]

reflectorilor Ui , i = 2 : n − 1, utilizati in cadrul algoritmuluiHQr, unde Ui ∈ R3×3 si Un−1 ∈ R2×2 sunt reflectorielementari de indice 1.

Page 355: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita - schema de calcul

1. Pentru i = 2 : n − 2

1. Se calculeaza reflectorul elementar Ui astfel incat

1. (UTi B)(i + 1 : i + 2, i − 1) = 0.

2. B ← UTi B. % Se anuleaza elementele (i + 1 : i + 2, i − 1).

3. B ← BUi . % Pentru i < n − 2 sunt alterate zerourile din pozitiile (i + 3, i : i + 1).

2. % Ultima transformare

1. Se calculeaza reflectorul elementar Un−1 astfel incat

1. (UTn−1B)(n, n − 2) = 0.

2. B ← UTn−1B. % Se anuleaza elementul (n, n − 2).

3. B ← BUn−1.

Eliminarea elementelor nenule care altereaza structura Hessenbergse realizeaza prin “deplasarea“ lor de-a lungul unor trasee paralelecu diagonala principala.

Page 356: Metode Numerice Curs I Introducere

Exemplu

Pentru exemplificare, prezentam evolutia structurala a matricei Bin cazul n = 5. Si aici zerourile nou create au fost marcate cu ∅,alterarile de zerouri au fost evidentiate cu +, iar incadrarile indicaliniile si/sau coloanele afectate de transformarea curenta.

H ← B = UT1 HU1 =

× × × × ×× × × × ×+ × × × ×+ + × × ×0 0 0 × ×

H ← B = UT2 H =

× × × × ×× × × × ×∅ × × × ×∅ + × × ×0 0 0 × ×

Page 357: Metode Numerice Curs I Introducere

Exemplu

H ← HU2 =

× × × × ×× × × × ×0 × × × ×0 + × × ×0 + + × ×

H ← UT3 H =

× × × × ×× × × × ×0 × × × ×0 ∅ × × ×0 ∅ + × ×

H ← HU3 =

× × × × ×× × × × ×0 × × × ×0 0 × × ×0 0 + × ×

Page 358: Metode Numerice Curs I Introducere

Exemplu

H ← UT4 H =

× × × × ×× × × × ×0 × × × ×0 0 × × ×0 0 ∅ × ×

H ← HU4 =

× × × × ×× × × × ×0 × × × ×0 0 × × ×0 0 0 × ×

Page 359: Metode Numerice Curs I Introducere

Calcul vector de deplasare implicita

Vom introduce un algoritm distinct de calcul al vectorului dedeplasare implicita asociat unui pas dublu QR.Algoritm VD2 - Calculul vectorului de deplasare implicita pentruun pas dublu QR (Fie matricea sup. Hess. H ∈ Rn×n, algoritmulcalculeaza vectorul w ∈ R3, de deplasare implicita pentru un pasdublu QR.)

1. s = hn−1,n−1 + hnn

2. p = hn−1,n−1hnn − hn−1,nhn,n−1

3. w =

h211 + h12h21 − sh11 + ph21(h11 + h22 − s)

h21h32

I Sintaxa de apel: w = VD2(H).

I Complexitate: O(1).

Page 360: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici realeAlgoritmul IT QR2 - Pas dublu QR cu deplasare implicita.(Date o matrice superior Hessenberg ireductibila H ∈ Rn×n sivectorul de deplasare implicita w ∈ R3, algoritmul suprascriematricea H cu matricea succesor H ← H ′ = QTHQ din sirul QR.Se produc si elementele definitorii ale reflectorilor utilizati.

1. %Calculul si aplicarea reflectorului U1

1. [w ,V (:, 1), b1] = Hr(w)

2. H(1 : 3, :) = Hrs(V (:, 1), b1,H(1 : 3, :))

3. H(1 : min (4, n), 1 : 3) = Hrd(H(1, min , 1 : 3),V (:, 1), b1)

2. % Refacerea formei superior Hessenberg

1. Pentru i = 2 : n − 2

1. [H(i : i + 2, i − 1),V (:, i), bi ] = Hr(H(i : i + 2, i − 1))

2. H(i : i + 2, i : n) = Hrs(V (:, i), bi ,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), bi )

Page 361: Metode Numerice Curs I Introducere

Pas dublu QR cu deplasare implicita pentru matrici realeAlgoritmul IT QR2 (continuare)...

3. % Ultimul pas

1. [H(n − 1 : n, n − 2),V (1 : 2, n − 1), bn−1] =

= Hr(H(n − 1 : n, n − 2))

2. H(n − 1 : n, n − 1 : n) =

= Hrs(V (1 : 2, n − 1), bn−1,H(n − 1 : n, n − 1 : n))

3. H(:, n − 1 : n) = Hrd(H(:, n − 1 : n),V (1 : 2, n − 1), bn−1).

I Sintaxa de apel: [H,V , b] = IT QR2(H,w).

I Complexitatea unui pas dublu QR realizat de algoritmulIT QR2 este O(n2) (mai exact, Nop ≈ 24n2 flopi).

I Subliniem ca aceasta solutie este cea mai eficientaimplementare cunoscuta a iteratiilor QR pentru matricelereale, fiind utilizata in toate programele profesionale de calculal valorilor proprii.

Page 362: Metode Numerice Curs I Introducere

Algoritm QR pentru matrici reale

I Algoritmul QR pentru matrice reale se obtine prin iterareaalgoritmului IT QR2, anularea efectiva a elementelorsubdiagonale devenite neglijabile si exploatarea structurala aacestor anulari in vederea obtinerii unei eficiente maxime.

I Dupa epuizarea procedurii de iterare, se obtine o matricecvasisuperior triunghiulara, ortogonal asemenea cu matriceainitiala, cu blocurile diagonale de dimensiune cel mult 2× 2.

I Pentru obtinerea unei forme Schur reale a matricei initiale,algoritmul se completeaza cu reducerea la forma sup. tr. ablocurilor diagonale 2× 2 care au valori proprii reale.

Page 363: Metode Numerice Curs I Introducere

Algoritm QR pentru matrici realeI Pentru o economie sporita a algoritmului, la fiecare iteratie se

anuleaza elementele subdiagonale neglijabile, ce satisfac

|hi+1,i | < tol (|hii |+ |hi+1,i+1|) ,

unde tol defineste nivelul de toleranta. Putem considera caare loc o evaluare a valorii proprii, cu o eroare de ordinultolerantei tol .

I Pentru monitorizarea evolutiei structurale a sirului QR, se vadetermina cel mai mic intreg p si cel mai mare intreg q, astfelincat matricea Hessenberg curenta sa aiba structura

H =

H11 H12 H13

0 H22 H23

0 0 H33

}p}n − p − q}q

.

cu H11 ∈ Cp×p, H22 ∈ C(n−p−q)×(n−p−q) superior Hessenbergireductibila si H33 ∈ Rq×q cvasisuperior triunghiulara (i.e. cublocurile diagonale de dimensiune cel mult 2× 2).

Page 364: Metode Numerice Curs I Introducere

Algoritm QR pentru matrici reale

I Blocurile diagonale ale submatricei H33 au valori proprii ”dejaevidentiate“, (alte valori proprii evidentiate se pot gasi printrevalorile proprii ale blocurilor diagonale de dimensiune cel mult2× 2 ale submatricei H11), iar iteratia QR se va aplica, defapt, numai submatricei H22.

I Aceasta transformare afecteaza celelalte blocuri ale matricei Hdupa cum urmeaza:

H ← H ′ =

H11 H12Q12 H13

0 QH22H22Q22 QH

22H23

0 0 H33

.I Faza iterativa a algoritmului QR se termina in momentul in

care ordinul submatricei H22 scade la cel mult 2, i.e.q ≥ n − 2.

Page 365: Metode Numerice Curs I Introducere

Algoritm QR pentru matrici reale

Supravegherea convergentei procesului iterativ se efectueaza cuurmatoarele aspecte specifice:

I aprecierea convergentei se face la nivelul evidentierii unui blocdiagonal in coltul din dreapta jos al submatricei H22 (10− 20de iteratii pentru modificarea modului de calcul al vectoruluide deplasare implicita, respectiv 30 de iteratii pentrurenuntarea la continuarea calculului);

I pentru calculul vectorului de deplasare implicita w se vorutiliza urmatoarele relatii empirice:{

s = 1.5 (|hn−q,n−q−1|+ |hn−q−1,n−q−2|)p = (|hn−q,n−q−1|+ |hn−q−1,n−q−2|)2 .

Page 366: Metode Numerice Curs I Introducere

Triangularizarea blocurilor diagonale 2× 2

La terminarea cu succes a fazei iterative, triangularizarea blocurilordiagonale 2× 2 cu valori proprii reale se poate face aplicandprocedura standard de deflatie. Daca G ∈ R2×2 are valorile propriireale, i.e.

∆ = (g11 − g22)2 + 4g12g21 ≥ 0,

atunci

x =

[λ1 − g22

g21

]este un vector propriu asociat valorii proprii λ ∈ Λ(G ) data de

λ1 =g11 + g22 + sgn (g11 + g22)

√∆

2. (11)

Page 367: Metode Numerice Curs I Introducere

Triangularizarea blocurilor diagonale 2× 2

Atunci rotatia P ∈ R2×2, care asigura satisfacerea conditiei(PT x1)(2) = 0, are prima coloana coliniara cu x1 si realizeazatriangularizarea urmarita

G = PTGP =

[λ1 g12

0 λ2

].

Daca blocul diagonal ce trebuie triangularizat, pe care il notamgeneric cu G , se afla in pozitia definita de liniile si coloanele k sik + 1, atunci rezultatul dorit se obtine aplicand matricei date otransformare ortogonala de asemanare definita de matriceadiag(Ik−1,P, In−k−1).

Page 368: Metode Numerice Curs I Introducere

Triangularizarea blocurilor diagonale 2× 2Algoritmul TRID2 - Triangularizarea unui bloc diagonal 2× 2.(Fie S ∈ Rn×n in forma cvasisuperior triunghiulara si k ∈ 1 : n − 1,algoritmul testeaza daca submatricea S(k : k + 1, k : k + 1) arevalorile proprii reale si, in caz afirmativ, calculeaza triangularizareaortogonala a blocului diagonal vizat. De asemenea, algoritmulreturneaza elementele definitorii c si s ale rotatiei reale calculate.)1. c = 1, s = 0

2. β = sk,k + sk+1,k+1, γ = sk,ksk+1,k+1 − sk,k+1sk+1,k ,∆ = β2 − 4γ

3. Daca ∆ ≥ 0 atunci

1. λ = (β + sgn (β)√

∆)/2

2. x =

[λ− sk+1,k+1

sk+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.

Page 369: Metode Numerice Curs I Introducere

Triangularizarea blocurilor diagonale 2× 2

I Sintaxa de apel a acestui algoritm va fi

[S , c, s] = TRID2(S , k).

I Complexitatea algoritmului TRID2 este O(n).

I In continuare, prezentam algoritmul QR standard cu pasi dublicu deplasari implicite pentru calculul formei Schur reale.

Page 370: Metode Numerice Curs I Introducere

Algoritm QR cu pasi dubli, cu deplasari impliciteAlgoritmul QR2. (Fie A ∈ Rn×n, o matrice ortogonala Q × Rn×n

si un nivel de toleranta tol pentru anularea elementelorsubdiagonale, algoritmul calculeaza forma Schur reala a matriceiA← S = QTAQ. Toate calculele se efectueaza pe loc, in locatiilede memorie ale tabloului A. Optional, se acumuleaza transformarileprin actualizarea matricei ortogonale Q, i.e. Q ← QQ. Optiunease 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

Page 371: Metode Numerice Curs I Introducere

Algoritm QR cu pasi dubli, cu deplasari implicite

1. Daca |ai+1,i | ≤ tol(|aii |+ |ai+1,i+1|) atunci

1. ai+1,i+1 = 0

2. % Determinarea lui q

1. continua =′ da′

2. Cat timp continua =′ da′

1. Daca q ≥ n − 2 atunci break

2. Daca an−q,n−q−1 = 0 atunci

1. q ← q + 1

2. cont it = 0

altfel

1. Daca an−q−1,n−q−2 = 0 atunci

1. q ← q + 2

2. cont it = 0

altfel continua =′ nu′

Page 372: Metode Numerice Curs I Introducere

Algoritm QR cu pasi dubli, cu deplasari implicite

3. % Terminarea normala a fazei iterative

1. Daca q ≥ n − 2 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 5. % Determinarea lui p

1. p = n − q − 1

2. Cat timp ap+1,p 6= 0

1. p = p − 1

2. Daca p = 0 atunci break

Page 373: Metode Numerice Curs I Introducere

Algoritm QR cu pasi dubli, cu deplasari implicite6. % 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(|al ,l−1|+ |al−1,l−2|)2. p = (|al ,l−1|+ |al−1,l−2|)2

3. w =

a2kk + ak,k+1ak+1,k − sakk + pak+1,k (akk + ak+1,k+1 − s)

ak+1,kak+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)

Page 374: Metode Numerice Curs I Introducere

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), bi )

4. Daca l < n atunci

1. A(p + i : r , l + 1 : n) =

= Hrs(V (1 : t, i), bi ,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), bi ))

Page 375: Metode Numerice Curs I Introducere

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 ak+1,k = 0 atunci k = k + 1,

altfel

1. [A, c , s] = TRID2(A, k)

2. Daca opt =′ da′ si c 6= 1 atunci

1. Q(:, k : k + 1) = Grd(Q(:, k : k + 1), c , s)

3. k = k + 2

Page 376: Metode Numerice Curs I Introducere

Algoritm QR cu pasi dubli, cu deplasari implicite

I In aspectele sale esentiale, algoritmul de mai sus sta la bazatuturor programelor profesionale de calcul al valorilor propriiale unei matrice reale.

I Sintaxa de utilizare a algoritmului de mai sus va fi

[A,Q] = QR2(A,Q, tol , opt).

I Acceptand evaluarea conform careia sunt suficiente, in medie,doua iteratii pentru a pune in evidenta o valoare proprie,algoritmul necesita un numar de NA

op = 30n3 flopi fara

acumularea transformarilor, NQop = 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(n3).

Page 377: Metode Numerice Curs I Introducere

Algoritm QR simetric

I Matricele reale simetrice A = AT ∈ Rn×n apar in numeroaseaplicatii specifice. In particular, problema generala a celor maimici patrate presupune rezolvarea (mai mult sau mai putinexplicita) sistemului normal de ecuatii a carui matrice estesimetrica. Mai mult, cazul simetric este important pentrucalculul valorilor singulare ale unei matrice, problema ce aparein toate aplicatiile ce fac apel la conceptul de rang matriceal.

I Din punct de vedere procedural, exploatarea simetriei indeterminarea valorilor si vectorilor proprii conduce la dezvoltarielegante si la importante simplificari ale calculelor.

I Algoritmul QR simetric ramane un instrument fundamentalpentru calculul intregului spectru al unei matrice simetrice.Totusi, spre deosebire de cazul general in care algoritmul QRnu are rival, in situatii specifice ale cazului simetric, existsolutii alternative viabile.

Page 378: Metode Numerice Curs I Introducere

Algoritm QR simetric

I Sursa importantelor facilitati de calcul care apar in cazulsimetric se afla in rezultatul fundamental conform caruia oricematrice simetrica A ∈ Rn×n este ortogonal diagonalizabila, i.e.exista o matrice ortogonala Q ∈ Rn×n astfel incat

QTAQ = Λ = diag (λ1, λ2, . . . , λn),

adica toate matricele simetrice reale sunt simple, au spectrureal, iar directiile proprii (coloanele matricii Q) suntortogonale doua cate doua.

Page 379: Metode Numerice Curs I Introducere

Algoritm QR simetric

Algoritmul QR simetric detine un spor esential de eficienta prinparcurgerea prealabila fazei directe a algoritmului QR, i.e.reducerea matricei date la forma superior Hessenberg. Datoritaconservarii simetriei la transformarile ortogonale de asemanare,structura superior Hessenberg obtinuta este, simultan, inferiorHessenberg, i.e. devine o structura tridiagonala.

Etapele algoritmului QR simetric:

1. Reducerea la forma tridiagonala;

2. Faza iterativa.

Page 380: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonala

Baza teoretica a posibilitatii de reducere la forma tridiagonala uneimatrice simetrice este data de urmatorul rezultat.

Teorema. Oricare ar fi matricea simetrica A ∈ Rn×n, exista omatrice ortogonala Q ∈ Rn×n astfel incat matricea

T = QTAQ

este tridiagonala, i.e. tij = 0, pentru toti i , j , cu |i − j | > 1.

Demonstratie: Demonstratia se reduce la observatia ca exista omatrice ortogonala Q astfel incat matricea T

not= H = QTAQ este

superior Hessenberg si la faptul ca aceasta matrice este simetricaTT = QTATQ = QTAQ = T . Prin urmare T este, simultan,inferior Hessenberg, i.e. este o matrice tridiagonala.

Page 381: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonala

Reamintim schema de calcul care sta la baza reducerii la formaHessenberg (aceeasi cu schema reducerii la forma tridiagonala).

TQ 1. Pentru k = 1 : n − 2

1. Se calculeaza un reflector elementar Uk+1 astfel incat

(Uk+1A)(k + 2 : n, k) = 0.

2. A← (Uk+1A)Uk+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 estesuprascrisa cu matricea

A← T = QTAQ = Un−1 · · ·U3U2AU2U3 · · ·Un−1,

unde, Q = U2U3 · · ·Un−1.

Page 382: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonala

Consideram acum pasul curent k al procesului de tridiagonalizaredescris mai sus si fie

A← T (k) = Uk · · ·U3U2AU2U3 · · ·Uk =

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

Page 383: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonalaAvand in vedere faptul ca reflectorul elementar Uk+1 are structura

Uk+1 =

[Ik 00 Uk+1

],

unde Uk+1 = In−k −uk+1uT

k+1

βk+1, uk+1 ∈ Rn−k , este un reflector

elementar de ordin n − k si indice 1, transformarile efectuate lapasul k au ca efect

A← T (k+1) = Uk+1T(k)Uk+1 =

T(k)11 T

(k)12 0

T(k)21 T

(k)22 T

(k)23 Uk+1

0 Uk+1T(k)32 Uk+1T

(k)33 Uk+1

Cum T

(k)23 Uk+1 = (Uk+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 = Uk+1T

(k)33 Uk+1. (12)

Page 384: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonalaI Performantele deosebite privind memoria utilizata si eficienta

calculatorie se datoreaza exploatarii proprietatilor de simetrie.Memorarea economica a matricelor simetrice se face retinandnumai elementele din triunghiul inferior sau superior.

I De asemenea, cand se cunoaste faptul ca rezultatul uneiprocesari este o matrice simetrica, se calculeaza numaielementele sale din triunghiul inferior sau superior.

In consecinta, in (12), vom calcula numai elementele din triunghiulinferior al matricei T33. De asemenea, tinand seama de structuralui Uk+1 si notand, pentru simplificarea scrierii,

uk+1not= u, β

not= βk+1, relatia (12) devine

T(k+1)33 =

(In−k −

uuT

β

)T

(k)33

(In−k −

uuT

β

)= T

(k)33 −

uuT

βT

(k)33 − T

(k)33

uuT

β+

uuTT(k)33 uuT

β.

Page 385: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonala

Notand v =T

(k)33 uβ ∈ Rn−k obtinem

T k+133 = T

(k)33 − u

(vT − uT v

2βuT

)︸ ︷︷ ︸

wT

−(v − uT v

2βu

)︸ ︷︷ ︸

w

uT (13)

= T(k)33 − uwT − wuT .

Aceasta relatie, va fi folosita pentru calculul triunghiului inferior la

matricei A(k + 1 : n, k + 1 : n)← T k+133 = Uk+1T

(k)33 Uk+1.

Page 386: Metode Numerice Curs I Introducere

Reducerea la forma tridiagonala

I Forma tridiagonala simetrica obtinuta constituie punctul deplecare pentru diverse tehnici iterative de calcul a valorilorproprii.

I In cele ce urmeaza, vom considera ca matricea tridiagonalaA← T = TT ∈ Rn×n este memorata numai prin elementelesale semnificative, date de componentele vectorilor f ∈ Rn sig ∈ Rn−1 conform

A← T =

f1 g1 0 · · · 0 0g1 f2 g2 · · · 0 0

0 g2 f3. . . 0 0

......

. . .. . .

. . ....

0 0 0. . . fn−1 gn−1

0 0 0 0 gn−1 fn

Page 387: Metode Numerice Curs I Introducere

Algoritmul TQ

I Aplicarea ideilor mentionate mai sus conduce la AlgoritmulTQ de reducere la forma tridiagonala (vezi C. Popeea et. al.,pag. 317)

I Sintaxa de apel: [f , g ,Q] = TQ(A,Q, opt).

I Utilizarea relatiei (13) reduce efortul de calcul la mai putin dejumatate fata de cazul nesimetric: Nop ≈ 2

3n3, fata de

numarul de flopi 53n

3 necesar pentru reducerea la formaHessenberg in cazul nesimetric.

I Volumul de memorie este M ≈ 3n2/2 locatii, necesar pentrumemorarea elementelor triunghiului inferior al matricei A.

Page 388: Metode Numerice Curs I Introducere

Faza iterativa

Etapa iterativa a algoritmului QR simetric beneficiaza deimportante simplificari calculatorii care se datoreaza, in principal,conservarii simetriei matricei initiale la transformari ortogonale deasemanare si constau in:

I conservarea structurii tridiagonale la transformarile implicatede iteratiile QR; in consecinta, toate transformarile aferentesirului QR se pot desfasura in locatiile de memorie alevectorilor f si g ;

I valorile proprii ale unei matrice simetrice reale fiind reale,nusunt necesare deplasari complexe si, prin urmare, nu estenecesara strategia pasilor dubli.

Vom folosi aceste observatii in vederea elaborarii unui algoritm QRsimetric cat mai performant.

Page 389: Metode Numerice Curs I Introducere

Algoritmul QR cu deplasare explicitaPresupunem matricea simetrica tridiagonala T ∈ rsetn×n data prinvectorii f si g . Algoritmul QR simetric cu deplasare explicitaconstruieste un sir de matrice tridiagonale, ortogonal asemenea

T = T1,T2, · · · ,Tk ,Tk+1, · · ·pe baza relatiei de recurenta{

T − µIn = QR

T ← T ′ = RQ + µIn, (14)

unde T este matricea curenta din sirul definit, iar indicele ′

marcheaza matricea succesor. Deplasare µ se poate alegere

µ = tnn = fn

sau, si mai eficient, egala cu valoarea proprie, intotdeauna reala,cea mai apropiata de tnn, a blocului 2× 2 din coltul dreapta jos almatricii curente T

T (n − 1 : n, n − 1 : n) =

[fn−1 gn−1

gn−1 fn

].

Page 390: Metode Numerice Curs I Introducere

Algoritmul QR cu deplasare explicita

Deplasarea din cea de-a doua varianta, numita deplasareWilkinson, are expresia

µ =1

2

(fn−1 + fn − sgn (fn−1 − fn)

√(fn−1 − fn)2 + 4g2

n−1

)si se calculeaza economic cu relatiile

α =fn−1 − fn

2, β = g2

n−1, µ = fn −β

sgn(α)√α2 + β

.

I Se poate arata ca pentru deplasarile analizate, in partea”finala“ a sirului se obtine o convergenta cubica a sirului QRsimetric catre o structura diagonala;

I Structura tridiagonala recomanda utilizarea rotatiilor;

Page 391: Metode Numerice Curs I Introducere

Algoritmul QR cu deplasare explicita

Un pas simplu QR simetric cu deplasare explicita (fara acumulareatransformarilor) este expus in C. Popeea et. al. (pag. 320), informa Algoritmului IT Qrsim;

I Sintaxa de apel: [f,g,c,s] = IT QRsim(f,g)

I Executia unui pas QR simetric cu deplasare explicita necesitaNop ≈ 20n flopi.

Page 392: Metode Numerice Curs I Introducere

Exemplu

Consideram matricea tridiagonala simetrica

T =

1 1 01 2 10 1 1

definita de vectorii f = [1 2 1]T si g = [1 1]T , cu valorileproprii Λ(T ) = {0, 1, 3}.

Iterarea bruta (i.e. fara supravegherea si anularea elementelorneglijabile) a algoritmului IT QRsim conduce la urmatoareaevolutie a vectorilor g si f .

Page 393: Metode Numerice Curs I Introducere

Date numerice privind evolutia elementelor vectorului g

k g(k)1 g

(k)2

1 1.00000000000000 1.000000000000002 0.85065080835204 - 0.525731112119133 0.08564664424607 - 0.000006295417174 0.02859558021545 0.000000000000005 0.00953359280112 - 0.000000000000006 0.00317792845516 0.000000000000007 0.00105931186244 0...

......

10 0.00003923378367 0...

......

15 0.00000016145590 0...

......

25 0.00000000000273 0

Page 394: Metode Numerice Curs I Introducere

Date numerice privind evolutia elementelor vectorului f

k f(k)

1 f(k)

2 f(k)

3

0 1.00000000000000 2.00000000000000 1.000000000000001 2.61803398874990 1.00000000000000 0.381966011250112 2.96739091997935 1.02821618974253 0.004474718259543 2.99632557546692 1.00367442449350 0.000000000039584 2.99959106278125 1.00004544572851 0.000000000000005 2.99995455427149 1.00004544572851 0.00000000000000...

......

...10 2.99999999923036 1.00000000076964 0.00000000000000...

......

...15 2.99999999999999 1.00000000000000 0.0000000000000016 3.00000000000000 1.00000000000000 0.00000000000000...

......

...25 3.00000000000000 1.00000000000000 0.00000000000000

Page 395: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

I Consideram important sa subliniem faptul ca, spre deosebirede cazul real nesimetric, aici utilizarea variantei cu deplasareimplicita nu aduce un spor de eficienta fata de varianta cudeplasare explicita. Preferinta pentru deplasarea implicita estejustificata prin dorinta asigurarii unei tratari omogene aproblemelor de calcul ale valorilor proprii.

I Varianta cu deplasare implicita a algoritmului QR simetric arela baza teorema conform careia transformarea ortogonala deasemanare definita de un pas QR simetric cu deplasareexplicita pentru o matrice tridiagonala ireductibil (i.e. cutoate elementele subdiagonale nenule)

T ← T ′ = QTTQ

este determinata de prima coloana a matricei Q.

Page 396: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

La fel ca in cazul nesimetric, un pas QR simetric cu deplasareimplicita va consta din urmatoarele transformari:

1. Se calculeaza prima coloana q1 a matricei de transformare Qdin pasul QR simetric cu deplasare explicita.

2. Se determina o rotatia P12 astfel incat P12e1 = q1.

3. Se calculeaza matricea T ← PT12TP12 in care este alterata

structura tridiagonala in pozitiile (3, 1), (1, 3) dar se conservasimetria.

4. Se reface structura tridiagonala prin transformari ortogonalede asemanare, utilizand o secventa de rotatii plane (oadaptare a algoritmului TQ).

In acest fel, se obtine o matrice succesor ortogonal asemenea cumatricea initiala, tridiagonala, simetrica si cu prima coloana amatricei de transformare identica cu prima coloana a matricei detransformare din pasul QR simetric cu deplasare explicita.

Page 397: Metode Numerice Curs I Introducere

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, atuncideplasarea µ nu este valoare proprie a lui T (demonstrati!) si,prin urmare, matricea T − µIn si matricea triunghiulara Rsunt nesingulare. Din egalarea primelor coloane ale primeirelatii din (14) obtinem

q1 =1

r11

t11 − µt21

0...0

=1

r11

f1 − µg1

0...0

Denumim vectorul w =

[f1 − µg1

]∈ R2 vector de deplasare

implicita aferent unui pas QR simetric.

Page 398: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

2. Elementele rotatie P12 pot fi furnizate de function Gr aplicatavectorului w .

3. Se vede imediat ca(PT

12TP12)(3, 1) = (PT12TP12)(1, 3) = −s1g2 6= 0 i.e. aplicare

transformarii ortogonale definite de P12 altereaza structuratridiagonala a matricei T in pozitiile mentionate.

4. Pentru refacerea structurii tridiagonale - un invariant al siruluiQR simetric - se aplica algoritmul TQ. Concret, se utilizeaza osecventa de rotatii care elimina elementele nenule din afarastructurii tridiagonale, prin deplasarea lor de-a lungul unortrasee paralele cu diagonala principala, conform urmatoareischeme:

Page 399: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

1. Pentru k = 2 : n − 1

1. Se calculeaza rotatia Pk,k+1 astfel incat

(PTk,k+1T )(k + 1, k − 1) = 0

2. T ← PTk,k+1T %Se anuleaza elementul (k + 1, k − 1) si

se altereaza (pentru k < n − 1) zeroul

din pozitia (k , k + 2)

3. T ← TPk,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)

Page 400: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

Pentru exemplificare, prezentam evolutia structurala a matricei Tin cazul n = 5.

T ← PT12T =

× × + 0 0× × × 0 00 × × × 00 0 × × ×0 0 0 × ×

,

T ← TP12 =

× × × 0 0× × × 0 0+ × × × 00 0 × × ×0 0 0 × ×

Page 401: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

T ← PT23T =

× × × 0 0× × × + 0∅ × × × 00 0 × × ×0 0 0 × ×

,

T ← TP23 =

× × ∅ 0 0× × × × 00 × × × 00 + × × ×0 0 0 × ×

Page 402: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

Pentru exemplificare, prezentam evolutia structurala a matricei Tin cazul n = 5.

T ← PT34T =

× × 0 0 0× × × × 00 × × × +0 ∅ × × ×0 0 0 × ×

,

T ← TP34 =

× × 0 0 0× × × ∅ 00 × × × ×0 0 × × ×0 0 + × ×

Page 403: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

Pentru exemplificare, prezentam evolutia structurala a matricei Tin cazul n = 5.

T ← PT45T =

× × 0 0 0× × × 0 00 × × × ×0 0 × × ×0 0 ∅ × ×

,

T ← TP45 =

× × 0 0 0× × × 0 00 × × × ∅0 0 × × ×0 0 0 × ×

Page 404: Metode Numerice Curs I Introducere

Un pas QR simetric cu deplasare implicita

I Un pas QR simetric cu deplasare Wilkinson implicita esteimplementat sub forma Algoritmului IT QRsim in C. Popeeaet. al. (pag. 325);

I Sintaxa de apel: [f , g , c , s] = IT QRsim(f , g).

I Complexitatea unei iteratii QR simetrice cu deplasare implicitaeste O(n), pentru executia algoritmului IT QRsim fiindnecesari Nop ≈ 20n flopi.

Page 405: Metode Numerice Curs I Introducere

Algoritmul QR simetric pentru matrice reale simetriceI Algoritmul QR simetric se obtine prin iterarea algoritmului

IT QRsim, anularea efectiva a elementelor nediagonaledevenite neglijabile si exploatarea structurala.

I Conditia de anulare a elementelor extradiagonale, este

|gk | ≤ tol(|fk |+ |fk+1|),

unde scalarul real tol defineste nivelul de toleranta.

I Pentru gestionarea evolutiei structurale, se va determina celmai mic intreg p si cel mai mare intreg q , astfel incatmatricea tridiagonala curenta din sirul QR simetric sa aibastructura

T =

T11 0 00 T22 00 0 T33

,cu T11 ∈ Rp×p,T22 ∈ R(n−p−q)×(n−p−q) tridiagonalaireductibila si T33 ∈ Rq×q diagonala, i.e.g(p + 1 : n, n − q) 6= 0, g(n − q + 1 : n − 1) = 0.

Page 406: Metode Numerice Curs I Introducere

Algoritmul QR simetric pentru matrice reale simetrice

I Algoritmul QR simetric cu deplasari Wilkinson implicite estedat sub denumirea algoritmului QRsim in C. Popeea et. al.(pag. 327);

I Sintaxa de apel: [f ,Q] = QRsim(A,Q, tol , opt).

I Algoritmul QR simetric reprezinta cel mai bun instrumentnumeric de calcul al intregului spectru al unei matricesimetrice reale.

I Complexitatea algoritmului QR simetric: Nop = 4n3

3 ,faraacumularea transformarilor, si respectiv, Nop = 9n3, cuacumularea transformarilor.

I Spre deosebire de cazul nesimetric, se poate afirma caeroarea absoluta pentru fiecare valoare proprie calculataeste ”mica“, i.e. |λi − fi | ≈ tol‖A‖2.

Page 407: Metode Numerice Curs I Introducere

Aplicatie: analiza componentelor principaleAnaliza componentelor principale (principal componentanalysis - PCA) reprezinta o procedura statistica ce realizeaza,prin transformari ortogonale, conversia unui set de date (ale unorvariabile posibil corelate) de mari dimensiuni intr-un set de date dedimensiuni mai mici (cu valori liniar necorelate), numitecomponente principale.I Transformarea este realizata astfel incat prima componenta

principala are cea mai mare variabilitate posibila (explicavariatia cea mai mare a datelor).

I Componentele principale sunt ortogonale, deoarece reprezintavectorii proprii ai matricii (simetrice) de covarianta.

Page 408: Metode Numerice Curs I Introducere

Analiza componentelor principaleConsideram un set de N date xi ∈ Rn cu dimensiunea n mare.Cream matricea de date

X =

xT1

· · ·xT

N

∈ RN×n

I construim matricea de covarianta (matrice simetrica):

C = XTX ∈ Rn×n

I matricea C = XTX este simetrica, deci diagonalizabila

C = XTX = VΛV T ⇐⇒ (XTX )V = VΛ ⇐⇒ (XTX )vi = λivi

unde V = [v1 · · · vn] este matrice ortogonala ⇐⇒ vectoriiproprii (v1 · · · vn) sunt ortogonali si formeaza o baza a lui Rn

I stim ca orice vectore x ∈ Rn poate fi scris in baza Euclideanastandard a lui Rn ca:

x =n∑

i=1

xiei unde xi = 〈x , ei 〉

Page 409: Metode Numerice Curs I Introducere

Analiza componentelor principaleConsideram un set de N date xi ∈ Rn cu dimensiunea n mare.I stim ca orice vector x ∈ Rn poate fi scris in baza Euclideana

standard a lui Rn ca:

x =n∑

i=1

xiei unde xi = 〈x , ei 〉

I matricea de covarianta C = XTX este diagonalizabila

C = XTX = VΛV T ⇐⇒ (XTX )vi = λivi

unde V = [v1 · · · vn] este matrice ortogonala ⇐⇒ vectoriiproprii (v1 · · · vn) sunt ortogonali si formeaza o baza a lui Rn

I putem astfel reprezenta un vector x ∈ Rn si in baza ortogonala(v1 · · · vn) ca (consideram ordinea λ1 ≥ λ2 ≥ · · · ≥ λn):

x =n∑

i=1

〈x , vi 〉vi

〈x , v1〉 reprezinta scorul (proiectia) lui x pe primacomponenta principala v1, 〈x , v2〉 scorul lui x pe a douacomponenta principala v2, etc...

Page 410: Metode Numerice Curs I Introducere

Analiza componentelor principaleI reprezentam un vector x ∈ Rn in doua moduri:

x =n∑

i=1

xiei vrs. x =n∑

i=1

〈x , vi 〉vi

I trebuie sa memoram n scalari xi vrs. n produse scalare 〈x , vi 〉(numite scoruri) si vi numite componente principale

I deci memoram matricea de date X ∈ RN×n vrs matricea dedate T = XV ∈ RN×n (numita adesea matricea de scoruri):

X =

x11 · · · xn

1

· · ·x1

N · · · xnN

vrs T = XV =

〈x1, v1〉 · · · 〈x1, vn〉· · ·

〈xN , v1〉 · · · 〈xN , vn〉

Page 411: Metode Numerice Curs I Introducere

Analiza componentelor principalePCA este o transformare liniara or-togonala ce aduce datele intr-un nousistem de coordonate, a.i. variantamaxima obtinuta prin proiectii aledatelor se afla pe prima coordonatat1i = 〈xi , v1〉 (numita scorul pe prima

componenta principala v1), a douacea mai mare varianta pe a doua co-ordonata t2

i = 〈xi , v2〉, s.a.m.d.Transformarea este definita de vectorii de ponderi vi ∈ Rn cemapeaza fiecare linie xi a lui X intr-un nou vector de scoruriti ∈ Rn, unde tk

i = 〈xi , vk〉, astfel incat componentele lui ti (inraport cu setul de date) mostenesc succesiv varianta maximaposibila de la xi , cu vectorii de ponderi (componente principale) vi

pe sfera unitate. Prima componenta principala v1 satisface:

v1 = arg max‖v‖=1

∑i

(t1i )2 = arg max

‖v‖=1

∑i

(xTi v)2 = arg max

‖v‖=1‖Xv‖2.

i.e. vectorul propriu corespunzator val. proprii maxime a lui XTX !

Page 412: Metode Numerice Curs I Introducere

Reducerea dimensiuni datelor via PCAI reprezentam un vector x ∈ Rn in doua moduri:

x =n∑

i=1

xiei vrs. x =n∑

i=1

〈x , vi 〉vi

I memoram n scalari xi vrs. n scoruri 〈x , vi 〉I in anumite situatii exista r � n a.i. x ≈

∑ri=1〈x , vi 〉vi

I in figura din dreapta am plotat∑ri=1 λi∑ni=1 λi

∈ [0, 1] ∀r = 1 : n

si observam ca deja primele 50 de componente principalecontine 90% din informatie

Page 413: Metode Numerice Curs I Introducere

Reducerea dimensiuni datelor via PCAI reprezentam un vector x ∈ Rn in doua moduri:

x =n∑

i=1

xiei vrs. x =n∑

i=1

〈x , vi 〉vi

I in anumite situatii matricea de date X ∈ RN×n se aproximeazarezonabil cu matricea de date cu dimensiune redusaTr = XVr ∈ RN×r , unde r � n si Vr = [v1 · · · vr ] ∈ Rn×r

I in figura din dreapta am plotat suma cumulativa a valorilorproprii si observam ca deja primele 50 de componenteprincipale contine 90% din informatie

Deci noile date de dimensiune redusa r se gasesc in matricea Tr !

Page 414: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCAEigenfaces reprezinta numele colectiei de vectori proprii pentruaplicatiile din domeniile vederii artificiale si recunoasterii portretelorumane. Strategia ce foloseste Eigenfaces pentru recunoastere afost dezvoltata de Sirovich si Kirby (1987).I Vectorii proprii sunt derivati din matricea de covarianta a

distributiei de probabilitate peste spatiul vectorial al imaginilorde portrete.

I Eigenfaces formeaza o baza a imaginilor ce construiescmatricea de covarianta (vectorii proprii vi ).

I Clasificarea se realizeaza prin compararea reprezentarilor inbaza Eigenfaces: v1 · · · vn.

Page 415: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCAConsideram o baza de date de 40 persoane, fiecare avand 10 pozecu fetele lor. In total sunt 400 poze de dimensiune 64× 64 pixeli.

I convertim fiecare imagine intr-un vector de dim. n = 642 siconstruim matricea de date X ∈ R400×n

Page 416: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCAConsideram 40 persoane, fiecare avand 10 poze cu fetele lor. Intotal sunt N = 400 poze de dimensiune 64× 64 pixeli.

I convertim fiecare imagine intr-un vector de dim.n = 642 = 4096 si construim matricea de date X ∈ RN×n

I centram datele eliminand fata medie (average face). Astfel,pentru matricea X de mai sus se calculeaza media aritmeticapentru fiecare coloana (in figura am reprezentat fata medie):

mean =1

N

N∑i=1

xi → xi = xi −mean ∀i = 1 : N

I se construieste matricea de date centrate X ∈ RN×n si apoimatricea de covarianta C = XT X

Page 417: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCAI dupa ce se construieste matricea de date centrate

X ∈ R400×4096 si apoi matricea de covarianta C = XT X secalculeaza vectorii si valorile proprii ale lui C = VΛV T

I observam ca V = [v1 · · · vn] ∈ R4096×4096, cu vi vectori propriide dimensiune 4096 pot fi interpretati ca niste poze (in figuraam reprezentarea primelor 20 de coloane din V : v1 · · · v20):

I vectorii proprii vi se numesc eigenfaces (de laeigenvectors)

I se defineste matricea de scoruri

T = XV ∈ R400×4096

Page 418: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCAI vectorii proprii vi se numesc eigenfacesI se defineste matricea de scoruri

T = XV ∈ R400×4096

I putem reconstruie oricare imagine din matricea de date X ,folosind reprezentarea

x = mean +n∑

i=1

〈x , vi 〉vi

= mean + 45.43v1 + 6.41v2 − 17.07v3 + 29.88v4 + 22.34v5 + · · ·I in figura prima imagine este cea originala iar cea dea doua

este construita cu primele 5 eigenfaces

Page 419: Metode Numerice Curs I Introducere

Recunoastere faciala folosind PCADaca matricea C = XT X are dimensiuni mari (in cazul nostru4096), realizam descompunerea pentru X XT care are doardimensiunea 400 si pre-multiplicam cu XT :

XT X XTui = λi XTui .

I Daca ui ∈ R400 este vector propriu al matriciiX XT ∈ R400×400, atunci vi = XTui ∈ R4096 este vectorpropriu al matricii C = XT X .

I Se determina componentele principale (vectorii proprii aimatricii C) prin operatii cu matricea de dimensiuni mult maireduse X XT ∈ R400×400.

I Clasificarea imaginilor de portrete se realizeaza prin proiectiaimaginii de test x = x −mean pe eigenfaces, calculareascorurilor, (vectorii proprii obtinuti din pasii anteriori), simasurarea diferentelor dintre aceste proiectii (scoruri) siproiectiile (scorurile) imaginilor de antrenare.

I ∗ = arg mini=1:N

‖xTV − xTi V ‖ = arg min

i=1:N‖xTV − T (i , :)‖

Page 420: Metode Numerice Curs I Introducere

Metode Numerice

Curs VIDescompunerea valorilor singulare

Ion Necoara

2020

Page 421: Metode Numerice Curs I Introducere

Descompunerea valorilor singulare

Descompunerea valorilor singulare (DVS) joaca un rol fundamentalin evidentierea unor proprietati legate de rang matriceal!

Calculul DVS este bazat pe ortogonalitate ⇒ proprietati numericeremarcabile pentru toate aplicatiile ce apeleaza DVS!

O multitudine de aplicatii pot fi rezolvate cu DVS: de la tendintelede vot ale parlamentarilor, la procesarea de imagine! DVS reduceeficient sisteme cu date masive la probleme mai mici, prineliminarea informatiei redundante si retinerea datelor importante(critice).

Page 422: Metode Numerice Curs I Introducere

Istoric - DVSDescoperirea DVS-ului este atribuita multor matematicieni:Beltrami, Jordan, Sylvester, Schmidt si Weyl:

I Beltrami: a derivat prima data DVS-ul (1873). Dar nuacoperea cazuri degenerate.

I Jordan a descoperit independent, un an mai tarziu, DVS-ul.Demonstratia lui era mai eleganta (se baza pe deflatie) siacoperea cazuri degenerate.

I Sylvester descoperea independent de Beltrami DVS-ul (dupa15 ani), propunand o abordare iterativa pentru reducerea uneiforme patratice la o forma diagonala.

I Schmidt a derivat teorema de aproximare: utila, cand sedoreste aproximarea unei matrici cu alta matrice de rangspecificat. Aceasta teorema este atribuita incorect luiEckhart-Young, deoarece acestia au demonstrat-o 30 de animai tarziu decat Schmidt.

I Totusi,DVS-ul a fost utilizat cu success in aplicatii odata cualgoritmul numeric a lui Golub din anii 1960!

Page 423: Metode Numerice Curs I Introducere

Descompunerea valorilor singulare - formulareTeorema: Pentru A ∈ Rm×n exista matricele ortogonaleU ∈ Rm×m si V ∈ Rn×n si r = rang(A) a.i.:

UTAV = Σ =

[Σ1 00 0

],

unde Σ ∈ Rm×n, a.i. Σ1 = diag(σ1, · · · , σr ) ∈ Rr×r si consideramordonarea valorilor singulare σ1 ≥ σ2 ≥ · · · ≥ σr > 0.

I Expresia A = UΣV T s.n. descompunerea valorilor singulare,iar numerele nenegative σi s.n. valori singulare.

I Coloanele matricei ortogonale U s.n. vectori singulari lastanga, iar coloanele lui V s.n. vectori singulari la dreapta.

I Conexiune: in cazuri patratice (A ∈ Rn×n) speciale avemdiagonalizarea: A = V diag(λi )V

T , cu V ortogonala!

Consecinta: Orice matrice poate fi scrisa ca suma de produseexterne de vectori singulari ponderate cu valorile singulare:

A =r∑

i=1

σiuivTi (cu uiv

Ti componente principale)

Page 424: Metode Numerice Curs I Introducere

Aplicatia I - compresia semnalelor

Video, sunet sau imagine, depind de marime si rezolutie, si decipot ocupa mult spatiu pentru a le stoca sau transmite. E.g.,compresia de imagine se imparte in 2 clase: lossless si lossy.

I compresia lossless: toata informatia fisierului original poate firecuperata dupa decompresie (formatul GIF este un exemplu),important in documente text unde pierderea de informatieduce la imposibilitarea citirii textului.

I compresia lossy: informatia redundanta este permanentstearsa (formatul JPEG este un exemplu), important infisiere,unde o pierdere de informatie mica este imposibil dedetectat de om.

Exista multe posibilitati de compresie a semnalelor, dar avantajuloferit de DVS consta in flexibilitatea sa, deoarece poate actiona peorice matrice de dimensiune m × n.

Page 425: Metode Numerice Curs I Introducere

Aplicatia I - compresia imaginilorFie imaginea originala 359×371 pixeli (Melancolia de Durer, 1514):

pe care o putem scrie ca o matrice A de dimensiune 359× 371(fiecare intrare (i , j) reprezinta intensitatea de gri a pixelului (i , j)cu valori intre 0 (negru) si 255 (alb)), care poate fi descompusa viaDVS ca:

A = UΣV T ,

unde U este 359× 359, Σ este 359× 371 si V este 371× 371.

Page 426: Metode Numerice Curs I Introducere

Aplicatia I - compresia imaginilorImaginea originala are 359×371 = 133.189 pixeli. Dar matricea Apoate fi scrisa ca suma de componente principale:

A = σ1u1vT1 + σ2u2v

T2 + · · ·+ σnunv

Tn ,

unde fiecare matrice uivTi (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 ocompresie semnificativa a imaginii,atat timp cat spectrul valorilorsingulare are doar cateva intrari mari si restul sunt mici!

Spectrul lui A contine doar 100− 200 componente principale max.!

Page 427: Metode Numerice Curs I Introducere

Aplicatia I - compresia imaginilorPutem deci reconstrui,fidel,imaginea, folosind doar o submultimede componente principale. De exemplu, putem recupera o imagineasemenatoare cu doar 20 de componente principale folosindcomenzile 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:

20× 359 + 20× 371 + 20 = 14.620 vs. 359× 371 = 133.189 pixeli

Page 428: Metode Numerice Curs I Introducere

Aplicatia I - compresia imaginilor

Putem recupera o imagine fidela cu doar 200 de componenteprincipale, 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)

Page 429: Metode Numerice Curs I Introducere

Aplicatia I - compresie tigruConsideram o imagine originala 500× 800 pixeli de rang 500.I dispunerea valorilor singulare - prima figura (scala log).I putem observa (figura din dreapta) cata informatie este

detinuta in primele p valori singulare, facand raportul:

informatie % =

∑pi=1 σi∑500i=1 σi

.

In primele 50 valori singulare avem deja 70% din informatia aflatain imagine!

Page 430: Metode Numerice Curs I Introducere

Aplicatia I - compresie tigruDesi imaginea originala are 500× 800 pixeli, putem recupera oimagine fidela cu doar 50 de componente principale (10%)

Page 431: Metode Numerice Curs I Introducere

Aplicatia I - codul Matlab pt. compresie tigruI % citeste imaginea si transform-o in negru si alb:

tiger = rgb2gray(imread(tiger.jpg));I % resample imaginea:

tiger = im2double(imresize(tiger, 0.5));I % calculeaza DVS-ul imaginii:

[U, S ,V ] = svd(tiger);I % reprezinta valorile singulare (scala log) si informatie %:

sigmas = diag(S); plot(log(sigmas));plot(cumsum(sigmas)/sum(sigmas));

I % arata imaginea originala:imshow(tiger);

I % calculeaza aproximarile de rang mai mic:ranks = [200, 100, 50, 30, 20, 10, 3]; ns = length(sigmas);for i = 1:length(ranks)approxsigmas = sigmas; approxsigmas(ranks(i) : end) = 0;approxS = S ; approxS(1 : ns, 1 : ns) = diag(approxsigmas);

I % calculeaza matricele de rang mai mic si ploteaza:approxtiger = U approxS V ; imshow(approxtiger )

Page 432: Metode Numerice Curs I Introducere

Aplicatia I - compresie Lena

Desi imaginea originala (faimoasa si frumoasa Lena :)) are600× 600 pixeli, putem recupera o imagine fidela cu doar 30 decomponente principale (20% din datele imaginii originale):

Page 433: Metode Numerice Curs I Introducere

Aplicatia II: matrix completionI se da o matrice X cu elemente lipsa (e.g. o imagine)I se presupune ca matricea X este de rang scazutI scopul este sa se gaseasca elementele lipsa din XI pentru a impune rang mic asupra unei matrici se foloseste

nuclear norm ‖ · ‖∗: daca A are descompunerea DVSA =

∑ri=1 σiuiv

Ti , atunci ‖A‖∗ =

∑ri=1 σi

I problema se pune astfel:

minX∈Rm×n

rang(X )︷︸︸︷=⇒

relaxare convexamin

X∈Rm×n‖X‖∗

s.l.: Xij = Aij ∀i , j ∈ S s.l.: Xij = Aij ∀i , j ∈ S

unde se dau valorile Aij cu (i , j) ∈ S o submultime aelementelor matricei cautate

I relaxarea convexa se poate scrie ca un SDP:

minX ,W1,W2

tr(W1) + tr(W2)

s.l.: Xij = Aij ∀i , j ∈ S ,

[W1 XXT W2

]� 0

Page 434: Metode Numerice Curs I Introducere

Aplicatia II: matrix completion cu aplicare in recuperareade imagine

imaginea data (40% elemente lipsa) si imaginea recuperata

Page 435: Metode Numerice Curs I Introducere

Aplicatia III - votul parlamentarilorDVS poate fi folosit ca instrument de data-mining cu privire lafelul cum voteaza reprezentantii in Congress pe anumite legi (veziThe Extraordinary SVD, Martin & Porter):

I definim o matrice a votului, A, in care fiecare linie reprezintaun congressman, si fiecare coloana o lege votata de Congress.

I o intrare in aceasta matrice Aij ia valoarea +1 dacacongressman-ul i a votat legea j , si −1 daca nu a votat-o.

I consideram DVS-ul: A = UΣV T si o aproximare a sa de ordink data de: Ak =

∑ki=1 σiuiv

Ti .

I gruparea care are cea mai mare suprapunere, in termeni devarianta, cu grupurile care sustin sau nu fiecare lege este datde primul vector singular la stanga (u1), urmatoarea cea maimare data de u2, etc.

Modul de votare a unui congressman poate fi caracterizat de douacoordonate, deci A2 este o buna aproximare a lui A. A2 da douacordonate: partisan coordinate si bipartisan coordinate.

Page 436: Metode Numerice Curs I Introducere

Aplicatia III - votul parlamentarilor

Al 107-lea Senat (2001-–2002): partisan coordinate reprezintaafilierea de partid si bipartisan coordinate reprezinta cat de des uncongressman voteaza cu majoritatea:

Aproape toti parlamentarii asociati unui partid sunt impreuna sicomplet separati de celalalt partid (cu exceptia catorva moderati).

Page 437: Metode Numerice Curs I Introducere

Aplicatia IV - simplificare model

Simplificare model:

I fie modelul y = Ax + ε, unde:

I A ∈ R100×30 are valorile singulare σi :10, 7, 2, 0.5, 0.01, · · · , 0.0001

I presupunem ‖x‖ ≤ 1 si zgomotul ε are norma mai mica decat0.1

I atunci termenii σiuivTi x sunt mai mici decat ε pentru i ≥ 5

• modelul simplificat:

y =

(4∑

i=1

σiuivTi

)x + ε

i.e. descris de o matrice de rang 4, nu rang 30!

Page 438: Metode Numerice Curs I Introducere

Aplicatia V - “radicalul” unei matrice

Fie A o matrice simetrica, pozitiv semidefinita (i.e. xTAx ≥ 0 ∀x).Atunci definim radicalul acestei matrici, A1/2, ca matriceasimetrica ce satisface:

A1/2 A1/2 = A.

Putem calcula A1/2 folosind DVS-ul lui A:

I cum A este pozitiv semidefinita, avem DVS-ul: A = VΣV T ,i.e. U = V , cu Σ = diag(σ1, · · · , σn) si σi ≥ 0 ∀i .

I definim radicalul A1/2, matricea simetrica:

A1/2 = VΣ1/2V T ,

unde Σ1/2 = diag(σ1/21 , · · · , σ1/2

n ).

I este clar ca A1/2 = VΣ1/2V T este simetrica si pozitivsemidefinita (si deci este generalizarea radicalului unui numarreal ne-negativ)!

Page 439: Metode Numerice Curs I Introducere

Aplicatia VI - sampling din distributie normala

Distributia normala de medie µ ∈ Rn si covarianta K � 0 (i.e.N (µ,K )) are functia de probabilitate definita astfel:

x ∼ N (µ,K ) =1

(2πdet(K ))n/2e−

12

(x−µ)TK−1(x−µ).

Cum facem sampling din N (µ,K ) in Matlab?

I generam un vector u ∈ Rn, cu uj i.i.d. N (0, 1).

I calculam radicalul matricei K , i.e. K 1/2 si definim apoivectorul d = K 1/2u.

I atunci x = µ+ d , este un sampling din N (µ,K ).

Dem. Observam ca E [d ] = 0 si apoi covarianta lui d este:

E [ddT ] = E [K 1/2uuTK 1/2] = K 1/2E [uuT ]K 1/2 = K 1/2InK1/2 = K .

Page 440: Metode Numerice Curs I Introducere

Descompunerea valorilor singulare (DVS) si rangDef.: Rangul r al matricei A ∈ Rm×n este numarul maxim decoloane liniar independente din A, sau echivalent:

r = rangA = dim(ImA).

Cum rangA = rangAT , numarul de coloane sau linii liniarindependente intr-o matrice este acelasi. Deci rangul lui A estedimensiunea maxima a unei submatrice inversabile A(I , J) a lui A.

Teorema: Daca A ∈ Rm×n, atunci exista matricele ortogonaleU ∈ Rm×m si V ∈ Rn×n a.i.

A = UΣV T ,

unde Σ ∈ Rm×n este o matrice diagonala

Σ = diag(σ1, · · · , σmin(m,n))

cu σ1 ≥ σ2 ≥ · · · ≥ σmin(m,n) ≥ 0 valorile singulare. Coloanele luiU si V s.n. vectori singulari la stanga si respectiv dreapta.

Observatie: avem σr > 0 si σi = 0 ∀i = r + 1, · · · ,min(m, n).

Page 441: Metode Numerice Curs I Introducere

DVS

Demonstratie: Reamintim definitia normei spectrale (norma 2):

‖A‖2 = max‖x‖2=1

‖Ax‖2.

Pasul 1 : Deci exista v1, cu ‖v1‖2 = 1, a.i. ‖A‖2 = ‖Av1‖2.Definim si vectorul u1 = Av1

‖Av1‖2, deci ‖u1‖2 = 1. Construim

matricele ortogonale:

U1 = [u1 U1] si V1 = [v1 V1].

Obtinem:

Σ1 = UT1 AV1 =

[uT1 Av1 uT1 AV1

U1Av1 U1AV1

]=

[σ1 wT

0 B1

]unde am utilizat σ1 = uT1 Av1 = ‖A‖2,w

T = uT1 AV1 siUT

1 Av1 = UT1 u1‖Av1‖2 = 0, deoarece U1 matrice ortogonala si

deci avem u1 ⊥ U1. Vom aratam si ca w = 0.

Page 442: Metode Numerice Curs I Introducere

DVSDemonstratie cont.: Aratam si ca w = 0. Mai intai, reamintimca transformarile ortogonale conserva norma 2 pentru vectori simatrici si deci σ1 = ‖A‖2 = ‖Σ1‖2. Apoi:

‖Σ1

[σ1

w

]‖2

2 =‖[σ2

1 + wTwB1w

]‖2

2 =(σ21+wTw)2+‖B1w‖2

2 ≥ (σ21+wTw)2.

Pe de alta parte, datorita consecintei normei spectrale, avem:

‖Σ1

[σ1

w

]‖2

2 ≤ ‖Σ1‖2‖[σ1

w

]‖2

2 ≤ σ21(σ2

1 + wTw).

Combinand ultimele doua relatii, obtinem:

σ21 + wTw ≤ σ2

1 ⇒ w = 0.

Deci

Σ1 = UT1 AV1 =

[σ1 00 B1

].

Page 443: Metode Numerice Curs I Introducere

DVSDemonstratie cont.: la Pasul k presupunem ca am obtinut

Σk−1 = UTk−1 · · ·UT

1 AV1 · · ·Vk−1 =

[Σk−1

1 00 Bk−1

],

unde Σk−11 = diag(σ1, · · · , σk−1) cu ordinea σ1 ≥ · · · ≥ σk−1 > 0.

Daca Bk−1 = 0 atunci r = k − 1 si am terminat. Daca Bk−1 6= 0atunci utilizand aceleasi argumente de la Pasul 1 avem ca existamatricile ortogonale Uk si Vk a.i.

UkBk−1Vk =

[σk 00 Bk

]si σk = ‖Bk−1‖2 > 0.

Extindem la matricile ortogonale Uk = diag(Ik−1, Uk) siVk = diag(Ik−1, Vk) a.i.

Σk = UTk Σk−1Vk =

[Σk

1 00 Bk

],

unde Σk1 = diag(σ1, · · · , σk). Mai trebuie sa aratam ca σk ≤ σk−1.

Page 444: Metode Numerice Curs I Introducere

DVS

Demonstratie cont.: Mai trebuie sa aratam ca σk ≤ σk−1.Aceasta este adevarat, deoarece:

σk−1 = ‖Bk−2‖2 = ‖[σk−1 0

0 Bk−1

]‖2 ≥ ‖Bk−1‖2 = σk .

qed.

Exemplu: matricea A =

[1.6 0.36 0.48−1.2 0.48 0.64

]are valorile singulare

σ1 = 2 si σ2 = 1. Observam de asemenea ca:

[1.6 0.36 0.48−1.2 0.48 0.64

]=

[0.8 0.6−0.6 0.8

] [2 0 00 1 0

]1 0 00 0.6 0.80 0.8 −0.6

.Matricea AT are aceleasi valori singulare.

Page 445: Metode Numerice Curs I Introducere

DVS - interpretare geometrica• Imaginea discului unitate prin transformarea liniara{Ax : ‖x‖ ≤ 1} este elipsoidul cu axele principale σiui :

I rotatie (prin V T )

I alungire dea lungul axelor(prin σi )

I rotatie (prin U)

Corolar: orice matrice A ∈ Rm×n poate fi scrisa ca suma dematrici de rang 1 ponderate cu valorile singulare:

A = UΣV T =r∑

i=1

σi (uivTi ).

Matricele uivTi de rang 1 s.n. componente principale.

Page 446: Metode Numerice Curs I Introducere

DVSDin DVS avem: AV = UΣ si ATU = VΣT si deci

Avj = σjuj si ATuj = σjvj .

Deci coloanele vj (uj) s.n. vectori singulari la dreapta (stanga).

O modalitate de calcul al DVS este data de urmatoarea teorema:Teorema: Valorile singulare nenule σi sunt radacinile patrate alevalorilor proprii nenule ale matricelor pozitiv semidefinite ATA sauAAT , i.e.

σi =√λi ∀i = 1 : r .

Mai mult, vectorii singulari la stanga ui sunt vectorii proprii aimatricei AAT , iar vectorii singulari la dreapta vi sunt vectoriiproprii ai matricei ATA.

Dem.: ATA = VΣTUTUΣV T = VΣTΣV T = V diag(λi )VT .

Rezultat neutilizabil, deoarece necesita construirea lui ATA!

Page 447: Metode Numerice Curs I Introducere

Utilizari ale DVS - 1

† Rangul matriceal: rangul unei matrice este egal cu numarul devalori singulare nenule.

‡ p-normele Schatten: pentru matricea A ∈ Rm×n definim

‖A‖p =

(r∑

i=1

σpi

)1/p

.

• Normele Schatten sunt invariante la tranformari ortogonale.

• Cazuri particulare de norme Schatten:

I norma nucleara: ‖A‖1 = σ1 + · · ·+ σr = ‖A‖∗I norma Frobenius: ‖A‖2 =

√σ2

1 + · · ·+ σ2r = ‖A‖F

I norma spectrala: ‖A‖∞ = σ1 = ‖A‖2

Page 448: Metode Numerice Curs I Introducere

Utilizari ale DVS - 2Pseudoinversa: Pentru matricea A ∈ Rm×n, matricea X ∈ Rn×m

s.n. pseudoinversa lui A daca satisface urmatoarele:

(i) : AXA = A; (ii) : XAX = X ; (iii) : (AX )T =AX ; (iv) : (XA)T =XA.

† Pseudoinversa lui A, cu DVS-ul UΣV T , este data de:

A+ = VΣ+UT , unde Σ+ = diag(σ−11 , · · · , σ−1

r , 0).

‡ Pseudoinversa este unica solutie, de norma Frobenius minima, aproblemei de optimizare:

A+ = arg minX∈Rn×m

‖AX − Im‖F .

†† Drept consecinta DVS-ul pentru A+ este:

A+ =r∑

i=1

σ−1i viu

Ti .

Page 449: Metode Numerice Curs I Introducere

Utilizari ale DVS - 3† Subspatii liniare: pentru A ∈ Rm×n, cu DVS-ul UΣV T , avem:

ImA = ImU(:, 1 : r) si KerAT = ImU(:, r + 1 : m)

ImAT = ImV (:, 1 : r) si KerA = ImV (:, r + 1 : n)

Demonstratie: avem A = U(:, 1 : r)Σ(1 : r , 1 : r)V (:, 1 : r)T si e.g.Σ(1 : r , 1 : r)V (:, 1 : r) este epica. Deci ImA = ImU(:, 1 : r).

‡ Proiectia ortogonala: fie S ⊆ Rn un subspatiu liniar si S⊥

complementul sau ortogonal. O matrice P ∈ Rn×n care satisface:

(i) : Px ∈ S ; (ii) : x − Px ∈ S⊥ ∀x ∈ Rn

s.n. matrice de proiectie ortogonala pe S . Daca coloanele luiV = [v1 · · · vk ] formeaza o baza ortogonala a lui S , atunci

P = VV T ⇒ PT = P, P2 = P, ImP = S .

Exemplu: P1 = U(:, 1 : r)U(:, 1 : r)T = AA+ proiector ortogonalpe ImA, iar P2 = U(:, r + 1 : m)U(:, r + 1 : m)T = Im − AA+

proiector ortogonal pe KerAT .

Page 450: Metode Numerice Curs I Introducere

Tema 2

Fiecare student alege o aplicatie a.i. problema sa utilizeze DVS.Cerinte:

I descrieti in detaliu aplicatia aleasa

I dati formularea matematica si faceti legatura cu DVS

I adaptati algoritmul dat la curs pentru rezolvarea ei

I dati codul Matlab pentru algoritmul implementat

I comparati rezultatele cu functia Matlab svd

I comentati rezultatele obtinute (grafice, tabele)

Vezi exemplele de aplicatii de la curs ce respecta cerintele de maisus.

Page 451: Metode Numerice Curs I Introducere

Algoritmul DVS

Reamintim ca valorile singulare nenule ale unei matrici A ∈ Rm×n

sunt radacinile patrate ale valorilor proprii nenule corespunzatoareunei matrici pozitiv semidefinite ATA sau AAT :

σi =√λi ∀i = 1 : r

Totusi, calculul explicit al matricelor AAT sau ATA poate conduce

la probleme numerice: e.g. pentru matricea A =

1 10.001 0

0 0.001

avem valorile singulare σ(A) = {

√2.000001, 0.001}. Pe de alta

parte, avem ca ATA =

[1.000001 1

1 1.000001

]. In virgula mobila

cu mantisa cu mai putin de 7 cifre zecimale, matricea ATA este

reprezentata ca ATA =

[1 11 1

], avand spectrul λ(A) = {2, 0}, si

deci mult diferit de σ(A) = {√

2.000001, 0.001}.

Page 452: Metode Numerice Curs I Introducere

Algoritmul DVSO metoda mai performanta pentru calculul DVS a fost propusa deGolub in 1965. Acest algoritm evita formarea explicita a lui ATA.I Algoritmul construieste un sir de matrici ortogonal echivalente

cu A (i.e. TAW , cu T si W ortogonale), convergent catre omatrice diagonala.

I Ideea de baza consta in constructia sirului Ak a.i. Bk = ATk Ak

formeaza sirul QR simetric corespunzator matricei B = ATA.

Deci algoritmul este o varianta mascata a algoritmului QRsimetric. El are doua etape:

1. in prima reducem matricea A prin transformari ortogonale deechivalenta la o forma superior bidiagonala J a.i. matriceaT = JT J coincide cu cea produsa de prima etapa aalgoritmului QR simetric aplicat lui B.

2. a doua consta in reducerea iterativa a matricei J la formadiagonala, prin anularea asimptotica a elementelorsupradiagonale, folosind transformari ortogonale ce corespundpasilor alg. QR simetric cu deplasare implicita, aplicati lui B.

Page 453: Metode Numerice Curs I Introducere

Algoritmul DVS - reducerea la forma bidiagonalaTeorema: Fie matricea A ∈ Rm×n. Exista matricele ortogonaleU ∈ Rm×m si V ∈ Rn×n a.i. matricea

J = UTAV este superior bidiagonala.

Demonstratie: Presupunem m ≥ n.Pasul 1 - exista reflectorul U1 a.i. UT

1 A(2 : m, 1) = 0. Existareflectorul V2 (de ordin n si indice 2) a.i. (UT

1 A)V2(1, 3 : n) = 0.Deoarece V2 = diag(1, V2), postmultiplicarea cu V2 a lui UT

1 A nualtereaza zerourile create in prima coloana. Deci matriceaA1 = UT

1 AV2 este superior bidiagonala in prima coloana si linie.

Pasul k - presupunem ca dupa k − 1 pasi matriceaAk−1 = UT

k−1 · · ·UT1 AV2 · · ·Vk este superior bidiagonala in primele

k − 1 coloane si linii. Construim reflectorul Uk = diag(Ik−1, Uk)a.i. UT

k A(k + 1 : m, k) = 0. De asemenea, exista reflectorulVk+1 = diag(Ik , Vk+1) a.i. (UT

k Ak−1)Vk+1(k , k + 2 : n) = 0. Decimatricea Ak = UT

k Ak−1Vk+1 este superior bidiagonala in primele kcoloane si primele k linii. Deci J = Ap = UT

p · · ·UT1 AV2 · · ·Vn−1.

Page 454: Metode Numerice Curs I Introducere

Algoritmul DVS - reducerea la forma bidiagonala

Matricea superior bidiagonala J se poate memora prin vectoriif ∈ Rn si g ∈ Rn−1:

J = UTAV =

f1 g1

f2 g2...

...

... gn−1

fn

I Apelam [f , g ,U,V ] = JQr(A) (vezi algoritmul JQc din carte,

in care inlocuim c (complex) cu r (real)).

I Complexitatea algoritmului este 4mn2 − 43n

3.

Page 455: Metode Numerice Curs I Introducere

Algoritmul DVS - etapa iterativa

In faza iterativa se construieste un sir de matrici superiorbidiagonale

J = J1, J2, · · · , Jk , · · ·

convergent catre Σ = diag(σ1, · · · , σmin(m,n)) a.i. sirul matriceal

T1 = JT1 J1, T2 = JT2 J2, · · · ,Tk = JTk Jk , · · ·

este sirul QR simetric cu deplasare implicita convergent catreforma Schur ΣTΣ a matricei tridiagonale simetrice T = T1.

Un pas QR simetric cu deplasare implicita presupune transformarileprezentate mai jos. Prezentam efectele acestor transformari lanivelul vectorilor f si g , care definesc matricea superior bidiagonalaJ, evidentiind astfel ideile unui pas DVS Golub.

Page 456: Metode Numerice Curs I Introducere

Algoritmul DVS - un pas DVS in faza iterativa

1. Calculul deplasarii: µ = tnn = g2n−1 + f 2

n . Folosim deplasareaWilkinson data de valoarea proprie cea mai apropiata detnn = (JT J)nn a urmatoarei matrice:

T (n − 1 : n, n − 1 : n) =

[g2n−2 + f 2

n−1 fn−1gn−1

fn−1gn−1 g2n−1 + f 2

n

]=

[α ββ γ

].

Daca folosim notatiile:

δ =g2n−2 + f 2

n−1 − g2n−1 − f 2

n

2, η = f 2

n−1g2n−1,

atunci deplasarea Wilkinson are urmatoarea expresie:

µ = g2n−1 + f 2

n +η

δ + sgn(δ)√δ2 + η

.

Page 457: Metode Numerice Curs I Introducere

Algoritmul DVS - un pas DVS in faza iterativa2. Calculul matricei ortogonale U1 a.i. prima sa coloanacoincide cu prima coloana a matricei de transformare T = JT J,care defineste un pas QR simetric cu deplasare explicita:

U1e1 = ρ

t11 − µt21

0...0

= ρ

f 21 − µf1g1

0...0

,unde ρ factor de normare. Introducand vectorul de deplasareimplicita aferent unui pas DVS:

w =

[t11 − µt21

]=

[f 21 − µf1g1

],

matricea U1 poate fi o rotatie P12 = diag(P12, Im−2) a.i.

PT12w =

[∗0

].

Page 458: Metode Numerice Curs I Introducere

Algoritmul DVS - un pas DVS in faza iterativa

3. Calculul matricei T ← PT12TP12, care altera structura

tridiagonala a lui T in pozitiile (3, 1) si (1, 3), se transfera incalculul matricei

K = JP12

care evidentiaza o alterare a matricei superior bidiagonale inpozitia (2, 1).

Page 459: Metode Numerice Curs I Introducere

Algoritmul DVS - un pas DVS in faza iterativa

4. Aplicarea algoritmului TQ de reducere la forma tridiagonala amatricei PT

12TP12 se transfera in cadrul unui pas DVS in aplicareaunui algorithm (JQ) pentru refacerea structurii superiorbidiagonale a matricei J prin transformari ortogonale bilaterale:

J ← J ′ = UTn−1 · · ·UT

1 KV2 · · ·Vn−1,

unde Uk ,Vk pot fi rotatii sau reflectori.

Algoritmul JQ adaptat:1. Pentru k = 1 : n − 1

1. calculam rotatia Uk = Pk,k+1 a.i. (UTk K )(k + 1 : k) = 0

2. K ← UTk K % anuleaza (k+1, k) si altera zeroul din (k , k+2)

3. Daca k < n − 1

1. Calculam rotatia Vk+1 = Pk+1,k+2 a.i. (KVk+1)(k, k + 2) = 0

2. K←KVk+1 % anuleaza (k, k+2) si altera zeroul din (k+2, k+1)

Page 460: Metode Numerice Curs I Introducere

Algoritmul DVS - un pas DVS in faza iterativa4. Continuare: exemplificare pe cazul J ∈ R5×3 si K = JP12

Prin aplicarea algoritmului JQ, matricea K = J ′ este bidiagonala simatricea T ′ = (J ′)T J ′ este aceeasi cu cea corespunzatoare pasuluiQR simetric implicit pentru matricea tridiagonala simetrica T .

Concluzie: Jk = J care defineste sirul DVS este calculata a.i.matricea Tk = JTk Jk defineste sirul QR pentru matricea ATA sideci converge la forma diagonala!

Page 461: Metode Numerice Curs I Introducere

Algoritmul DVSI O iteratie DVS este implementata in alg. IT-DVSr din carte:

[f , g ,U,V ] = IT-DVSr(f , g ,U,V ).

I Complexitatea unui pas DVS este .....I Pt. anularea elementelor supradiagonale se utilizeaza criteriul:

|gi | < tol(|fi |+ |fi+1| ⇒ gi = 0.

I La fiecare iteratie DVS, dupa deciziile de anulare aelementelor supradiagonale, se determina parametrii p si q a.i.matricea J curenta sa poate fi scrisa ca:

J =

J11 0 00 J22 00 0 J33

0 0 0

unde J11 ∈ Rp×p, J22 este ireductibila (i.e. are toateelementele supradiagonale nenule, si cele diagonale, mai putineventual ultimul, de asemenea, nenule), iar J33 ∈ Rq×q estediagonala. Iteratia DVS curenta se aplica numai lui J22!

Page 462: Metode Numerice Curs I Introducere

Algoritmul DVS

I Procesul se termina cand componentele vectorului g au fostanulate, i.e. cand q = n − 1.

I Dupa incheierea procesului de diagonalizare se utilizeaza oserie de permutari pentru a realiza ordonarea elementelordiagonale (valorilor singulare).

I Algorithmul DVS in integralitatea lui se gaseste in carte subdenumirea Algoritmul DVSr:

[U,Σ,V ] = DVSr(A).

I Complexitatea estimata a algoritmului DVS este:4m2n + 8mn2 + 8n3.

Page 463: Metode Numerice Curs I Introducere

Conditionarea valorilor singulareTeorema 1: σmax = max‖x‖=1 ‖Ax‖ si σmin = min‖x‖=1 ‖Ax‖.

Teorema 2: generalizare a teoremei Courant-Fisher

σk = maxdimΥ=k

minx∈Υ

‖Ax‖‖x‖

= mindimΥ=n−k

maxx∈Υ

‖Ax‖‖x‖

.

Teorema 3: fie Ak = A(:, 1 : k) atunci valorile singulare ale lui Ak

separa pe cele ale lui Ak+1, i.e.:

σ1(Ak+1)≥σ1(Ak)≥σ2(Ak+1)≥ · · · ≥σk(Ak+1)≥σk(Ak)≥σk+1(Ak+1).

Teorema 4: σk(A)− σ1(E ) ≤ σk(A + E ) ≤ σk(A) + σ1E

Teorema 5:∑

j (σj(A + E )− σj(E ))2 ≤ ‖E‖2F .

Concluzie: din teorema 4 rezulta ca valorile singulare suntbine-conditionate, i.e. daca E este matrice de perturbatii in dateleinitiale ale lui A, atunci din |σk(A + E )− σk(A)| ≤ σ1(E ) = ‖E‖,concluzionam ca erorile absolute in valorile singulare nu depasescnorma spectrala a matricei de perturbare.

Page 464: Metode Numerice Curs I Introducere

Stabilitatea numerica a alg. DVS

• Algoritmul DVS este unul numeric stabil: i.e. tripletul (U, Σ, V )efectiv calculat de DVS pentru matricea A este o DVS exactapentru o matrice apropiata de matricea A data. Mai exact, existamatricele ortogonale U si V a.i.:

‖U−U‖, ‖V−V ‖ ≤ pol(m, n)εM si ‖UΣV−A‖ ≤ pol(m, n)‖A‖εM ,

unde pol(m, n) este un polinom de grad modest, e.g. grad 1 sau 2,iar εM este precizia masinii.

• Valorile singulare efectiv calculate satisfac de asemenea:

‖σi − σi‖ ≤ pol(m, n)‖A‖εM ,

• Cea mai mare acumulare a erorilor are loc in faza de reducere laforma bidiagonala, faza iterativa a algoritmului DVS are ocontributie modesta.

Page 465: Metode Numerice Curs I Introducere

Aplicatiile DVS - rangul numericFie A = UΣV T si o toleranta ε fixata, atunci

r = rang(A, ε) = minX : ‖A−X‖≤ε

rang(X ),

i.e. este cel mai mic dintre rangurile tuturor matricelor aflate la odistanta de matricea A mai mica decat toleranta admisa.Teorema: daca Ak =

∑kj=1 σjujv

Tj atunci

σk+1 = ‖A− Ak‖ = minX : rang(X )=k

‖A− X‖.

Dem: fie rang(X ) = k , deci dim Null(X ) ≥ n − k. Apoi:dim Span {v1, · · · , vk+1} = k + 1. Cele 2 spatii se intersecteaza:

∃z : ‖z‖ = 1, Xz = 0, z ∈ Span{v1, · · · , vk+1}

(A− X )z = Az =k+1∑i=1

σiuivTi z (z ⊥ vk+2...)

‖(A− X )z‖2 =k+1∑i=1

σ2i (vTi z)2 ≥ σ2

k+1‖z‖2

Deci ‖A− X‖ = max‖x‖≤1

‖(A−X )x‖‖x‖ ≥ ‖(A−X )z‖

‖z‖ ≥ σk+1 = ‖A− Ak‖

Page 466: Metode Numerice Curs I Introducere

Aplicatiile DVS - rangul numeric

I Prin urmare, σk+1 este cea mai mica distanta dintre matriceaA si toate matricele m × n de rang k . In particular, cea maimica distanta dintre o matrice A ∈ Rn×n nesingulara si toatematricele singulare este data de valoarea singulara minima σna lui A.

I Daca rangul numeric este r = rang(A, ε), atunci

σ1 ≥ σ2 ≥ · · · ≥ σr > ε ≥ σr+1 ≥ · · · ≥ σmin(m,n).

Teorema: daca Ak =∑k

j=1 σjujvTj atunci

σk+1 = ‖A− Ak‖ = minX : rang(X )=k

‖A− X‖√√√√ r∑j=k+1

σ2j = ‖A− Ak‖F = min

X : rang(X )=k‖A− X‖F

Page 467: Metode Numerice Curs I Introducere

Aplicatiile DVS - problema generala CMMPFie A o matrice ce nu are rang maximal, i.e.r = rang(A) < min(m, n), si sistemul liniar asociat:

Ax = b.

Formulam problema generala a celor mai mici patrate:

‖x∗‖ = minx : min

x‖Ax−b‖

‖x‖

Teorema: Daca A = UΣV T atunci solutia CMMP este data de

x∗ = A+b =r∑

j=1

uTj b

σjvj .

Dem: fie d = UTb = [d ′ d”]T si y = V T x = [y ′ y”]T . Avem:

‖b−Ax‖ = ‖b−UΣV T x‖ = ‖d−Σy‖ =√‖d ′ − Σ1y ′‖2 + ‖d”‖2,

unde Σ1 = diag(σ1, · · · , σr ). Evident, minimul este atins pentruy ′ = Σ−1

1 d ′ si y” arbitrar. Deci vectorul de norma minima esteatins pentru y” = 0 si observam ca ‖x‖ = ‖y‖. Obtinem:

x∗ = V

[Σ−1

1 d ′

0

]= V

[Σ−1

1 00 0

]d = VΣ+UTb = A+b.

Page 468: Metode Numerice Curs I Introducere

Aplicatiile DVS - alte probleme CMMPObservam ca problema CMMP clasica se poate reformula astfel:reziduul r este o perturbatie in sistemul Ax = b + r . Deciproblema CMMP consta in minimizarea reziduului:

minr : b+r∈ImA

‖r‖.

1. Problema CMMP totala: se considera perturbatii atat in Acat si in b, si dorim minimizarea reziduului cumulat [E r ] insistemul liniar (A + E )x = b + r

minE ,r : b+r∈Im(A+E)

‖[E r ]‖

2. Problema CMMP cu restrictii:

minx∈S‖Ax − b‖,

unde S = {x : Cx = d} (restrictii de tip egalitate) sauS = {x : ‖Cx − d‖ ≤ γ} (restrictii de tip elipsoid).

• Se poate utiliza DVS pentru calcularea numerica a unei solutii inaceste doua probleme CMMP (vezi de asemenea cursul de TO!).

Page 469: Metode Numerice Curs I Introducere

Comenzi Matlab ce utilizeaza DVS

I DVS se obtine din [U, S ,V ] = svd(A)

I rank pentru calculul rangului

I pinv pentru calculul pseudoinversei

I norm pentru calculul normei spectrale: ‖A‖2 = σ1

I cond pentru calcularea numarului de conditionare:κ2(A) = σ1/σn

Page 470: Metode Numerice Curs I Introducere

Bafta la examen!

ORICE STUDENT INTERESAT in ASTFEL de SUBIECTE siAPLICATII sa MA CONTACTEZE PENTRU o COLABORARE

VIITOARE!