Oznake in osnovne definicije

Σχετικά έγγραφα
matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

13. Jacobijeva metoda za računanje singularnega razcepa

Reševanje sistemov linearnih enačb

Osnove linearne algebre

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

8. Posplošeni problem lastnih vrednosti

Reševanje sistema linearnih

Problem lastnih vrednosti

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Poglavje 2. Sistemi linearnih enačb

Lastne vrednosti in lastni vektorji

11. Posplošeni problemi lastnih vrednosti

Tretja vaja iz matematike 1

Problem lastnih vrednosti 1 / 20

Uporabna matematika za naravoslovce

5.1 Predpogojevanje. K 1 Ax = K 1 b,

Splošno o interpolaciji

11.5 Metoda karakteristik za hiperbolične PDE

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Numerične metode 2 (finančna matematika)

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

MATEMATIKA II TEORIJA

Matematično modeliranje. Simpleksna metoda.

Kanonična oblika linearnega programa. Simpleksna metoda. Bazne rešitve kanoničnega linearnega programa.

Matematika. BF Lesarstvo. Zapiski ob predavanjih v šolskem letu 2009/2010

Vektorski prostori s skalarnim produktom

Poliedri Ines Pogačar 27. oktober 2009

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

Tadeja Kraner Šumenjak MATEMATIKA. Maribor, 2010

Linearna algebra. Bojan Orel Fakulteta za računalništvo in informatiko

Algebraične strukture

VEKTORJI. Operacije z vektorji

Uvod v numerične metode

Booleova algebra. Izjave in Booleove spremenljivke

ZBIRKA REŠENIH NALOG IZ MATEMATIKE II

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Navadne diferencialne enačbe

1 Fibonaccijeva stevila

Analiza 2 Rešitve 14. sklopa nalog

Inverzni problem lastnih vrednosti evklidsko razdaljnih matrik

Uvod v numerične metode (matematika)

Bor Plestenjak. Numerične metode. delovna verzija. verzija: 4. marec 2010

Uvod v numerične metode

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

Numerična analiza. Bor Plestenjak. Fakulteta za matematiko in fiziko. Jadranska 21, 4. nadstropje, soba 4.04

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

3.1 Reševanje nelinearnih sistemov

Elementi spektralne teorije matrica

diferencialne enačbe - nadaljevanje

IZPIT IZ ANALIZE II Maribor,

Kotne in krožne funkcije

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA SANDRA BOLTA LASTNE VREDNOSTI GRAFA DIPLOMSKO DELO

Univerza v Mariboru. Uporaba matematičnih metod v logistiki 1 Priročnik

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

Gimnazija Krˇsko. vektorji - naloge

Iterativne numerične metode v linearni algebri

Matematika. Funkcije in enačbe

Lastne vrednosti in vektorji

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

INŽENIRSKA MATEMATIKA I

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

Numerično reševanje. diferencialnih enačb II

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

8. Navadne diferencialne enačbe

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Ax = b. 7x = 21. x = 21 7 = 3.

Metoda glavnih komponent

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Funkcije več spremenljivk

Matematika vaja. Matematika FE, Ljubljana, Slovenija Fakulteta za Elektrotehniko 1000 Ljubljana, Tržaška 25, Slovenija

Osnove matematične analize 2016/17

Algoritmi nad grafi v jeziku linearne algebre

INTEGRALI RACIONALNIH FUNKCIJ

MATRIČNI ZAPIS MODELA IN OSNOVE MATRIČNE OPERACIJE

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Realne funkcije. Elementarne funkcije. Polinomi in racionalne funkcije. Eksponentna funkcija a x : R R + FKKT Matematika 1

22. Kdaj sta dva vektorja vzporedna? FGG geodezija UNI Matematika I, 2005/ Kdaj so vektorji a 1, a 2,..., a n linearno neodvisni?

1. VAJA IZ TRDNOSTI. (linearna algebra - ponovitev, Kroneckerjev δ i j, permutacijski simbol e i jk )

Kotni funkciji sinus in kosinus

1 Seštevanje vektorjev in množenje s skalarjem

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

Transcript:

Oznake in osnovne definicije B Plestenjak, JKozak: Numerične metode 2011-2012 1 / 53 Sistem n linearnih enačb z n neznankami 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 na kratko zapišemo v obliki Ax = b, A R n n (C n n ), x, b R n (C n ), kjer je A realna (kompleksna) matrika, x, b pa realna (kompleksna) vektorja Pri tem (i, j)-ti element matrike A označimo z a ij, x i pa je i-ti element vektorja x

Zapis matrik in vektorjev Vektor x z n komponentami zapišemo kot x 1 x 2 x = = [x 1, x 2, x n ] T x n Matriko A zapišemo po elementih, stolpcih ali vrsticah v obliki a 11 a 1n A = = [a 1 a n ] = α T 1, a n1 a nn α T n kjer so npr a i, α i C n Z e i := [e i1,, e in ] T R n označimo enotski vektor, za katerega velja e ij = δ ij Torej je Ae k = a k k-ti stolpec A, e T i A = α T i i-ta vrstica A, e T i Ae k = a ik (i, k)-ti element A A T pomeni transponirano matriko A, A H pa je A T B Plestenjak, JKozak: Numerične metode 2011-2012 2 / 53

