Metode directe pentru sisteme de ecuaţii liniare

Σχετικά έγγραφα
Metode directe pentru sisteme de ecuaţii liniare

Sisteme liniare - metode directe

Sisteme diferenţiale liniare de ordinul 1

Metode iterative pentru probleme neliniare - contractii

Esalonul Redus pe Linii (ERL). Subspatii.

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

Seminar 5 Analiza stabilității sistemelor liniare

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

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

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

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

Curs 4 Serii de numere reale

Matrice. Determinanti. Sisteme liniare

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

Integrala nedefinită (primitive)

Asupra unei inegalităţi date la barajul OBMJ 2006

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

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

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

Metode de interpolare bazate pe diferenţe divizate

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

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

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

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

Curs 1 Şiruri de numere reale

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

Criptosisteme cu cheie publică III

riptografie şi Securitate

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

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

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

DISTANŢA DINTRE DOUĂ DREPTE NECOPLANARE

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

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

Curs 2 Şiruri de numere reale

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

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

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

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

Noţiuni introductive

CONCURS DE ADMITERE, 17 iulie 2017 Proba scrisă la MATEMATICĂ

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

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

Lucrare. Varianta aprilie I 1 Definiţi noţiunile de număr prim şi număr ireductibil. Soluţie. Vezi Curs 6 Definiţiile 1 şi 2. sau p b.

Curs 2 DIODE. CIRCUITE DR

1.3 Baza a unui spaţiu vectorial. Dimensiune

Metode Numerice Curs I Introducere. Ion Necoara

Subiecte Clasa a VIII-a

Conice - Câteva proprietǎţi elementare

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

Subiecte Clasa a VII-a

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

1.4 Schimbarea bazei unui spaţiu vectorial

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

Functii Breviar teoretic 8 ianuarie ianuarie 2011

MARCAREA REZISTOARELOR

I. Noţiuni introductive

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

5.5. REZOLVAREA CIRCUITELOR CU TRANZISTOARE BIPOLARE

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

Ecuatii trigonometrice

Rezolvarea sistemelor liniare determinate

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

5.4. MULTIPLEXOARE A 0 A 1 A 2

Principiul Inductiei Matematice.

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

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

PROBLEME DE VALORI ŞI VECTORI PROPRII


Calculul valorilor proprii

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

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

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

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

Proiectarea Algoritmilor 2. Scheme de algoritmi Divide & Impera

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

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


Metode iterative pentru rezolvarea sistemelor de ecuatii liniare

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

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

Aplicaţii ale principiului I al termodinamicii la gazul ideal

III. Reprezentarea informaţiei în sistemele de calcul

* 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

3. Vectori şi valori proprii

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

a) (3p) Sa se calculeze XY A. b) (4p) Sa se calculeze determinantul si rangul matricei A. c) (3p) Sa se calculeze A.

CAPITOLUL 4 FUNCŢIONALE LINIARE, BILINIARE ŞI PĂTRATICE

Profesor Blaga Mirela-Gabriela DREAPTA

Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare

Capitolul 4. Integrale improprii Integrale cu limite de integrare infinite

Problema celor mai mici pătrate

O generalizare a unei probleme de algebră dată la Olimpiada de Matematică, faza judeţeană, 2013

, m ecuańii, n necunoscute;

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

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

Matrici şi sisteme de ecuaţii liniare

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

1.7. AMPLIFICATOARE DE PUTERE ÎN CLASA A ŞI AB

Transcript:

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

