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

Σχετικά έγγραφα
Sisteme diferenţiale liniare de ordinul 1

Metode iterative pentru probleme neliniare - contractii

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

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

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

Curs 4 Serii de numere reale

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

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

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

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

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

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

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

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

Sisteme liniare - metode directe

Curs 1 Şiruri de numere reale

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

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

Metode de interpolare bazate pe diferenţe divizate

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

Analiză matricială şi condiţionarea unui. sistem liniar

Curs 2 Şiruri de numere reale

Seminar 5 Analiza stabilității sistemelor liniare

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

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

1.3. Erori în calculele numerice

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

Calculul valorilor proprii

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

CURS 11. Rădăcină unei ecuatii: Cum se defineste o rădăcină aproximativă?

1.3 Baza a unui spaţiu vectorial. Dimensiune

Criptosisteme cu cheie publică III

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

Asupra unei inegalităţi date la barajul OBMJ 2006

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

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

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

Noţiuni introductive

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

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

Algoritmi numerici pentru analiza circuitelor electrice rezistive neliniare

Laborator 6. Integrarea ecuaţiilor diferenţiale

Interpolarea funcţiilor.

PROBLEME DE VALORI ŞI VECTORI PROPRII

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

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

MARCAREA REZISTOARELOR

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

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

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

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

Esalonul Redus pe Linii (ERL). Subspatii.

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

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

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

Integrala nedefinită (primitive)

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

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

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

sistemelor de algebrice liniarel

I. Noţiuni introductive

Matrice. Determinanti. Sisteme liniare

Integrarea numerică. Prof.dr.ing. Gabriela Ciuprina. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică

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

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

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

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

Conf.dr.ing. Gabriela Ciuprina

riptografie şi Securitate

* K. toate K. circuitului. portile. Considerând această sumă pentru toate rezistoarele 2. = sl I K I K. toate rez. Pentru o bobină: U * toate I K K 1

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

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

3. Vectori şi valori proprii

Olimpiada Naţională de Matematică Etapa locală Clasa a IX-a M 1

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

Algoritmica grafurilor XI. Cuplaje in grafuri. Masuri de calitate. Numere Ramsey

Erori si incertitudini de măsurare. Modele matematice Instrument: proiectare, fabricaţie, Interacţiune măsurand instrument:

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

, m ecuańii, n necunoscute;

V O. = v I v stabilizator

Matrici şi sisteme de ecuaţii liniare

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

Laborator 11. Mulţimi Julia. Temă

Analiza sistemelor liniare şi continue

Subiecte Clasa a VIII-a

CONCURSUL DE MATEMATICĂ APLICATĂ ADOLF HAIMOVICI, 2017 ETAPA LOCALĂ, HUNEDOARA Clasa a IX-a profil științe ale naturii, tehnologic, servicii

6 n=1. cos 2n. 6 n=1. n=1. este CONV (fiind seria armonică pentru α = 6 > 1), rezultă

Ecuatii trigonometrice

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

CUPRINS 5. Reducerea sistemelor de forţe (continuare)... 1 Cuprins..1

Sisteme de ecuaţii diferenţiale

Subiecte Clasa a VII-a

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

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

Profesor Blaga Mirela-Gabriela DREAPTA

Fie I R un interval deschis, G R n, n 1, un domeniu şi f : I G R n. Forma generala a unei ecuaţii diferenţiale de ordinul întâi este: = f(x, y).

Curs 2 DIODE. CIRCUITE DR

Aproximarea funcţiilor prin metoda celor mai mici pătrate

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Probleme pentru clasa a XI-a

Transcript:

Cap2. Sisteme de ecuaţii algebrice liniare - metode iterative Prof.dr.ing. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică, Departamentul de Electrotehnică Suport didactic pentru disciplina Metode numerice, 2017-2018 1/46

Cuprins 1 Formularea problemei 2 3 2/46

Formularea problemei Sistem de n ecuaţii algebrice liniare cu n necunoscute: a 11 x 1 + a 12 x 2 + +a 1n x n = b 1, a 21 x 1 + a 22 x 2 + +a 2n x n = b 2, a n1 x 1 + a n2 x 2 + +a nn x n = b n. (1) 3/46