Produkti matrik in vektorjev B Plestenjak, JKozak: Numerične metode 2011-2012 3 / 53 Skalarni produkt vektorjev x in y zapišemo v obliki x, y realna: y T x = n i=1 x iy i, x, y kompleksna: y H x = n i=1 x iy i Množenje vektorja z matriko y = Ax si lahko predstavljamo na dva načina: y i = α T i x: i-ti element y je produkt i-te vrstice A in vektorja x, y = n i=1 x ia i : y je linearna kombinacija stolpcev matrike A Podobno si lahko množenje matrik C = AB predstavljamo na tri načine: c ij = α T i b j : (i, j)-ti element C je produkt i-te vrstice A in j-tega stolpca B, c i = Ab i : i-ti stolpec C je produkt A in i-tega stolpca B, C = n i=1 a i β T i : C je vsota n produktov i-tega stolpca A in i-te vrstice B Matriki oblike xy T, kjer je x, y 0, imenujemo diada in ima rang ena

Lastnosti matrik B Plestenjak, JKozak: Numerične metode 2011-2012 4 / 53 Kvadratna n n matrika A je neizrojena ali nesingularna, če izpolnjuje enega izmed ekvivalentnih pogojev: obstaja inverz A 1, tako da je AA 1 = A 1 A = I, det(a) 0, rang(a) = n (maksimalno število linearno neodvisnih vrstic ali stolpcev), ne obstaja x 0, da je Ax = 0 Matrika A je simetrična, če velja A = A T Če velja A = AH, je matrika hermitska Simetrična matrika je pozitivno definitna, če za vsak x 0 velja x T Ax > 0 Podobno je hermitska matrika pozitivno definitna, če za vsak x 0 velja x H Ax > 0

Lastnosti matrik B Plestenjak, JKozak: Numerične metode 2011-2012 5 / 53 Če za skalar λ in neničelni vektor x velja Ax = λx, potem je λ lastna vrednost, x pa pripadajoči lastni vektor Vsaka matrika ima n lastnih vrednosti, ki so ničle karakterističnega polinoma p(λ) := det(a λi ) ali včasih p(λ) := det(λi A) Pri prvi obliki je vodilni koeficient karakterističnega polinoma ( 1) n, pri drugi 1 Lastne vrednosti λ 1,, λ n realne simetrične matrike so realne, lastne vektorje x 1,, x n pa lahko izberemo tako, da tvorijo ortonormirano bazo, kar pomeni x T i x j = δ ij Za lastne vrednosti simetrične pozitivno definitne matrike velja λ i > 0

Vektorske in matrične norme B Plestenjak, JKozak: Numerične metode 2011-2012 6 / 53 Definicija vektorske norme Vektorska norma je preslikava : C n R, za katero velja 1 x 0, x = 0 x = 0, 2 αx = α x, 3 x + y x + y (trikotniška neenakost), za vsak x, y C n in α C Najbolj znane vektorske norme so: n x 1 = x i (1-norma), i=1 ( n ) 1/2 x 2 = x i 2 x = i=1 max x i i=1,,n (2-norma ali evklidska norma), ( -norma ali max norma)

Ekvivalenca norm B Plestenjak, JKozak: Numerične metode 2011-2012 7 / 53 Ker je po privzetku n vseskozi končen, sta poljubni dve vektorski normi a in b ekvivalentni To pomeni, da obstajata konstanti C 1, C 2 > 0, da za vsak x C n velja C 1 x a x b C 2 x a Za najpogostejše norme veljajo ocene: x 2 x 1 n x 2 x x 2 n x x x 1 n x Cauchy-Schwartzeva neenakost: y H x x 2 y 2

Matrična norma B Plestenjak, JKozak: Numerične metode 2011-2012 8 / 53 Definicija matrične norme Matrična norma je preslikava : C n n R, za katero velja 1 A 0, A = 0 A = 0, 2 αa = α A, 3 A + B A + B (trikotniška neenakost), 4 AB A B (submultiplikativnost), za poljubni A, B C n n in α C Primer je Frobeniusova norma m A F = i=1 j=1 n a ij 2 1 2

Operatorske norme B Plestenjak, JKozak: Numerične metode 2011-2012 9 / 53 Operatorske matrične norme Operatorske matrične norme so definirane z A := max x 0 x C n kjer je vektorska norma Ax x = max x =1 Ax, Ker vektorska norma generira operatorsko matrično normo, ji dodamo oznako pripadajoče vektorske norme, npr za 2 je pripadajoča matrična norma tudi druga norma, A 2 Izrek Za operatorske norme velja Ax A x Dokaz Za x = 0 trditev očitno velja Naj bo x 0 Tedaj je Ax x max Ax x 0 x = A x C n

Najpogostejše operatorske matrične norme B Plestenjak, JKozak: Numerične metode 2011-2012 10 / 53 Izrek Najpogosteje uporabljane matrične norme so A 1 = max Ax 1 = max a ij x 1=1 j=1,,n A 2 = max x 2=1 Ax 2 = A = max Ax = x =1 max i=1,,n max i=1,,n i=1,,n (1-norma) λ i (A H A) ( spektralna ali 2-norma ) n a ij j=1 ( -norma)

1-norma B Plestenjak, JKozak: Numerične metode 2011-2012 11 / 53 Lema ( n ) A 1 = max Ax 1 = max a ij = n a il x 1=1 j=1,,n i=1 i=1 Dokaz i=1 A 1 = max x 1=1 Ax 1 Ae l 1 = j=1 i=1 j=1 j=1 n a il, kar dokazuje neenakost v eno smer Po drugi strani je ( n n n n n n n ) Ax 1 = a ij x j a ij x j = x j a ij a il x 1 i=1 i=1 i=1

