Calcul Numeric Cursul 7 2019 Aca Igat
Memorarea matricelor rare - se memorează doar valorile eule şi suficiete iformaţii despre idici astfel ca să se poată recostitui complet matricea Pp. că matricea A are NN elemete eule. Memorare comprimată pe liii Se folosesc 3 vectori: valori vector de umere reale de dimesiue NN id_col vector de idici de dimesiue NN iceput_liii vector de îtregi de dimesiue +1 1
Î vectorul valori se memorează elemetele eule ale matricii A î ordiea liiilor iar î vectorul id_col se memorează idicii de coloaă ai elemetelor di valori. Î vectorul iceput_liii se stochează idicele/poziţia î vectorul valori / id_col al/a primului elemet de pe liia i memorat î vectorii valori / id_col. - iceput_liii(+1) = NN+1 - iceput_liii(i+1) iceput_liii(i) = umărul de elemete eule de pe liia i, i=1, 2
A 102.5 0.0 2.5 0.0 0.0 3.5 104.88 1.05 0.0 0.33 0.00.0 100.0 0.0 0.0 0.0 1.3 0.0 101.3 0.0 0.73 0.0 0.0 1.5 102.23 =5, NN=12 valori = ( 102.5, 2.5, 0.33, 1.05, 104.88, 3.5, 100.0, 101.3, 1.3, 1.5, 0.73, 102.23 ) id_col = ( 1, 3, 5, 3, 2, 1, 3, 4, 2, 4, 1, 5) iceput_liii = (1, 3, 7, 8, 10, 13) 3
Dacă se ştie că matricea are maxim _max elemete eule pe fiecare liie se pot folosi 2 matrici petru memorarea rară: valori matrice de umere reale de dimesiue x _max id_col matrice de idici de dimesiue x _max Î matricea valori se memorează pe liia i elemetele eule de pe liia i a matricei A iar î matricea id_col se memorează idicii de coloaă ai elemetelor corespuzătoare di matricea valori. 4
A 102.5 0.0 2.5 0.0 0.0 0.0 104.88 1.05 0.0 0.33 0.00.0 100.0 0.0 0.0 0.0 1.3 0.0 101.3 0.0 0.73 0.0 0.0 1.5 102.23 102.5 2.5 0 1 3 0 104.88 1.05 0.33 2 3 5 valori 100.0 0 0 id _ col 3 0 0 101.3 1.3 0 4 2 0 102.23 1.5 0.73 5 4 1 5
Diagoalele matricei A: d : a, a,, a 0 11 22 d : a, a,, a 1 12 23 1 d : a, a,, a 1 21 32 1 d : a, a,, a 2 13 24 2 d : a, a,, a 2 31 42 2 Petru matricele care au elemetele eule plasate pe câteva di diagoalele matricei A (_d diagoale cu elemete eule) se pot folosi petru memorare o matrice şi u vector: 6
diag matrice cu umere reale de dimesiue x _d diag_o vector de îtregi de dimesiue _d Î matricea diag se memorează pe coloae diagoalele cu elemete eule iar î diag_o este specificat umărul diagoalei care e memorat î coloaa j a matricei diag. diag( i, j) ai i diag o j _ ( ) 7
A 20.5 2.0 0.0 0.0 0.0 0.040.5 3.0 0.0 0.0 1.00.0100.0 0.0 0.0 0.0 2.3 0.0 101.5 4.0 0.0 0.0 3.0 0.0 102.5 20.5 2.0 40.5 3.0 diag 1.0 100.0 0.0 diag _ o ( 2,0,1) 2.3 101.5 4.0 3.0 102.5 Alte tipuri de memorări rare: http://etlib.org/lialg/html_templates/ode90.html 8
Metoda Jacobi petru rezolvarea sistemelor liiare Fie sistemul: cu Alegem: =, Ax b A, b deta 0, a 0, i = 1,2,, ii B = diag[ a, a,, a ] = 11 22 a11 0 0 0 a22 0 0 0 a 9
det B = a a a 0 11 22 B 1 1 1 1 = diag[,,, ] = a a a 11 22 1 a 11 0 0 1 0 0 a 22 0 0 1 a 10
Matricea C este: 0 a12 a13 a1 a21 0 a23 a 2 C = B A = a31 a32 0 a3 a1 a2 a3 0 aij daca i j C = ( cij ) cij = 0 daca i = j 11
Matricea iteraţiei se poate calcula şi are forma: a12 a a 0 a a a a21 a a 0 a a a 1 M := B C = a a a 0 a a a a1 a2 a 3 0 a a a 13 1 11 11 11 23 2 22 22 22 31 32 3 33 33 33 12
M = ( m ) m = Costruim vectorul g: ij ij aij ( ) daca i aii 0 daca i = j j ( k ) ( k ) g : Mx, Mx = ( gi) i 1 Compoetele vectorului g sut: a g m x x a x a i ( ) ( ) ( ) = k ij k k i ij j = j = ( ij j ) / ii, 1,, j=1 j=1 aii j=1 ji ji 13
Vectorul d este: b d B b d d i Şirul 1 = = ( ) i i i1, i =, 1,, a ii ( k) { } x se costruieşte folosid formula: x = Mx d x = g d, i = 1,, ( k 1) ( k ) ( k 1) i i i ( k ) bi aij x j j=1 ( k 1) ji xi =, i = 1,, a ii 14
i1 ( k) ( k) ( bi aij x j aij x j ) j=1 j= i1 ( k1) xi =, i = 1,, (9) a ii Formula (9) descrie metoda lui Jacobi de aproximare a soluţiei uui sistem liiar. 15
Propoziţia 1 Codiţii suficiete de covergeţă ( k ) * < 1, M x x k. x Demostraţie. Fie soluţia sistemului Ax=b. Di relaţia * * * * A=B-C rezultă Bx Cx b sau x Mx d. ( 1) ( ) Procesul iterativ k k x Mx dcoduce la relaţia: * k 1 x x M x x M x x M x x * k 1 * k * k * 0 16
Î cotiuare vom aplica această propoziţie petru diverse orme. 1 2 2 Di M = ( F mij ) < 1 deducem: i=1 j=1 2 aij ( k ) * < 1 x x, k i=1 j=1 a ii (10) ji 17
Di M 1= max{ mij ; j = 1,, } < 1 deducem: i=1 aij ( k ) * < 1 j = 1,, x x, k i=1 aii (11) i j (Criteriul domiaţei diagoalei pe liii) Di M = max{ m ; i = 1,, } < 1 deducem: a j=1 ij ij ( k ) * ( ) < 1 i = 1,, x x, k j=1 aii ji ( k ) * aij < aii i = 1,, limx = x (12) j=1 k ji 18
(Criteriul domiaţei diagoalei pe coloae) ( k ) * aij < a jj j = 1,, M 1 = 1 lim x x (13) i=1 k i j 19
Metoda Gauss-Seidel petru rezolvarea sistemelor liiare Cosiderăm di ou sistemul liiar: cu =, Ax b A, b deta 0, a 0, i = 1,2,, ii 20
Putem deduce metoda Gauss-Seidel di metoda lui Jacobi astfel: i1 ( k1) ( k ) ( k ) i i ij j ij j ii j=1 j= i1 x = ( b a x a x ) / a, i = 1,, Jacobi i1 ( k1) ( k1) ( k ) i i ij j ij j ii j=1 j= i1 x = ( b a x a x ) / a, i = 1,, Gauss-Seidel x x ( k 1) ( k 1) Câd calculăm i cuoaştem deja x ( k 1) 1,, i 1 şi putem folosi aceste valori î prima sumă. Deducerea metodei Gauss-Seidel di schema geerală se face luâd: 21
B = a11 0 0 0 a21 a22 0 0 a31 a32 a33 0 a a a a 1 2 3 aij daca j i B = ( bij ) bij = 0 daca j > i Matricea B este esigulară ( a 0, i): ii det B = a a a 0 11 22 22
Matricea C este: 0 a a a 0 0 a a 0 0 0 a C = B A = 0 0 0 0 0 0 0 12 13 1 23 2 3 a 1 aij daca i < j C = ( cij ) cij = 0 daca i j 23
x ( k 1) Î cazul metodei Gauss-Seidel, vectorul se obţie di rezolvâd sistemul iferior triughiular (7) di schema geerală: ( k ) Bx = Cx b = f (14) x ( k ) Soluţia sistemului (14) este dată de formula: i1 i1 x = ( f b x ) / b = ( f a x ) / a, i = 1,2,, i i ij j ii i ij j ii j=1 j=1 (15) 24
Vectorul f este: f Cx b i (16) ( ) = ( i ) i i, = 1,2,, ( k ) ( k ) ( k ) i ij j ij j j=1 j= i1 (17) ( Cx ) = c x = a x, i = 1,, Folosid formula de rezolvare a sistemelor iferior triughiulare (15), relaţiile (16) şi (17) avem: i1 ( k) ( k1) i ij j ij j j= i1 j=1 ( b a x a x ) ( k1) xi =, i = 1,2,, a ii 25
Codiţii suficiete de covergeţă petru metoda Gauss-Seidel Propoziţia 1 Dacă matricea A este astfel îcât: i=1 a ij 2 ( ) < 1 j=1 aii ji atuci are loc covergeţa şirului costruit cu metoda Gauss- Seidel la soluţia sistemului Ax=b: ( k) * (0) x x, k x 26
Propoziţia 2 (Criteriul domiaţei diagoalei pe liii) Dacă matricea A este astfel îcât: atuci: j=1 ji a < a i = 1,, ij ii ( k) * (0) x x, k x 27
Propoziţia 3 (Criteriul domiaţei diagoalei pe coloae) Dacă matricea A este astfel îcât: i=1 i j a < a j = 1,, ij jj atuci metoda Gauss-Seidel coverge: lim k ( k ) * x x x 0 28
Metode iterative petru matrice simetrice şi pozitiv defiite Cosiderăm cazul sistemelor liiare cu matricea sistemului simetrică şi pozitiv defiită: T A = A matrice simetrica a = a i, j = 1, 2, ij ji 29
A a11 a12 a13 a1 a11 a21 a31 a1 a21 a22 a23 a 2 a12 a22 a32 a 2 T = a31 a32 a33 a3 = A = a13 a23 a33 a3 a a a a a a a a 1 2 3 1 2 3 A = A T A = L D L T D = diag[ a, a,, a ] = 11 22 a11 0 0 0 a22 0 0 0 a 30
L 0 a12 a13 a1 0 0 0 0 0 0 a a 23 2 a21 0 0 0 T 0 0 0 a3 a31 a32 0 0 L = = 0 0 0 a1 a1 a2 a3 0 0 0 0 0 31
Defiiţii Matricea A se umeşte pozitiv semidefiită (A 0): Ax, x 0 x. Matricea A se umeşte pozitiv defiită (A > 0) dacă: Ax, x 0 x, x 0. 32
Propoziţie Dacă matricea A este pozitiv defiită atuci matricea A este esigulară. Demostraţie: Presupuem pri reducere la absurd că matricea A este pozitiv defiită şi sigulară. Atuci, sistemul de ecuaţii liiare Ax=0 are pe lâgă soluţia baală x=0 şi o soluţie x 0 0. Avem: ţ 0 0 0 0 x 0 0 Ax, x 0, x 0 cotradic ie! A 0 a Ae, e 0 i 1,, ii i i 33
Lemă Fie A o matrice simetrică şi B o matrice esigulară astfel îcât matricea P = B + B T - A este pozitiv defiită. Fie matricea M = I - B -1 A. Atuci raza spectrală a matricei M este strict subuitară dacă şi umai dacă matricea A este pozitiv defiită: ( M) < 1 A> 0 Teoremă Fie A o matrice simetrică, esigulară, cu diagoala pozitivă, aii > 0, i = 1,, şi b vectorul termeilor liberi. Atuci metoda lui Gauss-Seidel geerează şiruri * 1 covergete la soluţia x = A b, x (0) dacă şi umai dacă A este pozitiv defiită. 34
Demostraţie: Di teorema de covergeţă avem: ( k ) x x *, k ( M ) < 1 Dacă matricea A se scrie sub forma: matricele B şi C sut date de: Matricea iteraţiei M este: A = L D L B = L D, C = B A = L 1 1 1 M B C B B A I B A = = ( ) = T T 35
Îcercăm să aplicăm Lema de mai sus. Petru aceasta verificăm dacă matricea P este pozitiv defiită: P = B B T A = L D ( L D) T L D L T = D 2 ii i i i i ii i i=1 ( Px, x) = ( Dx, x) = (( a x ),( x ) ) = a x a > 0 i ( Px, x) > 0 x, x 0 P > 0 ii Putem aplica Lema de ude deducem covergeţa şirului costruit cu metoda Gauss-Seidel doar î cazul î care matricea A este pozitiv defiită: ( k x ) x *, k ( M ) < 1 A pozitiv defiită 36
Metodele relaxării Fie A o matrice reală pătratică de dimesiue, simetrică, A=A T şi pozitiv defiită, A > 0 şi b u vector real. Cosiderăm sistemul de ecuaţii liiare: Ax = b Deoarece matricea A este pozitiv defiită sistemul de mai sus * 1 are soluţie uică, x = A b. Vom cosidera fucţia f : : f ( y) A( x y), x y, y 37
Di faptul că matricea A este pozitiv defiită avem: f ( y) 0, y şi f ( y) f ( x ), y x Pri urmare x * este şi uica soluţie a problemei de miimizare: mi f ( y); y 0 f ( x ) * 1 Vom căuta soluţia sistemului Ax=b, x = A b ca fiid soluţia problemei de miimizare de mai sus folosid o metodă de tip relaxare de forma: 38
(0) ( k1) ( k ) y dat, y y c e, l l k 0,1, k l k ( k1) ( k ) ( k1) ( k ) y y, j l, y y c j j l l k ( k1) ( k) Costata ck se determiă astfel îcât f ( y ) f ( y ) î speraţa că şirul y (k) astfel costruit coverge la x *. Notăm cu Avem: r (k) = b - Ay (k) vectorul reziduu. ( k ) ( k ) ( k ) ( k ) r b Ay Ax Ay A( x y ) 39
f ( y ) f ( y ) 2c r c a ( k 1) ( k ) ( k ) 2 k l k ll ( k1) ( k) Petru ca f ( y ) f ( y ) este ecesar şi suficiet să alegem ck astfel ca: ( k) ( k) 2 ( k ) r l r l ckall 2 ck rl ( all0) ck 0, 2 sau 2, 0 all all c r ( k ) l kk k all, cu 0, 2 40
Metoda de relaxare obţiută este următoarea: r y dat, y y e k 0,1,, 0, 2 ( k ) (0) ( k1) ( k ) l k all l k Petru a aproxima x * se deduce o clasă de metode umite metodele relaxării succesive. Aceste metode se obţi aplicâd metodele de relaxare de mai sus. Vom cosidera: k, k 41
Vom costrui u şir ( k) x astfel: (0) (0) x y uvectordi dat (0) (1) (0) r1 l 1y y e a 11 (1) (2) (1) r2 l 2y y e a 22 1 2 ( 1) ( ) ( 1) r l y y e a x y (1) ( ) 42
Trecerea de la iteraţia k la iteraţia următoare se face astfel: x y ( k ) ( k) ( k) ( k1) ( k) r1 l 1y y e a ( k1) ( k2) ( k1) r2 l 2y y e a 11 22 1 2 ( k1) ( k) ( k1) r l y y e a ( k1) (( k1) ) x y, k 0,1, 2, 43
Acum putem scrie depedeţa vectorului x (k+1) de x (k) : x (0) 0,2 date, i 1 ( k 1) ( k ) ( k1) ( k ) xi xi bi a ij x j a ij x j, i1,2,,, aii j1 ji i 1 ( k 1) ( k ) ( k1) ( k ) xi ) xi bi a ij x j aij x j, i1,2,,, aii j1 ji1 k 0,1,2, Metodele de mai sus poartă umele de metodele relaxării succesive. Petru 1 obţiem metoda Gauss-Seidel. 44
o 0 1 metodele se umesc de sub-relaxare şi pot fi folosite î cazul câd metoda Gauss-Seidel diverge. o 1 2 metodele se umesc de supra-relaxare şi pot fi folosite petru accelerarea covergeţei î cazul câd metoda Gauss-Seidel coverge. Rearajâd formulele de mai sus avem: a (1 ) i1 ( k1) ii ( k1) ( k1) ( k ) ( k ) aij x j xi B x a i ii x i aij x j bi j1 ji1 ( k ) Cx b i i 45
Matricea A fiid simetrică, poate fi scrisă sub forma: 00 0 a210 0 T A L D L cu L, a1a 2 a 10 D diag a 11, a22,, a 46
Cu aceste otaţii, matricile B şi C de mai sus pot fi scrise astfel: 1 1 T BL D, C D L Vom verifică dacă metodele relaxării succesive se îscriu î clasa geerală de metode iterative, adică vom verifica dacă A=B-C : 1 1 T T B CL D DL LD L A Covergeţa şirului x (k) la soluţia x * =A -1 b? 47
Teoremă Fie o matrice A, simetrică, A=A T cu deta 0, aii>0, i 1,,, b u vector real şi 0,2. Atuci şirul x (k) costruit cu o metoda de relaxare succesivă coverge la soluţia x * a sistemului liiar Ax=b oricare ar fi iteraţia iiţială x (0) dacă şi umai dacă matricea A este pozitiv defiită. ( k) (0) x x k x Ax x x x,, ) 0, 0 Demostraţie: Vom verifica dacă raza spectrală a matricei iteraţiei este subuitară folosid Lema. Avem: 48
M B CB B A I B A 1 1 1 1 1 B L D, detb a11a22 a0 ( aii0, i) Matricea A este simetrică iar matricea B este esigulară. Petru a fi îdepliite ipotezele Lemei trebuie să verificăm că matricea P este pozitiv defiită: T 1 T 1 T 2 P B B A L DL DL DL D 49
(2 ) Px x a x x a i 2, ii i 0 0 ii 0, ) i1 (2 ) 0 0,2 Toate ipotezele lemei sut îdepliite, pri urmare avem covergeța dorită. 50