Formularea problemei Se dă matricea coeficienţilor A = şi vectorul termenilor liberi a 11 a 12 a 1n a 21 a 22 a 2n a n1 a n2 a nn se cere să se rezolve sistemul unde x este soluţia IRn n (2) b = [ b 1 b 2 b n ] T IR n, (3) Ax = b, (4) x = [ x 1 x 2 x n ] T IR n. (5) 4/46

Buna formulare matematică Problema este bine formulată din punct de vedere matematic (soluţia există şi este unică) matricea A este nesingulară (are determinantul nenul). Se scrie formal: x = A 1 b trebuie citită ca: "x este soluţia sistemului algebric liniar Ax = b" şi NU "se calculează inversa matricei A care se înmulţeşte cu vectorul b". 5/46

Condiţionarea problemei κ(a) = A A 1 (6) număr de condiţionare la inversare al matricei A. ε x κ(a)ε b, (7) κ(a) 1: Cazul cel mai favorabil: n A = 1 şi ε x = ε b. (matrice ortogonală) Numărul de condiţionare este o proprietate a matricei şi nu are legătură nici cu metoda de rezolvare propriu-zisă, nici cu erorile de rotunjire care apar în mediul de calcul. În practică: Dacă κ(a) > 1/eps problema se consideră slab condiţionată. 6/46

Clasificarea metodelor 1 Metode directe - găsesc soluţia teoretică a problemei într-un număr finit de paşi. (Gauss, factorizare LU) 2 Metode iterative - generează un şir de aproximaţii ale soluţiei care se doreşte a fi convergent către soluţia exactă. staţionare: Jacobi, Gauss-Seidel,, S nestaţionare (semiiterative): gradienţi conjugaţi (GC), reziduu minim (MINRES), reziduu minim generalizat (GMRES), gradienţi biconjugaţi (BiGC), etc. 7/46

metodelor staţionare se construieşte un şir de aproximaţii x (0), x (1),...,x (k),... Ax = b (8) lim k x(k) = x, unde Ax = b. (9) x (k) = x (k) 1 x (k) 2. x (k) n IRn 1. 8/46

metodelor staţionare Algoritmul are nevoie de 1 o iniţializare x (0) ; 2 un mod de generare a şirului de iteraţii; 3 un criteriu de oprire. 1. Iniţializarea în principiu, arbitrară; dacă este posibil, cât mai aproape de soluţie. 9/46

metodelor staţionare 2. Şirul de iteraţii se generează recursiv: x (k) = F(x (k 1) ), (10) x = F(x ), (11) x este punct fix pentru aplicaţia F. În concluzie, soluţia exactă a sistemului de ecuaţii este şi punct fix pentru F. Rezolvarea sistemului de ecuaţii algebrice liniare se face prin căutarea unui punct fix pentru F. 10/46

metodelor staţionare A = B C. (12) Bx = Cx+b (13) x = Mx+u, (14) M = B 1 C, u = B 1 b. (15) M IR n n se numeşte matrice de iteraţie. F(x) = Mx+u, (16) 11/46

metodelor staţionare x (k) = F(x (k 1) ), (17) x (k) = Mx (k 1) + u, (18) x (k) = B 1 Cx (k 1) + B 1 b. (19) B are o structură particulară. Bx (k) = Cx (k 1) + b, (20) 12/46

metodelor staţionare 3. Criteriul de oprire Condiţie de oprire bazată de criteriul Cauchy de convergenţă: x (k) x (k 1) ε, (21) Se poate întâmpla însă ca şirul iteraţiilor să nu fie convergent. Procedurile iterative vor avea ca parametri de intrare, pe lângă mărimile ce definesc sistemul: o eroare ce reprezintă criteriul dorit de oprire a iteraţiilor; un număr maxim de iteraţii, util pentru a asigura oprirea naturală a procedurii în caz de neconvergenţă. Nu are sens ca ε < eps x (k). 13/46

Util: vectori si valori proprii Definiţie: vectorii proprii v ai unei matrice pătrate reale M, de dimensiune n sunt acei vectori nenuli, pentru care există un scalar λ astfel încât Mv = λv. (22) Obs: Reprezentarea geometrică: prin aplicarea M asupra lui, vectorul nu se roteşte; Vectorii proprii ai unei matrice nu sunt unici. Dacă v este un vector propriu, atunci şi vectorul scalat αv este de asemenea vector propriu; λ se numeşte valoare proprie a matricei M asociată vectorului propriu v. 14/46