Spektralna norma B = A H A je hermitska in nenegativno definitna, saj je B H = B in x H Bx 0 za vsak x C n Lastne vrednosti B so nenegativne in jih lahko zapišemo urejene po velikosti kot σ 2 1 σ 2 2 σ 2 n 0 Pozitivne kvadratne korene σ 1 σ 2 σ n 0 lastnih vrednosti A H A imenujemo singularne vrednosti matrike A Lema A 2 = σ 1 (A) = max λ i (A H A) (spektralna norma) i=1,,n Dokaz Obstaja ortonormirana baza za C n, ki jo sestavljajo lastni vektorji A H Au i = σi 2u i, i = 1,, n Če vektor x zapišemo kot x = n i=1 α iu i dobimo n n Ax 2 2 = x H (A H Ax) = ( α i u i ) H ( α i σi 2 u i ) = i=1 n α i 2 σi 2 σ1 2 i=1 i=1 B Plestenjak, JKozak: Numerične metode 2011-2012 12 / 53 i=1 n α i 2 = σ1 x 2 2 2

-norma B Plestenjak, JKozak: Numerične metode 2011-2012 13 / 53 Lema A = max Ax = x =1 max i=1,,n ( ) n a ij = n a lj j=1 j=1 Dokaz Naj bo x R n vektor s komponentami Tedaj A = x i := { alj a lj, a lj 0, 0, sicer max Ax A x = x =1 kar dokazuje neenakost v eno smer Po drugi strani je n Ax = max a ij x j i=1,,n j=1 max i=1,,n n j=1 n a lj, j=1 a ij x j x max i=1,,n n a ij j=1

Ekvivalenca matričnih norm B Plestenjak, JKozak: Numerične metode 2011-2012 14 / 53 Frobeniusova norma ni operatorska, saj za operatorske norme velja I = 1, medtem ko je I F = n Zgled vrednosti norm 3 1 2 Za A = 4 1 8, A T A = 1 5 0 26 4 26 4 27 10 26 10 68 dobimo A 1 = 10, A = 13, A F = 11, A 2 = 902316 Matrične norme so medsebojno ekivalentne Z naslednjimi ocenami lahko ocenimo A 2 z lažje izračunljivimi normami: 1 n A F A 2 A F 1 n A 1 A 2 n A 1 1 n A A 2 n A max a ij A 2 n max a ij i,j=1,,n i,j=1,,n A 2 A 1 A

Lastne vrednosti in norma λ A B Plestenjak, JKozak: Numerične metode 2011-2012 15 / 53 Realna matrika Q je ortogonalna, če je Q 1 = Q T, kompleksna matrika U je unitarna, če je U 1 = U H Za množenje z unitarno matriko velja Ux 2 = x 2, saj je Lema Ux 2 2 = (Ux) H (Ux) = x H U H Ux = x H x = x 2 2 Frobeniusova in spektralna norma sta invariantni na množenje z unitarno matriko: A F = UA F = AU F in A 2 = UA 2 = AU 2 Dokaz Naj bo A = [a 1, a 2,, a n ] T in U unitarna matrika Tedaj n n UA 2 F = Ua j 2 = a j 2 2 = A 2 F j=1 j=1 Lema Za vsako matrično normo in poljubno lastno vrednost λ matrike A velja

Inverz matrike, ki je blizu enotske B Plestenjak, JKozak: Numerične metode 2011-2012 16 / 53 Lema Če je X < 1, potem velja Dokaz a) a) I X je neizrojena (nesingularna) matrika, b) (I X ) 1 = X i, i=0 c) Če je I = 1, je (I X ) 1 1 1 X Če je I X singularna matrika, obstaja z 0, da je (I X )z = 0 To pomeni z = X z X z < z, protislovje b) Vrsta i=0 X i je konvergentna, saj je konvergentna vrsta norm členov Take vrste smemo odštevati Torej X i X X i = I = (I X ) X i i=0 i=0 i=0

Občutljivost linearnih sistemov B Plestenjak, JKozak: Numerične metode 2011-2012 17 / 53 Zanima nas občutljivost rešitve linearnega sistema na spremembe podatkov Naj bo Ax = b in (A + δa)(x + δx) = b + δb Tedaj δx = (A + δa) 1 ( δax + δb) = (I + A 1 δa) 1 A 1 ( δax + δb) Če predpostavimo, da je A 1 δa < 1, potem je I + A 1 δa nesingularna in vemo (I + A 1 δa) 1 1 1 A 1 δa 1 1 A 1 δa Dobimo A 1 δx ( δa x + δb ) 1 A 1 δa Delimo z x, števec in imenovalec množimo z A : δx x A 1 1 A 1 δa Upoštevamo b = Ax A x : δx x A 1 A 1 A 1 A δa A ( δa A A + δb A x A ( δa A + δb ) b )

Občutljivost linearnih sistemov B Plestenjak, JKozak: Numerične metode 2011-2012 18 / 53 Izpeljali smo oceno δx x κ(a) 1 κ(a) δa A ( δa A + δb ), b kjer je κ(a) := A 1 A občutljivost oz pogojenostno število matrike A Če računamo z natančnostjo ɛ, je torej normalno, da dobimo rešitev z natančnostjo κ(a)ɛ Za občutljivost velja 1 κ(a), saj je 1 I = AA 1 A A 1 Za spektralno občutljivost velja κ 2 (A) = σ 1(A) σ n (A) Matrike, ki imajo spektralno občutljivost 1, so le z neničelnim skalarjem pomnožene unitarne matrike

