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

Σχετικά έγγραφα
Sisteme de ecuaţii algebrice liniare - metode directe (II)

Sisteme diferenţiale liniare de ordinul 1

Sisteme liniare - metode directe

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

Metode iterative pentru probleme neliniare - contractii

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

Curs 1 Şiruri de numere reale

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

Matrice. Determinanti. Sisteme liniare

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

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

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

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

Esalonul Redus pe Linii (ERL). Subspatii.

Seminar 5 Analiza stabilității sistemelor liniare

Curs 4 Serii de numere reale

Metode directe pentru sisteme de ecuaţii liniare

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

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

Metode de interpolare bazate pe diferenţe divizate

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

riptografie şi Securitate

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

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

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

Noţiuni introductive

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

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

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

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

Teme de implementare in Matlab pentru Laboratorul de Metode Numerice

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

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

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

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

Asupra unei inegalităţi date la barajul OBMJ 2006

Criptosisteme cu cheie publică III

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

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

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

Subiecte Clasa a VII-a

Subiecte Clasa a VIII-a

sistemelor de algebrice liniarel

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

I. Noţiuni introductive

Metode directe pentru sisteme de ecuaţii liniare

, m ecuańii, n necunoscute;

Rezolvarea sistemelor liniare determinate

Interpolarea funcţiilor.

1.3. Erori în calculele numerice

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

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

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

Integrala nedefinită (primitive)

Curs 2 Şiruri de numere reale

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

Laborator 6. Integrarea ecuaţiilor diferenţiale

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

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)

PROBLEME DE VALORI ŞI VECTORI PROPRII

Calculul valorilor proprii

Laborator 11. Mulţimi Julia. Temă

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

Sisteme de ecuaţii diferenţiale

Ecuatii trigonometrice

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

MARCAREA REZISTOARELOR

Algoritmi numerici pentru analiza circuitelor electrice rezistive neliniare

Algebra si Geometrie Seminar 9

Profesor Blaga Mirela-Gabriela DREAPTA

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

Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

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

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

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

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

Problema celor mai mici pătrate

1.4 Schimbarea bazei unui spaţiu vectorial

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

Conf.dr.ing. Gabriela Ciuprina

RĂSPUNS Modulul de rezistenţă este o caracteristică geometrică a secţiunii transversale, scrisă faţă de una dintre axele de inerţie principale:,

Aplicaţii ale principiului I al termodinamicii la gazul ideal

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

5.1. Noţiuni introductive

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

5.4. MULTIPLEXOARE A 0 A 1 A 2

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

1.3 Baza a unui spaţiu vectorial. Dimensiune

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

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

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

Matrici şi sisteme de ecuaţii liniare

Gheorghe PROCOPIUC PROBLEME DE ALGEBRĂ LINIARĂ GEOMETRIE

BARAJ DE JUNIORI,,Euclid Cipru, 28 mai 2012 (barajul 3)

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

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

Capitolul 2 - HIDROCARBURI 2.3.ALCHINE

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

Transcript:

Cap.2. Sisteme de ecuaţii algebrice liniare - metode directe (II) Prof.dr.ing. Universitatea "Politehnica" Bucureşti, Facultatea de Inginerie Electrică, Departamentul de Electrotehnică Suport didactic pentru disciplina Metode numerice, 2017-2018 1/39

Cuprins Formularea problemei 1 Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple 2 Varianta Doolittle 3 Ce sunt? Adaptarea metodelor directe - exemplu 4 2/39

Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple 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/39

Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple 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/39

Buna formulare matematică Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple 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/39