Util: vectori si valori proprii Dacă λ < 1 atunci lim k M k v = 0. Dacă λ > 1 atunci lim k M k v =. M k v = λ k v. (23) 8 7 Doi vectori proprii ai matricei M = [1 3/4; 2 1/2] v 1 = [-1; 2], λ 1 = -0.5 v 2 = [1,5; 2], λ 2 = 2 8 7 M v 1 = λ 1 v 1 M v 2 = λ 2 v 2 M v = λ v 8 7 M 2 v 1 = λ 1 2 v1 M 2 v 2 = λ 2 2 v2 M 2 v = λ 2 v 6 6 6 5 5 5 4 4 4 3 3 3 2 2 2 1 1 1 0 0 0-1 -1-1 -2-2 -1 0 1 2 3 4 5 6 7-2 -2-1 0 1 2 3 4 5 6 7-2 -2-1 0 1 2 3 4 5 6 7 Înmulţirea repetată dintre o matrice şi vectorii ei proprii. 15/46

Util: vectori si valori proprii Dacă M este simetrică, atunci ea are n vectori proprii liniar independenţi: v (1), v (2),...,v (n). Această mulţime nu este unică, dar fiecare vector propriu are asociat o valoare proprie unică. Dacă cei n vectori proprii ai lui M formează o bază, atunci orice vector u = n i=1 α iv (i). M k u = α 1 λ k 1v (1) + +α n λ k nv (n). (24) Dacă toate valorile proprii sunt subunitare în modul, atunci norma vectorului rezultant va tinde către zero. E suficient ca o singură valoare proprie să fie în modul mai mare ca 1, ca norma vectorului rezultant să tindă către infinit. 16/46

Util: vectori si valori proprii Raza spectrală a unei matrice: proprii ρ(m) = max λ i. (25) i Valorile proprii sunt rădăcinile polinomului caracteristic. Deoarece (λi M)v = 0 (26) rezultă in mod necesar anularea polinomului caracteristic al matricei: det(λi M) = 0. (27) Ecuaţie de gradul n în λ care, cf. teoremei fundamentale a algebrei, are exact n soluţii (reale sau în perechi complex conjugate), care sunt valorile proprii ale matricei. 17/46

Convergenţă Formularea problemei Teorema 1: Condiţia necesară şi suficientă ca procesul iterativ să fie convergent este ca raza spectrală a matricei de iteraţie să fie strict subunitară: ρ(m) < 1. e (k) = x (k) x = F(x (k 1) ) F(x ) = Mx (k 1) +u Mx u = Me (k 1), (28) e (k) = Me (k 1) = M 2 e (k 2) = = M k e (0). (29) 18/46

Convergenţă Formularea problemei Teorema 2: O condiţie suficientă ca procesul iterativ să fie convergent este ca norma matricei de iteraţie să fie strict subunitară: M < 1. ρ(m) M. (30) e (k) M k e (0). (31) 19/46

Convergenţă Formularea problemei Mai mult x (k) x (k 1) = Mx (k 1) + u Mx (k 2) u = = M(x (k 1) x (k 2) ) M x (k 1) x (k 2), (32) Utilizarea unui criteriu de oprire Cauchy este pe deplin justificată. 20/46

Convergenţă Formularea problemei Fie o margine a erorii absolute notată cu a k, unde e (k) a k. a k = M k a 0, (33) log(a k ) = k log M +log a 0. (34) R(M) = log M se numeşte rata de convergenţă. log(a k ) = kr(m)+log a 0. (35) R(M) = log(a k 1 ) log(a k ), (36) 21/46

Convergenţă Formularea problemei R(M) = log(a k 1 ) log(a k ), (37) Rata de convergenţă = numărul de cifre semnificative corecte ce se câştigă la fiecare iteraţie. Exemplu: M = 10 3, rata de convergenţă este 3, deci la fiecare iteraţie numărul de cifre semnificative corecte creşte cu 3. OBS: M = 10 1, la fiecare iteraţie se câştigă o cifră semnificativă. Alegerea valorii iniţiale nu are nici o influenţă asupra convergenţei sau neconvergenţei procesului iterativ; În cazul unui proces iterativ convergent, valoarea iniţială afectează doar numărul de iteraţii necesar pentru atingerea unei erori impuse. 22/46