Determinanta ni merilo za občutljivost B Plestenjak, JKozak: Numerične metode 2011-2012 19 / 53 Občutljivost κ(a) = A 1 A ni povezana z velikostjo determinante matrike! Tako ima npr matrika αi lahko zelo veliko ali zelo majhno determinanto α n, njeno pogojenostno število pa je 1 Po drugi strani pa ima npr matrika 1 1 1 1 1 2 n 2 0 1 1 B n =, 0 0 1 B 1 n = 0 1 2 n 3 0 0 1 determinanto 1, občutljivost merjena v normi pa n2 n 1

Zgled zelo občutljivega sistema B Plestenjak, JKozak: Numerične metode 2011-2012 20 / 53 Naj bo f C ([0, 1]) Iščemo polinom p(x) := a 1 + a 2 x + + a n x n 1, za katerega je napaka E := 1 minimalna Potreben pogoj zahteva To da pogoje 1 0 E a i = 2 f (x)x i 1 dx = 1 0 1 0 0 (f (x) p(x)) 2 dx (p(x) f (x))x i 1 dx = 0, i = 1,, n ( n ) a j x j 1 x i 1 dx = j=1 n 1 a j x i+j 2 dx = j=1 0 n j=1 a j 1 i + j 1 Dobimo sistem linearnih enačb H n a = b, kjer je H n Hilbertova matrika z elementi h ij = 1 i+j 1 Hilbertove matrike so zelo občutljive: κ(h 4 ) = 16 10 4, κ(h 7 ) = 48 10 8 in κ(h 10 ) = 16 10 13

Ostanki B Plestenjak, JKozak: Numerične metode 2011-2012 21 / 53 Denimo, da smo numerično rešili linearni sistem Ax = b in dobili približek x za točno rešitev Kako lahko ugotovimo, ali je dobljena rešitev dobra? Izračunamo lahko ostanek r := b A x in pogledamo njegovo normo r Ker se ostanek spremeni, če sistem Ax = b pomnožimo s poljubnim skalarjem, rešitev x pa ostane nespremenjena, je pravilno gledati relativni ostanek r A x Napaka pri x je z relativnim ostankom povezana z oceno δx x κ(a) r A x To pomeni, da iz majhnega relativnega ostanka lahko sklepamo na majhno relativno napako rešitve samo tedaj, ko je matrika A dobro pogojena

Relativni ostanek je vedno majhen Iz obratne napake (A + δa) x = b dobimo r δa x oziroma r A x δa A Zaradi tega bo rešitev, dobljena s stabilnim algoritmom, vedno imela majhen relativni ostanek, to pa pomeni, da relativni ostanek sam ni pravo merilo za točnost dobljene rešitve Če hočemo imeti zagotovilo, da je izračunana rešitev dobra, mora torej biti poleg majhega relativnega ostanka še matrika dobro pogojena Pogojenost matrike lahko ugotovimo iz κ(a), kjer pa potrebujemo A 1 Na srečo obstajajo algoritmi, s katerimi lahko dobimo dovolj dobro oceno za A 1 brez računanja A 1 Če bi namreč izračunali A 1, bi za to potrebovali več operacij, kot pa jih sicer potrebujemo, da izračunamo rešitev linearnega sistema Ax = b Oceno δx x A 1 r, x uporabljamo v kombinaciji z algoritmi, ki ocenijo A 1 brez računanja A 1 B Plestenjak, JKozak: Numerične metode 2011-2012 22 / 53

Permutacijske matrike in elementarne eliminacije B Plestenjak, JKozak: Numerične metode 2011-2012 23 / 53 Osnovna ideja pri reševanju sistema linearnih enačb Sistem enačb Ax = b pretvorimo z matričnimi transformacijami na ekvivaletno obliko, v kateri lahko izračunamo vrednosti neznank x Pretvorbo izpeljemo z uporabo dveh vrst matrik: ( permutacijske) matrike 1 2 n in elementarne eliminacije Permutaciji σ = ustreza σ 1 σ 2 σ n permutacijska matrika P σ = e T σ 1 e T σ n Lastnosti permutacijskih matrik P 1 σ = P T σ P σ A: s σ premešane vrstice A AP σ : s σ 1 premešani stolpci A

Elementarne eliminacije Naj za vektor x R n velja x k 0 Za nesingularno matriko L k := 1 1 l k+1,k 1 l n,k 1 =: I l k e T k, l k = 0 0 l k+1,k l n,k, kjer je l jk = x j x k za j = k + 1,, n, potem velja L k x 1 x k x k+1 x n = x 1 x k 0 0 Matriko L k imenujemo elementarna eliminacija Uniči vse elemente vektorja x od (k + 1)-vega navzdol B Plestenjak, JKozak: Numerične metode 2011-2012 24 / 53

B Plestenjak, JKozak: Numerične metode 2011-2012 25 / 53 Inverz matrike L k je kar 1 L 1 k = I + l k e T k = 1 l k+1,k 1, l n,k 1 l k e k l k e k saj je ( I l k e ) ( T k I + l k e ) T k = I, ker je e T k l k = 0 Produkt matrik L 1 1 L 1 2 L 1 n 1 je enak 1 l 21 1 l 31 l 32 1 l n1 l n2 l n,n 1 1 e k l k