Condiţionarea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple κ(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/39

Clasificarea metodelor Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple 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, SOR, SSOR nestaţionare (semiiterative): gradienţi conjugaţi (GC), reziduu minim (MINRES), reziduu minim generalizat (GMRES), gradienţi biconjugaţi (BiGC), etc. 7/39

Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple Fie m sisteme de ecuaţii algebrice liniare Ax (1) = b (1), Ax (2) = b (2),, Ax (m) = b (m), (8) Se dau: A IR n n, b (k) IR n 1, k = 1, m Se cer: x (k) IR n 1, Notăm B = [b (1) b (2) b (m) ] IR n m (9) X = [x (1) x (2) x (m) ] IR n m (10) Se cere să se rezolve sistemul AX = B. (11) 8/39

Varianta I Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple Varianta I - aplicarea succesivă a algoritmului Gauss Efort de calcul: m(2n 3 /3+n 2 ) 2mn 3 /3. Etapa de eliminare este repetată inutil, de m ori. Cea mai proasta idee. 9/39

Varianta II Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple Varianta II - rezolvarea simultană prin adaptarea algoritmului Gauss procedură Gauss_multiplu(n, m, a, B, X) ; rezolvă simultan sistemele algebrice liniare ax = B prin metoda Gauss întreg n ; dimensiunea sistemului întreg m ; numărul de sisteme tabloureal a[n][n] ; matricea coeficienţilor - indici de la 1 tablou real B[n][m] ; matricea termenilor liberi tabloureal X[n][m] ; matricea soluţie întreg i, j, k real p, s ; etapa de eliminare pentru k = 1, n 1 ; parcurge sub-etape ale eliminării ; aici se poate introduce pivotarea pentru i = k + 1, n ; parcurge liniile p = a ik /a kk ; element de multiplicare pentru j = k + 1, n ; parcurge coloanele a ij = a ij + pa kj pentru j = 1, m ; parcurge coloanele termenilor liberi b ij = b ij + pb kj 10/39

Varianta II Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple ; etapa de retrosubstituţie pentru k = 1, m x nk = b nk /a nn pentru i = n 1, 1, 1 s = 0 pentru j = i + 1, n s = s + a ij x jk x ik = (b ik s)/a ii retur 11/39

Varianta II Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple Efort de calcul T e = n 1 n 1 [2(n k)+2m+1](n k) [2(n k) 2 + 2m(n k)] = k=1 (n 1)n(2n 1) = 2 + 2m n(n 1) 2n3 6 2 3 + mn2. (12) k=1 n 1 T s = m [2(n i)+2] m i=1 n 1 i=1 [2(n i)] = 2m n(n 1) 2 T = O(2n 3 /3+2mn 2 ), mai mic decât în cazul variantei I. mn 2. (13) 12/39

Varianta III Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple Varianta III - rezolvarea succesivă a sistemelor folosind calculul inversei Se calculeză A 1 Se calculează x (k) = A 1 b (k) imediat ce este cunoscut termenul liber. 13/39

Varianta III Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple funcţie inva(n, a) ; calculează inversa matricei a întreg n ; dimensiunea matricei tabloureal a[n][n] ; matricea, indici de la 1 ; alte declaraţii... pentru i = 1, n pentru j = 1, n B ij = 0 B ii = 1 Gauss_multiplu(n, n, a, B, X) întoarce X ; X este inversa matricei Complexitatea calcului inversei: 2n 3 /3+2mn 2 = 8n 3 /3 COSTISITOR! 14/39

Varianta III Formularea problemei Rezolvarea unui sistem de ecuaţii algebrice liniare Cazul sistemelor multiple funcţie produs_mv (n, M, v) ; calculează produsul dintre o matrice pătrată M şi un vector coloană v întreg n ; dimensiunea problemei tabloureal M[n][n] ; matricea, indici de la 1 tablou real v[n] ; vectorul tablou real p[n] ; rezultatul p = Mv ; alte declaraţii... pentru i = 1, n p i = 0 pentru j = 1, n p i = p i + M ij v j întoarce p Complexitatea inmulţirii dintre o matrice şi un vector: 2n 2 Efortul total de calcul : O(8n 3 /3+2mn 2 ). Există o variantă mai eficientă bazată pe factorizarea matricei coeficienţilor. 15/39

Ideea metodei Formularea problemei Varianta Doolittle Ax = b, (14) A = LU, factorizare (15) A = L = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 LUx = b. (16) 16/39

Ideea metodei Formularea problemei Varianta Doolittle Ax = b, (17) A = LU, factorizare (18) LUx = b. (19) Notăm (50) y = Ux, (20) Ly = b, substituţie progresivă Ux = y. substituţie progresivă (21) 17/39

Varianta Doolittle Un exemplu simplu - pornind de la Gauss x 1 + 2x 2 x 3 = 1, 2x 1 + 3x 2 + x 3 = 0, 4x 1 x 2 3x 3 = 2. x 1 + 2x 2 x 3 = 1, 7x 2 x 3 = 2, 9x 2 + x 3 = 2. x 1 + 2x 2 x 3 = 1, 7x 2 x 3 = 2, 2/7x 3 = 4/7. x 3 = ( 4/7)/( 2/7) = 2, x 2 = ( 2+x 3 )/7 = 0, x 1 = 1 2x 2 + x 3 = 1. (22) (23) (24) (25) 18/39

Varianta Doolittle Un exemplu simplu - pornind de la Gauss Factorizare L = Verificare: LU = A U = 1 0 0 2/1 1 0 4/1 9/7 1 A = 1 2 1 0 7 1 0 0 2/7 = 1 2 1 2 3 1 4 1 3. (26) 1 0 0 2 1 0 4 9/7 1. (27). (28) 19/39

Varianta Doolittle Un exemplu simplu - pornind de la Gauss Substituţie progresivă Ly = b 1 0 0 2 1 0 4 9/7 1 y 1 y 2 y 3 = 1 0 2 y 1 = 1 2y 1 + y 2 = 0 4y 1 9/7y 2 + y 3 = 2, (29) (30) y 1 = 1 y 2 = 2y 1 = 2 y 3 = 2 4y 1 + 9/7y 2 = 4/7. (31) 20/39

Varianta Doolittle Un exemplu simplu - pornind de la Gauss Substituţie regresivă Ux = y 1 2 1 x 1 1 0 7 1 x 2 = 2, (32) 0 0 2/7 x 3 4/7 x 1 + 2x 2 x 3 = 1 7x 2 x 3 = 2 (33) 2/7x 3 = 4/7. x 3 = ( 4/7)/( 2/7) = 2, x 2 = ( 2+x 3 )/7 = 0, x 1 = 1 2x 2 + x 3 = 1. (34) 21/39

Variante de factorizare Varianta Doolittle Factorizare nu este unică. Variante standard: Doolittle: l ii = 1 - se aplică la orice matrice nesingulară Crout: u ii = 1 - se aplică la orice matrice nesingulară Cholesky: L = U T - se aplică doar matricelor simetrice şi pozitiv definite [ 3 2 6 1 ] [ ][ l11 0 u11 u = 12 l 21 l 22 0 u 22 l 11 u 11 = 3 l 12 u 12 = 2 l 21 u 11 = 6 l 21 u 12 + l 22 u 22 = 1 ]. (35) (36) Sistemul devine determinat doar dacă fixăm oricare două valori. 22/39

Variante de factorizare Varianta Doolittle Exemplu: [ 3 2 6 1 ] = [ 9 2 2 1 [ 1 0 2 1 ] = ][ 3 2 0 3 ] = [ 3 0 2/3 5/3 [ 3 0 6 3 ][ 3 2/3 0 5/3 ][ 1 2/3 0 1 ]. ] (37). (38) 23/39

Algoritmul variantei Doolittle Varianta Doolittle A 0 = A, (39) A 1 = E 1 A 0, A 2 = E 2 A 1 = E 2 E 1 A 0, A n 1 = E n 1 A n 2 = E n 1 E n 2 E 2 E 1 A 0. (40) U = A n 1. (41) E = E n 1 E n 2 E 2 E 1, (42) U = EA. (43) Dar E este nesingulară şi: L = E 1. (44) 24/39

Algoritmul variantei Doolittle E 1 1 = Varianta Doolittle a 11 a 12 a 13 0 a 22 a 23 = E 1 a 11 a 12 a 13 a 21 a 22 a 23 0 a 32 a 33 a 31 a 32 a 33 E 1 = 1 0 0 a 21 /a 11 1 0 a 31 /a 11 0 1 1 0 0 a 21 /a 11 1 0 a 31 /a 11 0 1, E 1 2 =. (45). (46) 1 0 0 0 1 0 0 a 32 /a 22 1. (47) E 1 = E 1 1 E 1 2 E 1 n 2 E 1 n 1. (48) 1 0 0 E 1 = a 21 /a 11 1 0 = L. (49) a 31 /a 11 a 32 /a 22 1 25/39

Algoritmul variantei Doolittle Varianta Doolittle ; etapa de eliminare din metoda Gauss cu memorarea opuselor elementelor ; de multiplicare în triunghiul inferior al matricei pentru k = 1, n 1 ; parcurge sub-etape ale eliminării pentru i = k + 1, n ; parcurge liniile p = a ik /a kk ; element de multiplicare pentru j = k + 1, n ; parcurge coloanele a ij = a ij + pa kj a ik = p procedură factorizare_lu(n,a) ; factorizează "in loc" matricea a ; varianta Doolittle ; declaraţii pentru k = 1, n 1 ; parcurge sub-etape ale eliminării pentru i = k + 1, n ; parcurge liniile a ik = a ik /a kk ; element de multiplicare pentru j = k + 1, n ; parcurge coloanele a ij = a ij a ik a kj ; Factorizare "pe loc" : "A = L + U I" retur 26/39

Varianta Doolittle Calculul soluţiei după factorizare Notăm (50) LUx = b. (50) y = Ux, (51) Ly = b, (52) Ux = y. (53) "y = L 1 b" se rezolvă prin substituţie progresivă: l 11 y 1 = b 1, l 21 y 1 + l 22 y 2 = b 2, l n1 y 1 + l n2 y 2 + l nn y n = b n, y 1 = b 1 /l 11, y 2 = (b 2 l 21 y 1 )/l 22, y n = (b n n 1 k=1 l nky k )/l nn. (54) 27/39

Varianta Doolittle Calculul soluţiei după factorizare y 1 = b 1 /l 11, (55) i 1 y i = b i l ij y j /l ii, i = 2,..., n. (56) j=1 "x = U 1 y" se rezolvă prin substituţie regresivă: x n = y n /u nn, (57) n x i = y i u ij x j /u ii, i = n 1,...,1. (58) j=i+1 28/39

Varianta Doolittle Calculul soluţiei după factorizare procedură rezolvă_lu(n, a, b, x) ; rezolvă sistemul de ecuaţii ax = b prin factorizare LU ; matricea este presupusă a fi deja factorizată în loc ; varianta Doolittle ; declaraţii ; substituţie progresivă y 1 = b 1 ; formula (55), unde l 11 = 1 pentru i = 2, n s = 0 pentru j = 1, i 1 s = s + a ij y j ; formula (56), unde L este memorat în a y i = b i s ; deoarce l ii = 1 ; substituţie regresivă x n = y n/a nn ; formula (57), unde U este memorat în a pentru i = n 1, 1, 1 s = 0 pentru j = i + 1, n s = s + a ij x j x i = (y i s)/a ii retur 29/39

Evaluarea algoritmului Varianta Doolittle Complexitate: Erori: Factorizarea propriu-zisă a: T f = O(2n 3 /3) Rezolvările: T s = O(2n 2 ). Necesarul de memorie: M = O(n 2 ) Nu există erori de trunchiere; Erorile de rotunjire pot fi micşorate dacă se aplică strategii de pivotare. 30/39

Cazul sistemelor multiple Varianta Doolittle Rezolvate cu factorizare: T = O(2n 3 /3+2mn 2 ), mai mic decât cel necesar calculului inversei. Efort de calcul pentru rezolvarea sistemelor multiple. Nr. sisteme Metoda Complexitate T 1 Gauss 2n 3 /3+n 2 LU 2n 3 /3+2n 2 m - simultan Gauss 2n 3 /3+2mn 2 m - succesiv folosind inversa 8n 3 /3+2mn 2 LU 2n 3 /3+2mn 2 31/39

Cazul matricelor rare Ce sunt? Adaptarea metodelor directe - exemplu Matrice rară = matrice care conţine un număr foarte mare de elemente nenule. O matrice care nu este rară se numeşte matrice densă sau plină. Densitatea unei matrice = raportul dintre numărul de elemente nenule şi numărul total de elemente al matricei. Dacă, pentru o anumită matrice care are şi elemente nule, se poate elabora un algoritm care exploatează această structură şi care, este mai eficient decât algoritmul conceput pentru matricea plină, atunci aceasta este o matrice rară. 32/39

Ce sunt? Adaptarea metodelor directe - exemplu Formate de memorare a matricelor rare Matricelor bandă (de exemplu matrice tridiagonală): q 1 r 1 0 0 0 0 0 p 2 q 2 r 2 0 0 0 0 0 p 3 q 3 r 3 0 0 0 M = 0 0 0 0 p n 1 q n 1 r n 1 0 0 0 0 0 p n q n Memorare cu ajutorul a trei vectori (CDS - Compressed Diagonal Storage): 0 p 2 p 3 p n 1 p n M rar = q 1 q 2 q 3 q n 1 q n r 1 r 2 r 3 r n 1 0 33/39

Metode directe pentru matrice rare Ce sunt? Adaptarea metodelor directe - exemplu Gauss pentru matrice tridiagonală, matricea la subetapa k de eliminare: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 q k r k 0 0 0 0 0 0 0 p k+1 q k+1 r k+1 0 0 0 0 0 0 0 p k+2 q k+2 r k+2 0 0... 0 0 0 0 0 0 0 p n q n Un singur element de multiplicare m = p k+1 /q k. Singura modificare suferind-o ecuaţia k + 1: q k+1 = q k+1 + m r k, şi temenul liber corespunzător. 34/39

Metode directe pentru matrice rare Ce sunt? Adaptarea metodelor directe - exemplu Gauss pentru matrice tridiagonală, matricea după eliminare. q 1 r 1 0 0 0 0 0 0 0 0 q 2 r 2 0 0 0 0 0 0... 0 0 0 q k r k 0 0 0 0 0 0 0 0 q k+1 r k+1 0 0 0... 0 0 0 0 0 0 0 q n 1 0 r n 1 0 0 0 0 0 0 0 0 q n Retrosubstituţie x n = b n /q n, (59) q i x i + r i x i+1 = b i x i = (b i r i x i+1 )/q i, i = n 1,..., 1. (60) 35/39

Metode directe pentru matrice rare Ce sunt? Adaptarea metodelor directe - exemplu procedură Gauss_tridiag(n, p, q, r, b, x) ; rezolvă sistemul algebric liniar ax = b prin metoda Gauss ; matricea a este tridiagonală, memorată în p, q, r întreg n ; dimensiunea sistemului tablou real p[n], q[n], r[n] ; "matricea" coeficienţilor - indici de la 1 tablou real b[n] ; vectorul termenilor liberi tablou real x[n] ; vectorul soluţie întreg i, k ; etapa de eliminare din metoda Gauss pentru k = 1, n 1 ; parcurge sub-etape ale eliminării m = p k+1 /q k ; element de multiplicare q k+1 = q k+1 + mr k ; modifică element în linia k + 1 b k+1 = b k+1 + mb k ; modifică termenul liber al ecuaţiei k + 1 ; etapa de retrosubstituţie x n = b n/q n pentru i = n 1, 1, 1 x i = (b i r i x i+1 )/q i retur T = O(8n), M = O(5n). 36/39

Metode directe pentru matrice rare Ce sunt? Adaptarea metodelor directe - exemplu Pentru matrice rare fără o structură particulară, algoritmii trebuie adaptaţi memorării de tip CRS sau CCS. La eliminare matricea se poate umple, a.î. pivotarea urmăreşte nu numai stabilitatea numerică, ci şi minimizarea umplerilor, adică a elementelor nenule nou apărute. La matrice rare inversarea este practic imposibilă datorită fenomen de umplere. 37/39

Metode directe pentru matrice rare Ce sunt? Adaptarea metodelor directe - exemplu Factorizarea unei matrice rare poate salva raritatea dacă matricea are o anumită structură. A 1 = 0 0 0 0 0 0 0 0 0 0 0 0 A 2 = 0 0 0 0 0 0 0 0 0 0 0 0 Matricea A 1 are factorii LU rari, în timp ce matricea A 2 are factorii LU plini. Structura matricei joacă deci un rol important în conceperea algoritmului de rezolvare. 38/39

Formularea problemei Pag 51-56 din [3] - Algoritmi numerici pentru calcule ştiintifice în ingineria electrică, Editura MatrixROM, 2013, disponibil la http://lmn.pub.ro/ gabriela/books/algnr_matrixrom2013.pdf Notă. nu este parcursă în mod obligatoriu la laborator, dar intră în chestiunile care se vor examina în sesiune. Pentru înţelegerea profundă a lucrurilor, vă recomand să implementaţi, să testaţi şi să analizaţi toţi algoritmii care au descrişi în pseudcod în acest curs. Pentru bonus, puteţi redacta un raport dedicat acestei teme. Doritorii sunt rugaţi să îşi anunţe intenţia. 39/39