Algoritm general Formularea problemei procedură metodă_iterativă(n, B, C, b, x0, er, maxit, x) xv = x0 ; iniţializează şirul iteraţiilor k = 0 ; iniţializare contor iteraţii repetă t = C xv+b metodă_directă (n, B, t, x) d = xv x xv = x ; actualizează soluţia veche k = k + 1 cât timp d > er şi k maxit retur 23/46

Algoritm general Formularea problemei Efortul de calcul poate fi făcut doar pentru o singură iteraţie; depinde de structura matricelor în care a fost descompusă matricea coeficienţilor; e consumat mai ales în calculul lui t şi în procedura de rezolvare directă, care în general are o complexitate liniară deoarece B are o structură rară, particulară. este de aşteptat ca procedeul iterativ să fie cu atât mai rapid convergent cu cât B conţine mai multă informaţie din A. 24/46

: un exemplu simplu A se descompune astfel încât B este diagonală. x + 2y z = 1 2x + 3y + z = 0 4x y 3z = 2 x = 2y + z 1 3y = 2x z 3z = 4x + y 2 (38) x (n) = 2y (v) + z (v) 1 y (n) = 2x (v) z (v) z (n) = 4x (v) + y (v) 2 (39) [0, 0, 0] T, [ 1, 0, 2] T, [ 3, 0, 2] T, etc. 25/46

Algoritmul metodei Jacobi Partiţionarea matricei în metodele iterative: A = = a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 0 0 0 0 a 21 0 0 0 a 31 a 32 0 0 a 41 a 42 a 43 0 = + a 11 0 0 0 0 a 22 0 0 0 0 a 33 0 0 0 0 a 44 + 0 a 12 a 13 a 14 0 0 a 23 a 24 0 0 0 a 34 0 0 0 0 = L + D + U A = L+D+U A = B C unde, în metoda Jacobi B = D, C = (L+U), (40) 26/46

Algoritmul metodei Jacobi Calculul recursiv al noii iteraţii Dx (k) = (L+U)x (k 1) + b. (41) Ecuaţia i: x (n) i a ii x (k) i = (b i = n j=1 j i n j=1 j i a ij x (k 1) j + b i. (42) x (v) j )/a ii i = 1,...,n. (43) Obs: Fiecare componentă nouă poate fi calculată independent de celelalte componente noi, motiv pentru care metoda Jacobi se mai numeşte şi metoda deplasărilor simultane. 27/46

Algoritmul metodei Jacobi procedură Jacobi(n, a, b, x0, er, maxit, x) ; rezolvă sistemul algebric liniar ax = b, de dimensiune n prin metoda Jacobi întreg n ; dimensiunea sistemului tabloureal a[n][n] ; matricea coeficienţilor, indici de la 1 tablou real b[n] ; vectorul termenilor liberi ; mărimi specifice procedurilor iterative tablou real x0[n] ; iniţializarea soluţiei real er ; eroarea folosită de criteriul de oprire întreg maxit ; număr maxim de iteraţii admis tablou real xv[n] ; aproximaţia anterioară ("veche") 28/46

Algoritmul metodei Jacobi procedură Jacobi(n, a, b, x0, er, maxit, x)... pentru i = 1, n xv i = x0 i k = 0 ; iniţializare contor iteraţii repetă d = 0 pentru i = 1, n s = 0 pentru j = 1, n dacă j i s = s + a ij xv j x i = (b i s)/a ii d = d + (x i xv i ) 2 d = d pentru i = 1, n xv i = x i ; actualizează soluţia veche k = k + 1 cât timp d > er şi k maxit retur 29/46

Convergenţa metodei Jacobi Matricea de iteraţie M = D 1 (L+U). (44) x2 1 x2 2 2 1 x (1) x (0) x1 x (0) x1 x (1) Schimbarea ordinii ecuaţiilor din sistem înseamnă schimbarea matricei de iteraţie, deci a proprietătilor de convergenţă ale metodei Jacobi. Rezultat util: Dacă matricea coeficienţilor este diagonal dominantă, atunci condiţia suficientă de convergenţă este satisfăcută şi algoritmul Jacobi este convergent. 30/46

: un exemplu simplu A se descompune astfel încât B este triunghiular inferioară. x + 2y z = 1 2x + 3y + z = 0 4x y 3z = 2 x = 2y + z 1 2x + 3y = z 4x y 3z = 2 (45) x (n) = 2y (v) + z (v) 1 2x (n) + 3y (n) = z (v) 4x (n) y (n) 3z (n) = 2 (46) [0, 0, 0] T, [ 1, 2, 4] T, [7, 10, 40] T, etc. 31/46