LU razcep Naj bo a 11 a 12 a 1n a 21 a 22 a 2n A = a n1 a n2 a nn in a 11 0 Z zaporedjem matričnih množenj jo pretvorimo v zgornje trikotno matriko Za eliminacijsko matriko na prvem koraku dobimo 1 l 21 1 L 1 =, l n1 1 kjer je l 21 = a21 a 11,, l n1 = an1 a 11 velja a 11 a 11 a 11 a 12 a 1n a 21 L 1 = 0, torej 0 a (1) A(1) 22 a (1) 2n := L 1 A = a n1 0 0 a (1) n2 a nn (1) B Plestenjak, JKozak: Numerične metode 2011-2012 26 / 53

B Plestenjak, JKozak: Numerične metode 2011-2012 27 / 53 Na drugem koraku je a 11 a 12 a 13 a 1n 0 a (1) 22 a (1) 23 a (1) 2n A (2) := L 2 A (1) = 0 0 a (2) 33 a (2) 3n, 0 0 a (2) n3 a nn (2) kjer je 1 L 2 = 1 l 32 1, l n2 1 in l 32 = a(1) 32 a (1) 22,, l n2 = a(1) n2 a (1) 22

B Plestenjak, JKozak: Numerične metode 2011-2012 28 / 53 Po n 1 korakih dobimo a 11 a 12 a 1n a (1) 22 a (1) 2n U := L n 1 L 2 L 1 A = }{{}, =:L 1 a nn (n 1) in L = L 1 1 L 1 2 L 1 n 1 = 1 l 21 1 l 31 l 32 1 l n1 l n2 l n,n 1 1 Izpeljali smo LU razcep brez pivotiranja ali Gaussov razcep brez pivotiranja A = LU Diagonalni elementi a 11, a (1) 22,, a(n 2) n 1,n 1, s katerimi delimo, se imenujejo pivoti, l ij pa kvocienti Pivoti morajo biti neničelni, sicer metoda odpove

Izrek Za matriko A je ekvivalentno: 1) Obstaja enolični razcep A = LU, kjer je L spodnja trikotna matrika z enicami na diagonali in U nesingularna zgornja trikotna matrika 2) Vse vodilne podmatrike A(1 : k, 1 : k) so nesingularne Dokaz Pokažimo, da iz 1) sledi 2) Zapišimo razcep A = LU bločno, [ ] [ ] [ ] [ ] A11 A 12 L11 0 U11 U = 12 L11 U = 11 L 11 U 12 A 21 A 22 L 21 L 22 0 U 22 L 21 U 11 L 21 U 12 + L 22 U 22 Tu je A 11 poljubna vodilna podmatrika matrike A Odtod A 11 = L 11 U 11 in det A 11 = det (L 11 U 11 ) = det U 11 0, saj je U 11 neizrojena Dokaz v obratni smeri izpeljemo z indukcijo po velikosti vodilne podmatrike k Za k = 1 trditev velja, saj za a 11 0 obstaja razcep a 11 = 1u 11, u 11 0 Naj trditev velja za dani k Naj bo sedaj [ ] A11 A A(1 : k + 1, 1 : k + 1) = 12, A A 21 A 11 = A(1 : k, 1 : k), 22 bločni razrez vodilne podmatrike pri k + 1 Očitno je A 21 vrstica, A 12 stolpec in A 22 skalar B Plestenjak, JKozak: Numerične metode 2011-2012 29 / 53

Gaussova eliminacija brez pivotiranja Če obstaja LU razcep matrike A(1 : k + 1, 1 : k + 1), je nujno oblike [ ] [ ] [ ] [ ] A11 A 12 L11 0 U11 U = 12 L11 U = 11 L 11 U 12 A 21 A 22 L 21 L 22 0 U 22 L 21 U 11 L 21 U 12 + L 22 U 22 kjer je L 22 = 1 in po induktivni predpostavki je A 11 = L 11 U 11 Tu je L 11 neizrojena spodnje trikotna matrika z enicami na diagonali in U 11 neizrojena zgornje trikotna matrika Torej je U 12 = L 1 11 A 12, L 21 = A 21 U 1 11 in U 22 = A 22 L 21 U 12 Pri tem mora biti U 22 0, saj je U 22 det U 11 = det A(1 : k + 1, 1 : k + 1) 0 Algoritem: za j = 1,, n 1 za i = j + 1,, n l ij = a ij a jj ; za k = j + 1,, n a ik = a ik l ij a jk ; Število operacij je n 1 j=1 n i=j+1 ( 1 + n k=j+1 2 ) = 2 3 n3 1 2 n2 1 6 n B Plestenjak, JKozak: Numerične metode 2011-2012 30 / 53

Zgled LU razcepa brez pivotiranja B Plestenjak, JKozak: Numerične metode 2011-2012 31 / 53 2 2 3 Zgled: Izračunajmo LU razcep za A = 4 5 6 1 2 4 1 0 0 A (1) = 2 1 0 A = 1 2 0 1 U = A (2) = 1 0 0 0 1 0 A (1) = 0 1 1 1 0 0 L = 2 1 0 1 2 1 1 2 2 3 0 1 0 5 0 1 2 2 2 3 0 1 0 5 0 0 2