Descompunerea LU Descompunerea LU Transformă A C m m într-o matrice triunghiulară superior, U scăzând multiplii de linii Fiecare L i introduce zerouri sub diagonală în coloana i: 1 L m 1... L 2 L }{{} 1 A = U = A = LU unde L = L1 L 1 2... Lm 1 L 1 A L 1 0 0 0 L 1 A Triunghiularizare triunghiulară L 2 0 0 L 2 L 1 A L 3 0 L 3 L 2 L 1 A Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 2 / 42

Matricele L k Matricele L k La pasul k se elimină elementele de sub A kk : x k = [ x 11 x kk x k+1,k x mk ] T L k x k = [ x 11 x kk 0 0 ] T Multiplicatorii l jk = x jk /x kk apar in L k : 1 L k =... 1 l k+1,k 1.... l mk 1 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 3 / 42

Construcţia lui L Construcţia lui L Matricea L conţine toţi multiplicatorii într-o singură matrice (cu semne +) L = L 1 1 L 1 2... L 1 m 1 = 1 l 21 1 l 31 l 32 1........ l m1 l m2 l m,m 1 1 Definim l k = [0,..., 0, l k+1,k,..., l m,k ] T. Atunci L k = I l k e k. Avem Lk 1 = I + l k ek, deoarece e k l k = 0 şi ( I lk ek ) ( I + lk ek ) = I lk ek l kek = I De asemenea, Lk 1 L 1 k+1 = I + l kek + l k+1ek+1, deoarece e k l k+1 = 0 şi ( I + l k ek ) ( ) I + l k+1 ek+1 = I + l k ek + l k+1ek+1 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 4 / 42

Eliminare gaussiană fără pivotare Eliminare gaussiană fără pivotare Se factorizează A C m m în A = LU Eliminare gaussiană fără pivot U := A; L = I ; for k := 1 to m 1 do for j := k + 1 to m do l jk := u jk /u kk ; u j,k:m := u j,k:m l jk u k,k:m ; Ciclul interior poate fi scris utilizând operaţii matriciale în loc de cicluri for Număr de operaţii (complexitatea) m k=1 2(m k)(m k) 2 m k=1 k 2 2 3 m3 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 5 / 42

Eliminare gaussiană cu produs exterior Eliminare gaussiană cu produs exterior Ciclul interior poate fi scris cu operaţii matriciale în loc de for Eliminare gaussiană cu produs exterior for k := 1 to m 1 do rows := k + 1 : m; A rows,k := A rows,k /A k,k ; A rows,rows := A rows,rows A rows,k A k,rows ; Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 6 / 42

Eliminare gaussiană cu produs exterior De ce este necesară pivotarea Necesitatea pivotării Să considerăm sistemul 10 7 0 3 2.099 6 5 1 5 x 1 x 2 x 3 = 7 3.901 6 cu soluţia exactă [0, 1, 1] T. Presupunem că lucrăm pe o maşină ipotetică cu AVF în baza 10, cu precizia de 5 cifre. Primul pas al eliminării gaussiene produce 10 7 0 x 1 0 0.001 6 x 2 = 0 2.5 5 x 3 7 6.001 2.5 Elementul (2,2) este mic in raport cu celelalte elemente ale matricei. Totuşi, să realizăm eliminarea fără interschimbări. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 7 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Pasul următor 2.5 10 3 (E 2 ) + (E 3 ) (E 3 ) ( 5 + ( 2.5 10 3 ) (6) ) x 3 = ( 2.5 + ( 2.5 10 3) (6.001) ) Rezultatul lui ( 2.5 10 3) (6.001) este 1.50025 10 4 care nu este reprezentat exact pe maşina noastră ipotetică. Se rotunjeşte la 1.5002 10 4 Rezultatul este adăugat la 2.5 şi rotunjit din nou. Ambele cifre 5 marcate ( 5 + 1.5000 10 4 ) x 3 = (2.5 + 1.50025 10 4 ) se pierd datorită erorilor de rotunjire. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 8 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării Pe maşina noastră ipotetică, ultima ecuaţie devine 1.5005 10 4 x 3 = 1.5004 10 4 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 9 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării Pe maşina noastră ipotetică, ultima ecuaţie devine Substituţia inversă începe cu 1.5005 10 4 x 3 = 1.5004 10 4 x 3 = comparat cu soluţia exacta x 3 = 1. 1.5004 104 = 0.999 93, 1.5005 104 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 9 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării Pe maşina noastră ipotetică, ultima ecuaţie devine Substituţia inversă începe cu 1.5005 10 4 x 3 = 1.5004 10 4 x 3 = comparat cu soluţia exacta x 3 = 1. Ecuaţia a doua devine 1.5004 104 = 0.999 93, 1.5005 104 0.001x 2 + 6 0.99993 = 6.001 cu soluţia x 2 = 1.5 10 3 = 1.5 1.0 10 3 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 9 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării În fine, x 1 se obţine din ecuaţia 10x 1 + ( 7)( 1.5) = 7, care dă x 1 = 0.35. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 10 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării În fine, x 1 se obţine din ecuaţia care dă 10x 1 + ( 7)( 1.5) = 7, x 1 = 0.35. În loc de [0, 1, 1] T, am obţinut [ 0.35, 1.5, 0.99993] T. Inacceptabil! Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 10 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare În fine, x 1 se obţine din ecuaţia 10x 1 + ( 7)( 1.5) = 7, care dă x 1 = 0.35. În loc de [0, 1, 1] T, am obţinut [ 0.35, 1.5, 0.99993] T. Inacceptabil! Nu am avut o acumulare a erorilor de rotunjire, iar matricea este bine condiţionată. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 10 / 42

Pivotare Eliminare gaussiană cu produs exterior Necesitatea pivotării Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Erorile de rotunjire mici în raport cu aceşti coeficienţi sunt inacceptabile comparativ cu matricea originală şi soluţia exactă. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Erorile de rotunjire mici în raport cu aceşti coeficienţi sunt inacceptabile comparativ cu matricea originală şi soluţia exactă. Eliminarea gaussiană fără pivotare este instabilă! Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Erorile de rotunjire mici în raport cu aceşti coeficienţi sunt inacceptabile comparativ cu matricea originală şi soluţia exactă. Eliminarea gaussiană fără pivotare este instabilă! Dacă efectuăm (E 2 ) (E 3 ), nu mai apar multiplicatori mari şi rezultatul final este precis. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Erorile de rotunjire mici în raport cu aceşti coeficienţi sunt inacceptabile comparativ cu matricea originală şi soluţia exactă. Eliminarea gaussiană fără pivotare este instabilă! Dacă efectuăm (E 2 ) (E 3 ), nu mai apar multiplicatori mari şi rezultatul final este precis. Dacă multiplicatorii sunt < 1 în modul avem garanţia că soluţia este precisă. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Eliminare gaussiană cu produs exterior Necesitatea pivotării Pivotare Necazurile provin de la alegerea unui pivot mic la al doilea pas al eliminării. Pivotul conduce la un multiplicator de 2.5 10 3, iar la ultima ecuaţie se ajunge la coeficienţi de 10 3 ori mai mari decât în problema originală. Erorile de rotunjire mici în raport cu aceşti coeficienţi sunt inacceptabile comparativ cu matricea originală şi soluţia exactă. Eliminarea gaussiană fără pivotare este instabilă! Dacă efectuăm (E 2 ) (E 3 ), nu mai apar multiplicatori mari şi rezultatul final este precis. Dacă multiplicatorii sunt < 1 în modul avem garanţia că soluţia este precisă. Aceasta se asigură prin pivotare parţială. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 11 / 42

Pivotare Pivotare La pasul k, am utilizat elementul k, k al matricei ca pivot şi am introdus zerouri în poziţia k a liniilor rămase x kk x kk 0 0 0 Dar, orice alt element i k din coloana k poate fi utilizat ca pivot: 0 0 x ik x ik 0 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 12 / 42

Pivotare Pivotare Pivotare De asemenea, se poate utiliza orice altă coloană j k: 0 0 x ij x ij 0 Alegând diferiţi pivoţi ne asigurăm că putem evita pivoţii nuli sau foarte mici În loc să utilizăm pivoţi în poziţii diferite, putem interschimba linii sau coloane şi să utilizăm algoritmul standard (pivotare) O implementare concretă poate face pivotarea indirect, fără a muta fizic datele Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 13 / 42

Pivotare parţială Pivotare Pivotare parţială Alegerea pivoţilor dintre toţi candidaţii valizi este costisitoare(pivotare completă) Considerăm doar pivoţii din coloana k şi interschimbăm liniile(pivotare parţială) x ik Selecţie pivot Cu operaţii matriceale: P 1 x ik Interschimbare linii L 1 L m 1 P m 1... L 2 P 2 L 1 P 1 A = U x ik 0 0 0 Eliminare Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 14 / 42

Factorizarea PA = LU Factorizarea PA = LU Pentru a combina toţi L k şi toţi P k în forma dorită de noi, rescriem factorizarea precedentă sub forma L m 1 P m 1... L 2 P 2 L 1 P 1 A = U ( L m L 2L 1 ) (Pm 1 P 2 P 1 ) A = U unde L k = P m 1 P k+1 L k P 1 k+1 P 1 m 1 Aceasta ne dă factorizare (descompunerea) LU a lui A PA = LU Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 15 / 42

Eliminarea gaussiană cu pivotare parţială Eliminarea gaussiană cu pivotare parţială Factorizează A C m m în PA = LU Eliminare gaussiană cu pivotare parţială U := A; L := I ; P := I ; for k := 1 to m 1 do Select i k to maximize u ik ; l k,1:k 1 l i,1:k 1 ; p k,: p i,: ; for j := k + 1 to m do l jk := u jk /u kk ; u j,k:m := u j,k:m l jk u k,k:m ; Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 16 / 42

Exemplu Eliminarea gaussiană cu pivotare parţială Exemplu Rezolvaţi sistemul 1 1 1 1 1 2 2 4 2 x = 3 4 8 prin descompunere LUP. Soluţie: Avem 1 1 1 1 3 2 4 2 3 2 4 2 2 1 1 2 2 1 1 2 1 2 2 1 2 1 3 2 4 2 1 1 1 1 1 2 1 1 3 2 4 2 3 2 4 2 3 2 4 2 1 2 2 1 1 1 2 2 1 1 1 2 2 1 1 1 1 1 1 2 1 0 1 2 1 0 1 2 1 1. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 17 / 42

Eliminarea gaussiană cu pivotare parţială Exemplu (continuare) Exemplu Deci L = 1 0 0 1 2 1 0 1 2 1 1, U = 2 4 2 0 1 1 0 0 1 Sistemele triunghiulare corespunzătoare sunt 1 0 0 1 y = Pb = cu soluţia y = [8, 0, 1] T 2 1 0 1 2 1 1, P = 8 4 3, 0 0 1 0 1 0 1 0 0. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 18 / 42

Eliminarea gaussiană cu pivotare parţială Exemplu (continuare) Exemplu şi 2 4 2 0 1 1 0 0 1 x = 8 0 1, cu soluţia x = [1, 1, 1] T. Verificare PA = LU = 0 0 1 0 1 0 1 0 0 1 0 0 1 2 1 0 1 2 1 1 1 1 1 1 1 2 2 4 2 = 2 4 2 0 1 1 0 0 1 2 4 2 1 1 2 1 1 1 = 2 4 2 1 1 2 1 1 1. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 19 / 42

Pivotare totală Pivotare totală Dacă se selectează pivoţi din coloane diferite, sunt necesare matrice de permutare la stânga Q k : Punem L m 1 P m 1 L 2 P 2 L 1 P 1 AQ 1 Q 2 Q m 1 = U (L m 1 L 2L 1)(P m 1 P 2 P 1 )A(Q 1 Q 2 Q m 1 ) = U L = (L m 1 L 2L 1) 1 P = P m 1 P 2 P 1 Q = Q 1 Q 2 Q m 1 pentru a obţine PAQ = LU Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 20 / 42

Pivotare totală Liu Hui c. 220 c. 280 Matematician chinez, a discutat eliminarea,,gaussiană în comentariile sale asupra lucrării,,cele nouă capitole ale artei matematice 263 AD Carl Friedrich Gauss 1777-1855 Matematică, astronomie, geodezie, magnetism 1809 GE (Ca adolescent în Braunschweig a descoperit teorema binomială, reciprocitatea pătratică, media aritmetico-geometrică... ) 1807-1855: Universitatea din Göttingen adu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 21 / 42

Stabilitatea LU Stabilitatea LU fără pivotare Stabilitatea LU fără pivotare Pentru A = LU calculată fără pivotare: LŨ = A + δa, δa L U = O(eps) Eroare se referă la LŨ, nu la L sau Ũ Notă: la numitor apare L U, nu A L şi U pot fi arbitrar de mari, de exemplu [ ] [ ] [ 10 20 1 1 0 10 20 1 A = = 1 1 10 20 1 0 1 10 20 Deci, algoritmul este nestabil ] Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 22 / 42

Stabilitatea LU Stabilitatea LU cu pivotare Stabilitatea LU cu pivotare Daca se face pivotare, toate elementele lui L sunt 1 în modul, deci L = O(1) Pentru a măsura creşterea lui U, se introduce factorul de creţere care implică U = O(ρ A ) ρ = max ij u ij max ij a ij Pentru descompunerea PA = LU calculată cu pivotare: LŨ = PA + δa, δa A = O(ρeps) Dacă ρ = O(1), atunci algoritmul este regresiv stabil Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 23 / 42

Factorul de creştere Stabilitatea LU Factorul de creştere Considerăm matricea 1 1 1 1 1 1 1 1 1 1 1 1 = 1 1 1 2 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 8 1 1 1 1 1 1 1 1 1 1 16 Nu apare nici o pivotare, deci aceasta este o factorizare PA = LU Factorul de creştere ρ = 16 = 2 m 1 (se poate arăta că acesta este cazul cel mai nefavorabil) Deci, ρ = 2 m 1 = O(1), uniform, pentru toate matricele de dimensiune m Regresiv stabil conform definiţiei, dar rezultatul poate fi inutil Totuşi, nu se ştie exact de ce, factorii de creştere sunt mici în practică Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 24 / 42

Descompunerea Cholesky Matrice SPD Matrice SPD Reamintim: A R m m este simetrică dacă a ij = a ji, sau A = A T A C m m este hermitiană dacă a ij = a ji, sau A = A O matrice hermitiană A este hermitian pozitiv definită dacă x Ax > 0 pentru x = 0 x Ax este întotdeauna real deoarece x Ay = y Ax Simetric pozitiv definită, sau SPD, pentru matrice reale dacă A este m m PD şi X are rang maxim, atunci X AX este PD Deoarece (XAX ) = X AX, şi dacă x = 0 atunci Xx = 0 şi x (X AX )x = (Xx) A(Xx) > 0 Orice submatrice principală a lui A este PD, şi orice element diagonal a ii > 0 matricele PD au valori proprii reale pozitive şi vectori proprii ortonormali Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 25 / 42

Factorizarea Cholesky Descompunerea Cholesky Factorizarea Cholesky Se elimina sub pivot şi la dreapta pivotului (datorită simetriei): [ a11 w A = ] [ ] [ α 0 α w = ] /α w K w/α I 0 K ww /a 11 [ ] [ ] [ α 0 1 0 α w = ] /α w/α I 0 K ww = R1 A /a 11 0 I 1 R 1 unde α = a 11 K ww /a 11 este o submatrice principală a matricei PD R 1 AR 1 deci elementul ei din stânga sus este pozitive 1, Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 26 / 42

Factorizarea Cholesky Descompunerea Cholesky Factorizarea Cholesky Se aplică recursiv şi se obţine A = (R 1 R 2... R m)(r m... R 2 R 1 ) = R R, r ii > 0 Existenţa şi unicitatea: orice matrice HPD are o factorizare Cholesky unică Algoritmul recursiv de pe folia precedentă nu eşuează niciodată Rezultă şi unicitatea, deoarece α = a 11 este determinat unic (dat) la fiecare pas şi la fel, întreaga linie w/α Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 27 / 42

Descompunerea Cholesky Algoritmul de factorizare Cholesky Algoritmul de factorizare Cholesky Factorizează matricea HPD A C m m în A = R T R: Factorizare Cholesky R := A; for k := 1 to m do for j := k + 1 to m do R j,j:m := R j,j:m R k,j:m R k,j /R k,k R k,k:m := R k,k:m / R k,k Complexitatea (număr de operaţii) m m k=1 j=k+1 2(m j) 2 m k k=1 j=1 j m k 2 m3 3 k=1 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 28 / 42

Exemplu Descompunerea Cholesky Exemplu Să se rezolve sistemul 1 2 1 2 5 3 1 3 3 folosind descompunerea Cholesky. x = Soluţie: Calculând radicalii pivoţilor şi complementele Schur se obţine 1 2 1 1 2 1 1 2 1 B = 5 3 3 1 1 2 1 1. 1 4 10 7 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 29 / 42

Exemplu Descompunerea Cholesky Exemplu Sistemele corespunzătoare sunt: 1 2 1 y = 1 1 1 cu soluţia y = [ 4 2 1 ] T şi 1 2 1 1 1 1 cu soluţia x = [ 1 1 1 ] T. x = 4 10 7 4 2 1, Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 30 / 42

Stabilitatea Descompunerea Cholesky Stabilitateatea Factorul Cholesky calculat R satisface R R = A + δa, δa A = O(eps) algoritmul este regresiv stabil Dar, eroarea în R poate fi mare, R R / R = O(κ(A)eps) Rezolvare Ax = b pentru HPD A cu şi două substituţii Numărul de operaţii Cholesky m 3 /3 Algoritm regresiv stabil: (A + A) x = b, A A = O(eps) Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 31 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Se verifică dacă toate elementele digonale sunt pozitive Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Se verifică dacă toate elementele digonale sunt pozitive Se încearca cu Cholesky; daca se termina cu succes se rezolvă prin substituţie Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Se verifică dacă toate elementele digonale sunt pozitive Se încearca cu Cholesky; daca se termina cu succes se rezolvă prin substituţie 4 Dacă A este Hessenberg, se reduce la o matrice triunghiulară superior şi apoi se rezolvă prin substituţie inversă Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Se verifică dacă toate elementele digonale sunt pozitive Se încearca cu Cholesky; daca se termina cu succes se rezolvă prin substituţie 4 Dacă A este Hessenberg, se reduce la o matrice triunghiulară superior şi apoi se rezolvă prin substituţie inversă 5 Dacă A este pătratică, se factorizează PA = LU şi se rezolvă prin substituţie inversă Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Backslash în MATLAB Backslash în MATLAB x=a\b pentru A densă realizează următorii paşi 1 Dacă A este triunghiulară superior sau inferior se rezolvă prin substituţie inversă sau directă 2 Dacă A este o permutare a unei matrice triunghiulare, se rezolvă prin substituţie (utilă pentru [L,U]=lu(A) căci L este permutată) 3 Dacă A este simetrică sau hermitiană Se verifică dacă toate elementele digonale sunt pozitive Se încearca cu Cholesky; daca se termina cu succes se rezolvă prin substituţie 4 Dacă A este Hessenberg, se reduce la o matrice triunghiulară superior şi apoi se rezolvă prin substituţie inversă 5 Dacă A este pătratică, se factorizează PA = LU şi se rezolvă prin substituţie inversă 6 Dacă A nu este pătratică, se face factorizare QR cu metoda Householder, şi se rezolvă problema de aproximare în sensul celor mai mici pătrate adu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 32 / 42

Descompunere QR Descompunere QR Fie A C m n. Se numeşte descompunere QR a lui A perechea de matrice (Q, R) unde Q C m n este unitară, R C n n este triunghiulară superior şi A = QR. Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 33 / 42

Descompunere QR Triunghiularizare Householder Metoda lui Householder Metoda lui Householder înmulţeşte cu matrice unitare pentru a transform matricea într-una triunghiulară; de exemplu la primul pas: r 11 0 Q 1 A = 0...... 0 La sfârşit, am obţinut un produs de matrice ortogonale Triunghiularizare ortogonală Q n... Q 2 Q }{{} 1 A = R Q Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 34 / 42

Introducerea de zerouri Introducerea de zerouri Q k introduce zerouri sub diagonală în coloana k Păstrează zerourile introduse anterior 0 Q 1 0 Q 2 0 0 0 0 0 A Q 1 A Q 2 Q 1 A Q3 0 0 Q 3 Q 2 Q 1 A Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 35 / 42

Reflectori Householder Reflectori Householder Fie Q k de forma Q k = [ I 0 0 F unde I este (k 1) (k 1) şi F este (m k + 1) (m k + 1) Creăm reflectorul Householder F care introduce zerouri: x 0 x =. Fx = ]. 0 = x e 1 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 36 / 42

Reflectori Householder-Ideea Reflectori Householder-Ideea Ideea: reflectăm în raport cu hiperplanul H, ortogonal pe v = x 2 e 1 x, aplicând matricea unitară F = I 2 vv v v A se compara cu proiectorul P v = I vv v v Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 37 / 42

Alegerea reflectorului Alegerea reflectorului Putem aplica relexia oricărui multiplu z al lui x e 1 cu z = 1 Proprietăţi numerice mai bune pentru v mare, de exemplu v = sign(x 1 ) x e 1 + x Notă: sign(0) = 1, dar în MATLAB, sign(0)==0 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 38 / 42

Algoritmul lui Householder Algoritmul lui Householder Calculează factorul R al descompunerii QR a matricei m n A (m n) Lasă rezultatul în A, memorând vectorii de reflexie v k pentru utilizare ulterioară Factorizare QR prin metoda Householder for k := 1 to n do x := A k:m,k ; v k := sign(x 1 ) x 2 e 1 + x; v k := v k / v k 2 ; A k:m,k:n = A k:m,k:n 2v k (v k A k:m,k:n) Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 39 / 42

Aplicarea sau obţinerea lui Q Aplicarea sau obţinerea lui Q Calculăm Q b = Q n... Q 2 Q 1 b şi Qx = Q 1 Q 2... Q n x implicit Pentru a crea Q explicit, aplicăm pentru x = I Calculul implicit al lui Q b for k := 1 to n do b k:m = b k:m 2v k (v k b k:m); Calculul implicit al lui Qx for k := n downto 1 do x k:m = x k:m 2v k (v k x k:m); Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 40 / 42

Complexitatea -Householder QR Complexitatea -Householder QR Cea mai mare parte a efortului Operaţii pe iteraţie: A k:m,k:n = A k:m,k:n 2v k (v k A k:m,k:n) 2(m k)(n k) pentru produsele scalare v k A k:m,k:n (m k)(n k) pentru produsul exterior 2v k ( ) (m k)(n k) pentru scăderea A k:m,k:n 4(m k)(n k) total Incluzând ciclul exterior, totalul devine n k=1 4(m k)(n k) = 4 n k=1 ( mn k (m + n) + k 2 ) 4mn 2 4(m + n)n 2 /2 + 4n 3 /3 = 2mn 2 2n 3 /3 Radu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 41 / 42

Complexitatea -Householder QR Figure: Alston S. Householder (1904-1993), matematician american. Contribuţii importante: biologie mtematică, algebră liniară numerică. Cartea sa The theory of matrices in numerical analysis a avut un mare impact asupra dezvoltării analizei numerice şi a informaticii. Figure: James Wallace Givens (1910-1993) Pionier al algebrei liniare numerice şi informaticii adu T. Trîmbiţaş (Universitatea Babeş-Bolyai Metode ) directe pentru sisteme de ecuaţii liniare March 26, 2008 42 / 42