Algoritmul metodei Gauss-Seidel Partiţionarea matricei în metodele iterative: A = = a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 0 0 0 0 a 21 0 0 0 a 31 a 32 0 0 a 41 a 42 a 43 0 = + a 11 0 0 0 0 a 22 0 0 0 0 a 33 0 0 0 0 a 44 + 0 a 12 a 13 a 14 0 0 a 23 a 24 0 0 0 a 34 0 0 0 0 = L + D + U A = L+D+U A = B C, unde în metoda Gauss-Seidel B = L+D, C = U, (47) 32/46

Algoritmul metodei Gauss-Seidel Calculul recursiv al noii iteraţii Ecuaţia i: i 1 a ij x (k) j j=1 i 1 a ij x (n) j j=1 (L+D)x (k) = Ux (k 1) + b. (48) + a ii x (k) i + a ii x (n) i = = n j=i+1 n j=i+1 a ij x (k 1) j + b i. (49) a ij x (v) j + b i, (50) Rezolvarea sistemului: prin substituţie progresivă, conform formulei: x (n) i 1 n i = (b i a ij x (n) j a ij x (v) j )/a ii. (51) j=1 j=i+1 33/46

Algoritmul metodei Gauss-Seidel Observaţii: Este respectat principiul lui Seidel, conform căruia o valoare nouă a unei necunoscute trebuie folosită imediat în calcule. O componentă nouă nu poate fi calculată independent de celelalte componente noi, motiv pentru care metoda Gauss-Seidel se mai numeşte şi metoda deplasărilor succesive 34/46

Algoritmul metodei Gauss-Seidel procedură Gauss-Seidel(n, a, b, x0, er, maxit, x) ; rezolvă sistemul algebric liniar ax = b, de dimensiune n prin metoda Gauss-Seidel ; declaraţii ca la procedura Jacobi pentru i = 1, n xv i = x0 i k = 0 ; iniţializare contor iteraţii repetă d = 0 pentru i = 1, n s = b i pentru j = 1, n dacă j i s = s + a ij xv j s = s/a ii p = x i s dacă p > d d = p x i = s k = k + 1 cât timp d > er şi k maxit retur 35/46

Convergenţa metodei Gauss-Seidel Matricea de iteraţie M = (L+D) 1 U. (52) x2 1 x2 2 2 1 x (1) x (0) x1 x (0) x1 x (1) Schimbarea ordinii ecuaţiilor din sistem înseamnă schimbarea matricei de iteraţie, deci a proprietătilor de convergenţă ale metodei Gauss-Seidel. Rezultate utile: Dacă matricea coeficienţilor este diagonal dominantă, atunci algoritmul Gauss-Seidel este convergent. 36/46

Evaluarea algoritmilor Jacobi şi Gauss-Seidel Efortul total de calcul depinde de numărul de iteraţii m (care depinde de matricea de iteraţie). Efortul de calcul pe iteraţie este O(2n 2 ). Efortul total de calcul al algoritmilor Jacobi şi Gauss-Seidel implementaţi cu matrice pline: T = O(2mn 2 ). sau Gauss-Seidel este mai eficientă decât metoda Gauss dacă 2mn 2 < 2n 3 /3, deci dacă m < n/3. Necesarul de memorie (matrice pline): M GS = O(n 2 + 2n) O(n 2 ) M J = O(n 2 + 3n) O(n 2 ) diferenţa este nesemnificativă 37/46

Evaluarea algoritmilor Jacobi şi Gauss-Seidel Observaţii: 1 Dacă matricea coeficienţilor este rară (memorată MM, CRS sau CCS), atunci efortul de calcul pe iteraţie se poate diminua. 2 Important: Nu putem vorbi de umpleri ale matricei coeficienţilor aşa cum se întâmplă în cazul algoritmului Gauss aplicat pentru matrice rare. Metodele iterative sunt mai potrivite decât metodele directe pentru rezolvarea sistemelor cu matrice rare, într-un context hardware în care memoria disponibilă nu este suficientă rezolvării prin metode directe. 38/46