Reševanje sistema Ax = b Število operacij je n i=1 (1 + 2(i 1)) = n2 B Plestenjak, JKozak: Numerične metode 2011-2012 32 / 53 1) A = LU, 2) Ly = b, 3) Ux = y Sistem Ly = b rešujemo s premo substitucijo Iz 1 y 1 b 1 l 21 1 y 2 = b 2 l n1 l n,n 1 1 y n b n dobimo od tod pa algoritem l i1 y 1 + + l i,i 1 y i 1 + y i = b i, i = 1,, n, za i = 1,, n y i = b i i 1 j=1 l ijy j ;

B Plestenjak, JKozak: Numerične metode 2011-2012 33 / 53 Sistem Ux = y rešujemo z obratno substitucijo Iz u 11 u 1n x 1 y 1 = u nn x n y n dobimo od tod pa algoritem u ii x i + u i,i+1 x i+1 + + u in x n = y i, i = 1,, n, za i = n, n 1,, 1 ( x i = 1 u ii y i n j=i+1 u ijx j ); Število operacij je n i=1 (2 + 2(i 1)) = n2 + n (še deljenja na diagonali)

Sistemov ne rešujemo s pomočjo inverzne matrike B Plestenjak, JKozak: Numerične metode 2011-2012 34 / 53 Za LU razcep je potrebnih 2 3 n3 + O(n 2 ) operacij, ko pa L in U že poznamo, za reševanje Ax = b porabimo še dodatnih 2n 2 + O (n) operacij Za reševanje sistema Ax = b nikoli ne uporabljamo inverzne matrike A 1, saj: za množenje A 1 b porabimo 2n 2 operacij, kar ni ceneje od reševanja obeh trikotnih sistemov z matrikama L in U; za izračun A 1 potrebujemo 2n 3 operacij, kar je trikrat toliko kot LU razcep; numerične napake so kvečjemu večje Tudi kadar je potrebno izračunati A 1 B, to naredimo tako, da rešimo sistem AX = B

Potreba za pivotiranjem B Plestenjak, JKozak: Numerične metode 2011-2012 35 / 53 Metoda odpove, če je kateri pivot enak 0, numerično pa odpove tudi, če je pivot blizu 0 LU razcep na tri decimalna mesta [ ] 00001 1 Za A = izračunamo 1 1 L = [ ] [ ] [ ] 1 0 00001 1 00001 1, U = = 10000 1 0 fl(1 10000) 0 10000 Velja LU = [ ] 00001 1 A, napaka pa je ogromna 1 0 Rešitev obeh težav je pivotiranje, kjer v algoritem vgradimo zamenjavo vrstic (delno pivotiranje), lahko pa tudi stolpcev (kompletno pivotiranje) Pri delnem pivotiranju pred eliminacijo v j-tem stolpcu primerjamo a jj, a j+1,j,, a nj in zamenjamo j-to vrstico s tisto, ki vsebuje maksimalni element Tako je pri nesingularni matriki v vsakem koraku pivot neničelen, če je le prvotna matrika neizrojena

B Plestenjak, JKozak: Numerične metode 2011-2012 36 / 53 Kot rezultat dobimo razcep PA = LU, kjer je P permutacijska matrika To preverimo takole Razcep s pivotiranjem po vrsticah zapišemo kot U = L n 1 P n 1 L 2 P 2 L 1 P 1 A, kjer je P j premutacijska matrika, ki zamenja vrstice na koraku j, torej vrstici j in q j Torej je Lj := (P n 1 P j+1 ) L j (P n 1 P j+1 ) 1 tudi trikotna matrika Od matrike L j se razlikuje le v tem, da ima morda dele vrstic j : n v stolpcih 1 : j 1, v drugačnem vrstnem redu Če izberemo 1 1 L := L 1 L n 1, P := P n 1 P 1, dobimo iskani razcep Zaradi pivotiranja so v matriki L vsi elementi po absolutni vrednosti omejeni z 1 Izrek Če je A nesingularna, potem obstaja taka permutacijska matrika P, da obstaja LU razcep PA = LU, kjer je L spodnja trikotna matrika z enicami na diagonali in U zgornja trikotna matrika

Delno pivotiranje Pred eliminacijo v j-tem stolpcu primerjamo a jj, a j+1,j,, a nj in zamenjamo j-to vrstico s tisto, ki vsebuje maksimalni element Dodatno delo zahteva O ( n 2) primerjanj Algoritem: za j = 1,, n 1 poišči indeks vrstice q, da velja a qj = max j p n a pj ; zamenjaj vrstici q in j, v matriki A, stolpci j : n, in matriki L, stolpci 1 : j 1; za i = j + 1,, n l ij = a ij a jj ; za k = j + 1,, n a ik = a ik l ij a jk ; Reševanje sistema Ax = b z delnim pivotiranjem: 1) PA = LU, 2) Ly = Pb, 3) Ux = y B Plestenjak, JKozak: Numerične metode 2011-2012 37 / 53

B Plestenjak, JKozak: Numerične metode 2011-2012 38 / 53 Zgled za delno pivotiranje 0 1 2 LU razcep z delnim pivotiranjem za A = 1 2 3 1 0 1 Vsakič, ko zamenjamo vrstici, zamenjavo naredimo tudi v P Ker matriko L hranimo v spodnjem trikotniku A, z zamenjavo vrstic opravimo tudi potrebno zamenjavo v L A (1) = A (2) = 1 2 3 0 1 2, P = 0 1 0 1 0 0, 1 2 2 0 0 1 1 2 3 1 2 2, P = 0 1 0 0 0 1 0 1 2 1 1 0 0 1 1 2 3 Dobimo L = 1 1, U = 2 2 in PA = LU 0 1 2 1 1