Metoda Suprarelaxării succesive () Procedeu de accelerare a convergenţei: x (n) i = x (v) i +ω(x (n_gs) i x (v) i ). (53) unde ω se numeşte factor de suprarelaxare ω = 1 corespunde metodei Gauss-Seidel. Modificarea în pseudocodul algoritmului Gauss-Seidel: instrucţiunea x i = s se înlocuieşte cu x i = x i +ω(s x i ). x (n) i = ωx (n_gs) +(1 ω)x (v) i i 1 = ω(b i a ij x (n) j j=1 i = n j=i+1 a ij x (v) j )/a ii +(1 ω)x (v) i (54). (D+ωL)x (n) = [(1 ω)d ωu] x (v) +ωb. (55) 39/46

Metoda Suprarelaxării succesive () Matricea de iteraţie a metodei : M = (D+ωL) 1 [(1 ω)d ωu], (56) Metoda nu converge dacă ω / (0, 2). Cazul ω (0, 1) corespunde unei subrelaxări şi se foloseşte atunci când metoda Gauss-Seidel nu converge. Dacă matricea este simetrică şi pozitiv definită, este garantat convergentă ( ) ω (0, 2). Alegerea valorii lui ω poate afecta în mod semnificativ rata de convergenţă. În general, este dificil să se calculeze apriori valoarea optimală a factorului de suprarelaxare. 40/46

Metoda Suprarelaxării succesive () Pentru matricile obţinute prin discretizarea unor ecuaţii cu derivate parţiale prin parcurgerea sistematică a nodurilor reţelei de discretizare se poate demonstra că ω opt = 2 1+ (57) 1 ρ2, unde ρ este raza spectrală a matricei de iteraţie Jacobi. În practică se folosesc tehnici euristice, ce iau în considerare dimensiunea gridului de discretizare al problemei [Templates]. În cazul matricelor simetrice, o variantă a metodei, numită S, este folosită ca metodă de precondiţionare pentru metode nestaţionare. 41/46

Algoritmul general al metodelor staţionare Ax = b A = B C Bx (k+1) = Cx (k) + b. (58) B(x (k+1) x (k) ) = b Ax (k). (59) Reziduul la iteraţia k r (k) = b Ax (k), (60) x (k+1) = x (k) + B 1 r (k), (61) 42/46

Algoritmul general al metodelor staţionare r (k) = b Ax (k), (62) x (k+1) = x (k) + B 1 r (k), (63) Staţionaritatea se referă la faptul că reziduu este întotdeauna înmulţit cu matricea B 1, aceeaşi pe parcursul tuturor iteraţiilor: Jacobi: B = D Gauss-Seidel: B = D+L : B = ω 1 (D+ωL). Nu se face inversarea propriu zisă, ci se rezolvă un sistem algebric liniar. 43/46

Algoritmul general al metodelor staţionare procedură metodă_iterativă_v2(n, B, A, b, x0, er, maxit, x) xv = x0 ; iniţializează şirul iteraţiilor k = 0 ; iniţializare contor iteraţii repetă r = b A xv ; calculează reziduu metodă_directă (n, B, r, z) d = z x = xv+z xv = x ; actualizează soluţia veche k = k + 1 cât timp d > er şi k maxit retur 44/46

Algoritmul general al metodelor staţionare Metodele iterative sunt eficiente însă pentru matrici rare. În cazul matricilor pline, timpul de rezolvare cu metode iterative poate fi comparabil cu timpul de factorizare. Într-o astfel de situaţie, factorizarea este mai utilă deoarece, o dată ce factorii L şi U sunt calculaţi, rezolvarea sistemului poate fi făcută oricând pentru alt termen liber. De aceea, un pseudocod simplificat, în care sunt scrise operaţii cu matrice este mai general, putând fi adaptat unor matrice rare. 45/46

Lectura obligatorie pentru această săptămână Cap.4 din [1], Mihai Rebican, Daniel Ioan - Metode numerice in ingineria electrica - Indrumar de laborator pentru studentii facultatii de Inginerie electrica, Editura Printech, 2013, disponibil la http://mn.lmn.pub.ro/indrumar/indrumarmn_printech2013.pdf Facultativ [Templates] Richard Barrett, Michael Berry, Tony F. Chan, James Demmel, June M. Donato, Jack Dongarra, Victor Eijkhout,Roldan Pozo, Charles Romine, and Henk Van der Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM 1994. disponibil la http://www.netlib.org/templates/templates.pdf 46/46