LU razcep s kompletnim pivotiranjem B Plestenjak, JKozak: Numerične metode 2011-2012 39 / 53 V j-tem stolpcu pivotni element izbiramo iz cele podmatrike A(j : n, j : n), nato pa izvedemo zamenjavo vrstic in stolpcev Na koncu dobimo razcep PAQ = LU, kjer sta P in Q permutacijski matriki za vrstice oziroma stolpce Število operacij je enako kot pri osnovnem LU razcepu, število primerjanj pa je O(n 3 ) Pri kompletnem pivotiranju sistem Ax = b rešujemo po korakih: 1) PAQ = LU, 2) Ly = Pb =: b, 3) Ux = y, 4) x = Qx

Zgled za kompletno pivotiranje 0 1 1 2 Sistem z A = 1 2 3 in b = 7, rešimo z LU razcepom s polnim 1 1 1 3 pivotiranjem A (1) = 3 2 1 1 1 1 0 1 0 0 0 1 3 3 3, P = 1 0 0, Q = 0 1 0, 0 0 1 1 0 0 1 3 1 3 2 3 A (2) = 3 1 2 1 2 1 0 1 0 0 1 0 3 3 3, P = 0 0 1, Q = 0 0 1 1 0 0 1 0 0 1 3 1 2 1 2 1 3 1 2 Razcep je PAQ = LU, kjer sta L = 1 1 in U = 2 1 3 1 1 3 3 1 1 3 2 2 7 7 2 1 Dobimo b = Pb = 3, y = 2, x = 1 in x = 0 3 2 0 0 2 B Plestenjak, JKozak: Numerične metode 2011-2012 40 / 53

Analiza napak za LU razcep B Plestenjak, JKozak: Numerične metode 2011-2012 41 / 53 Naj bo x numerično izračunana rešitev, x pa točna rešitev Velja (A + δa) x = b, kjer je δa 3gn 3 u A in g pivotna rast g := max i,j u ij max i,j a ij Pri LU razcepu brez pivotiranja je lahko pivotna rast poljubno velika Pri delnem pivotiranju je pivotna rast omejena z 2 n 1, ponavadi pa je O(n 2/3 ) Pri kompletnem pivotiranju je pivotna rast še manjša, vendar je dodatno delo ponavadi preveliko, da bi se to splačalo

Matlab Za računanje norme uporabimo ukaz norm Uporaba: norm(a) ali norm(a,2): spektralna ali 2-norma A 2 norm(a,1): 1-norma A 1 norm(a, inf ): -norma A norm(a, fro ): Frobeniusova norma A F Za reševanje linearnega sistema Ax = b uporabljamo v Matlabu operator \ v obliki x = A\b LU razcep z delnim pivotiranjem dobimo z ukazom lu Uporaba: [L,U,P]=lu(A): L je spodnje trikotna z enicami na diagonali, U je zgornja trikotna in P permutacijska matrika, da je LU = PA [L,U]=lu(A): U je spodnje trikotna, L pa po vrsticah spermutirana spodnje trikotna z enicami na diagonali, da je LU = A B Plestenjak, JKozak: Numerične metode 2011-2012 42 / 53

B Plestenjak, JKozak: Numerične metode 2011-2012 43 / 53 Za izračun oziroma oceno občutljivosti imamo na voljo naslednje ukaze: cond(a) ali cond(a,2) izračuna κ 2 (A) preko singularnih vrednosti oziroma ukaza svd cond(a,1) izračuna κ 1 (A), uporablja inv(a) in porabi manj dela kot cond(a,2) cond(a, inf ) izračuna κ (A), ukaz je ekvivalenten rbcond(a,1) condest(a) vrne oceno za κ 1 (A), ki jo izračuna po Highamovi izboljšavi Hagerjevega algoritma

Kompleksni sistem B Plestenjak, JKozak: Numerične metode 2011-2012 44 / 53 Rešujemo sistem linearnih enačb Ax = b, kjer je A C n n in x, b C n Če računamo v kompleksni aritmetiki, potem lahko uporabimo kar LU razcep z delnim pivotiranjem Sistem lahko prevedemo na dvakrat večji realni sistem [ ] [ ] [ ] A1 A 2 x 1 b1 =, A 2 A 1 x 2 b 2 kjer je A = A 1 + i A 2, x = x 1 + i x 2 in b = b 1 + i b 2 Če primerjamo število realnih operacij, je prvi način za polovico cenejši

Tridiagonalne matrike B Plestenjak, JKozak: Numerične metode 2011-2012 45 / 53 Razcep LU brez pivotiranja tridiagonalne matrike a 1 b 1 c 2 a 2 b 2 A = c n 1 a n 1 b n 1 c n a n je 1 u 1 b 1 l 2 1 L = in U = l n 1 u n 1 b n 1 u n Za razcep in nadaljnje reševanje sistema Ax = b potrebujemo O(n) operacij in O(n) prostora, saj shranimo le neničelne diagonale matrik A, L in U

Tridiagonalne matrike in delno pivotiranje B Plestenjak, JKozak: Numerične metode 2011-2012 46 / 53 Pri delnem pivotiranju dobimo u 1 v 1 w 1 U = u n 2 v n 2 w n 2 u n 1 v n 1 u n pivotna rast pa je omejena z 2 To pomeni, da je reševanje tridiagonalnega sistema preko razcepa LU z delnim pivotiranjem obratno stabilno Podobno velja za pasovne matrike, ki imajo poleg glavne še p diagonal nad in q diagonal pod glavno diagonalo,

Simetrične pozitivno definitne matrike Razcep A = VV T imenujemo razcep Choleskega, V pa faktor Choleskega B Plestenjak, JKozak: Numerične metode 2011-2012 47 / 53 A R n n je simetrična pozitivno definitna (spd), če je A = A T in za vsak x 0 Izrek Velja: x T Ax > 0 1) Naj bo det Y 0 Potem je A spd Y T AY spd 2) A spd in H = A(1 : k, 1 : k) poljubna vodilna podmatrika, k n, = H spd 3) A spd in H = A([i 1 i 2 i k ], [i 1 i 2 i k ]) poljubna podmatrika, simetrična glede na diagonalo = H spd 4) A spd A = A T in vse lastne vrednosti A so pozitivne 5) A spd = a ii > 0 za i in max i,j a ij = max i a ii 6) A spd = LU razcep brez pivotiranja se izvede in u ii > 0 za i 7) A spd obstaja taka nesingularna spodnja trikotna matrika V s pozitivnimi elementi na diagonali, da je A = VV T

Razcep Choleskega Če iz A = VV T zapišemo enačbo za a jk, j k, dobimo a jk = k k 1 v ji v ki = v ji v ki + v jk v kk, i=1 i 1 odtod pa algoritem za razcep Choleskega: za k = 1,, n ( k 1 v kk = a kk i=1 v 2 ki ) 1/2 za j = k + 1,, n ( ) v jk = 1 k 1 a jk v ji v ki v kk i=1 n Število operacij je (2k + 2(n k)k) = 1 3 n3 + O(n 2 ) k=1 Poleg polovice manj operacij porabimo tudi polovico manj prostora kot pri LU razcepu B Plestenjak, JKozak: Numerične metode 2011-2012 48 / 53

Zgled za razcep Choleskega B Plestenjak, JKozak: Numerične metode 2011-2012 49 / 53 Vzemimo matriko 4 2 4 2 4 2 10 1 5 5 A = 4 1 9 2 1 2 5 2 22 7 4 5 1 7 14 Razcep Choleskega da faktor 2 1 3 V = 2 1 2 1 2 1 4 2 1 1 2 2 Če A ni spd, se v algoritmu pod korenom pojavi nepozitivna vrednost Računanje razcepa Choleskega je najcenejša metoda za ugotavljanje pozitivne definitnosti simetrične matrike

Stabilnost razcepa Choleskega B Plestenjak, JKozak: Numerične metode 2011-2012 50 / 53 Reševanje spd sistema Ax = b: 1) A = VV T, 2) V y = b, 3) V T x = y Iz analize napak sledi, da izračunana rešitev x zadošča (A + δa) x = b, kjer je δa 3n 2 ɛ A To pomeni, da je reševanje preko razcepa Choleskega numerično stabilno

Simetrične nedefinitne matrike B Plestenjak, JKozak: Numerične metode 2011-2012 51 / 53 Pri simetrični matriki ne želimo uporabljati razcepa LU, saj ne ohranja simetrije Za nesingularno A obstaja razcep PAP T = LDL T, kjer je L spodnja trikotna matrika z enicami na diagonali, D pa bločno diagonalna matrika z bloki 1 1 ali 2 2 Število operacij za razcep je n 3 3 + O(n2 ) Zgled za to, da potrebujemo 2 2 bloke v D je npr A = [ ] 0 1 1 0

Razpršene matrike B Plestenjak, JKozak: Numerične metode 2011-2012 52 / 53 Matrika je razpršena, če je večina njenih elementov enakih 0, ostali pa nimajo kakšne posebne strukture Pri taki matriki shranimo le indekse in vrednosti neničelnih elementov Pri LU razcepu razpršene matrike oz razcepu Choleskega za spd razpršeno matriko so lahko faktorji L, U oziroma V daleč od razpršenosti Pomaga lahko, če stolpce in vrstice predhodno tako preuredimo, da bo pri razcepu nastalo čim manj novih neničelnih elementov Obstajajo različni algoritmi in pristopi, ki za različne tipe matrik dajejo različne rezultate Ponavadi se za razpršene matrike uporablja iterativne metode namesto direktnih

Matlab in posebni sistemi B Plestenjak, JKozak: Numerične metode 2011-2012 53 / 53 Razcep Choleskega dobimo z ukazom chol Uporaba: V = chol(a): V je taka zgornja trikotna matrika, da je A = V T V Če A ni simetrična pozitivno definitna, dobimo sporočilo o napaki Za delo z razpršenimi matrikami imamo na voljo več ukazov, podroben seznam dobimo z help sparfun, nekaj glavnih ukazov pa je: sparse: konstrukcija razpršene matrike, tako npr A=sparse(B) naredi razpršeno matriko A z neničelnimi elementi matrike B, A=sparse(i,j,a,m,n) pa naredi razpršeno matriko velikosti m n z neničelnimi elementi a k na indeksih (i k, j k ) B=full(A): iz razpršene matrike naredi nazaj polno spy(a): grafično prikaže strukturo matrike A in število neničelnih elementov nz(a): število neničelnih elementov normest(a): oceni 2-normo matrike A