5.1 Predpogojevanje. K 1 Ax = K 1 b,

Σχετικά έγγραφα
13. Jacobijeva metoda za računanje singularnega razcepa

11.5 Metoda karakteristik za hiperbolične PDE

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

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

11. Posplošeni problemi lastnih vrednosti

8. Posplošeni problem lastnih vrednosti

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

Tretja vaja iz matematike 1

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

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):

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

Iterativne numerične metode v linearni algebri

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

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

Oznake in osnovne definicije

Reševanje sistema linearnih

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

Problem lastnih vrednosti 1 / 20

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

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

3.1 Reševanje nelinearnih sistemov

Gimnazija Krˇsko. vektorji - naloge

IZPIT IZ ANALIZE II Maribor,

Problem lastnih vrednosti

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

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Splošno o interpolaciji

Lastne vrednosti in lastni vektorji

Reševanje sistemov linearnih enačb

Poglavje 2. Sistemi linearnih enačb

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

8. Navadne diferencialne enačbe

Booleova algebra. Izjave in Booleove spremenljivke

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Analiza 2 Rešitve 14. sklopa nalog

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

Uvod v numerične metode (matematika)

Numerične metode 2 (finančna matematika)

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

VEKTORJI. Operacije z vektorji

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

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

Navadne diferencialne enačbe

Kotne in krožne funkcije

Uvod v numerične metode

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

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

Uvod v numerične metode

Inverzni problem lastnih vrednosti evklidsko razdaljnih matrik

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

Matematika. Funkcije in enačbe

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

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

REˇSITVE. Naloga a. b. c. d Skupaj. FAKULTETA ZA MATEMATIKO IN FIZIKO Oddelek za matematiko Verjetnost 2. kolokvij 23.

Poliedri Ines Pogačar 27. oktober 2009

Navadne diferencialne enačbe

8. Diskretni LTI sistemi

Osnove linearne algebre

Zbirka rešenih izpitnih nalog iz numeričnih metod

Dragi polinom, kje so tvoje ničle?

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

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

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Prepoznavanje krožnic na digitalnih slikah

Vektorski prostori s skalarnim produktom

Algebraične strukture

UNIVERZA V MARIBORU FAKULTETA ZA KEMIJO IN KEMIJSKO TEHNOLOGIJO MATEMATIKA II

Uporabna matematika za naravoslovce

Osnove matematične analize 2016/17

Programi v Matlabu za predmet numerične metode

Algoritmi nad grafi v jeziku linearne algebre

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Enočlenske metode veljajo trenutno za najprimernejše metode v numeričnem reševanju začetnih problemov. Skoraj vse sodijo v

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

1. Trikotniki hitrosti

Domača naloga 6: dušeno nihanje

Domače naloge za 2. kolokvij iz ANALIZE 2b VEKTORSKA ANALIZA

Matematika 2. Diferencialne enačbe drugega reda

Lastne vrednosti in vektorji

Numerične metode za linearne sisteme upravljanja

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

Funkcije več spremenljivk

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

PROCESIRANJE SIGNALOV

Interpolacija in aproksimacija funkcij

Elementi spektralne teorije matrica

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

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

α i y n i + h β i f n i = 0, Splošni nastavek je k

Linearna algebra 2 prvi kolokvij,

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

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

MATEMATIKA 1 UNIVERZITETNI ŠTUDIJSKI PROGRAM BIOKEMIJA 1. LETNIK

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

Metoda glavnih komponent

Afina in projektivna geometrija

INTEGRALI RACIONALNIH FUNKCIJ

Osnove elektrotehnike uvod

Transcript:

5.1 Predpogojevanje Konvergenca metod podprostorov za reševanje linearnega sistema Ax = b je v veliki meri odvisna od razporeditve lastnih vrednosti (in lastnih vektorjev) matrike A. Kadar je konvergenca počasna, si lahko pomagamo s predpogojevanjem. To pomeni, da namesto sistema Ax = b rešujemo sistem K 1 Ax = K 1 b, kjer za nesingularno matriko K, ki ji pravimo predpogojenka, velja: a) matrika K je dobra aproksimacija matrike A, b) konstrukcija matrike K ni preveč zahtevna, c) sistem z matriko K lahko rešimo dosti enostavneje kot sistem z matriko A. Pri uporabi izbrane metode na predpogojenem sistemu moramo v vsakem koraku izračunati produkt vektorja z matriko K 1 A. Te matrike na izračunamo eksplicitno, temveč v vsakem koraku najprej množimo vektor z matriko A, potem pa rešimo sistem z matriko K.

Levo predpogojevanje Če namesto Ax = b rešujemo sistem K 1 Ax = K 1 b, potem je to levo predpogojevanje. Če uporabljamo katero izmed metod, ki vrača minimalni ostanek (GMRES, MINRES, QMR), potem sedaj namesto ostanka r k = b Ax k minimiziramo predpogojeni ostanek K 1 (b Ax k ). Zaradi tega moramo paziti pri ustavitvenem kriteriju, saj se lahko zgodi, da ostanka nista dovolj usklajena. Problem z levim predpogojevanjem je, da npr. v primeru, ko sta matriki A in K simetrični, matrika K 1 A ni več simetrična. Če je K s.p.d., potem lahko definiramo skalarni produkt [x, y] = x, Ky. skalarnem produktu je K 1 A sebiadjungirana, saj je V tem [K 1 Ax, y] = K 1 Ax, Ky = Ax, y = x, Ay = [x, K 1 Ay]. Če je matrika A pozitivno definitna, potem to v [.,.] velja tudi za K 1 A, saj je [K 1 Ax, x] = K 1 Ax, Kx = Ax, x > 0.

Predpogojeni CG Če je K s.p.d., potem levo predpogojevanje lakko uporabimo v CG v kombinaciji s skalarnim produktom [x, y] = x, Ky. Tako ohranimo simetrijo. Običajni CG Predpogojeni CG r 0 = b Ax 0, p 1 = r 0 j = 1, 2,..., k α j = r j 1 2 p T j Ap j x j = x j 1 + α j p j r j = r j 1 α j Ap j β j = r j 2 r j 1 2 p j+1 = r j + β j p j r 0 = b Ax 0, p 1 = K 1 r 0 j = 1, 2,..., k α j = rt j 1 K 1 r j 1 p T j Ap j x j = x j 1 + α j p j r j = r j 1 α j Ap j β j = rt j K 1 r j r T j 1 K 1 r j 1 p j+1 = K 1 r j + β j p j Če primerjamo zahtevnosti, imamo pri predpogojenem CG dodatno: 1 reševanje sistema z matriko K in 1 pomožni vektor (K 1 r j ) več.

Levo predpogojeni GMRES Navadna metoda GMRES v grobem je: 1) izberi x 0, določi dimenzijo k za podprostor Krilova, izračunaj r 0 = b Ax 0. 2) naredi k korakov Arnoldijevega algoritma z matriko A in začetnim vektorjem v 1 = r 0 / r 0 da dobiš H k+1,k in V k+1. 3) po metodi najmanjših kvadratov poišči y k, ki minimizira r 0 e 1 H k+1,k y k. Končni približek je potem x k = x 0 + V k y k. Metoda GMRES z levim predpogojevanjem je: 1) izberi x 0, določi dimenzijo k za podprostor Krilova, izračunaj r 0 = K 1 (b Ax 0 ). 2) naredi k korakov Arnoldijevega algoritma z matriko K 1 A in začetnim vektorjem v 1 = r 0 / r 0 da dobiš H k+1,k in V k+1. 3) po metodi najmanjših kvadratov poišči y k, ki minimizira r 0 e 1 H k+1,k y k. Končni približek je potem x k = x 0 + V k y k.

Desno predpogojevanje Pri desnem predpogojevanju namesto Ax = rešujemo AK 1 z = b, kjer je x = K 1 z. Prednost desnega predpogojevanja je, da ne vpliva na desno stran b. Sedaj imamo lahko težave pri metodah, kjer gledamo napako x x k, saj je x x k = K 1 (z z k ), mi pa gledamo z z k. Metoda GMRES z desnim predpogojevanjem: 1) izberi x 0, določi dimenzijo k za podprostor Krilova, izračunaj r 0 = b Ax 0. 2) naredi k korakov Arnoldijevega algoritma z matriko AK 1 in začetnim vektorjem v 1 = r 0 / r 0 da dobiš H k+1,k in V k+1. 3) po metodi najmanjših kvadratov poišči y k, ki minimizira r 0 e 1 H k+1,k y k. Končni približek je potem x k = x 0 + M 1 V k y k. Na začetku ne potrebujemo z 0, saj je r 0 = b Ax 0 = r 0 AM 1 z 0.

Primerjava desnega in levega predpogojevanja Pri levem predpogojevanju dobimo na koncu x L k = x 0 + p(k 1 A)s 0, kjer je s 0 = K 1 r 0 in je p L tisti polinom stopnje k 1, p L (0) = 1, ki minimizira s 0 K 1 Ap L (K 1 A)s 0. Če upoštevamo s 0 K 1 Ap L (K 1 A)s 0 = K 1 (r 0 Ap L (K 1 A)K 1 r 0 ) in dejstvo, da z vsak polinom velja p(m 1 A)M 1 r = M 1 p(am 1 )r, dobimo s 0 K 1 Ap L (K 1 A)s 0 = K 1 (r 0 AK 1 p L (AK 1 )r 0 ), torej p L minimizira K 1 (r 0 AK 1 p L (AK 1 )r 0 ).

Primerjava desnega in levega predpogojevanja 2 Pri levem predpogojevanju dobimo x L k = x 0 + p(k 1 A)s 0, kjer je s 0 = K 1 r 0 in p L minimizira K 1 (r 0 AK 1 p L (AK 1 )r 0 ). Pri desnem predpogojevanju dobimo na koncu x R k = x 0 + K 1 p R (AK 1 )r 0, kjer je p R tisti polinom stopnje k 1, p R (0) = 1, ki minimizira r 0 AK 1 p R (AK 1 )r 0. Vektorja x R k in xl k sta iz istega afinega podprostora, saj je x 0 + K k (K 1 A, s 0 ) = x 0 + K 1 K k (AK 1, r 0 ), pri čemer pri levem predpogojevanju minimiziramo K 1 (r 0 AK 1 p(ak 1 )r 0 ), pri desnem pa r 0 AK 1 p(ak 1 )r 0 po vseh polinomih p stopnje k 1 z p(0) = 1.

Obojestransko predpogojevanje Pri obojestranskem predpogojevanju namesto Ax = rešujemo kjer je x = K 1 2 z. K 1 1 AK 1 2 z = K 1 1 b, To je uporabno v primeru, ko imamo K podan v obliki razcepa K = K 1 K 2. Npr., pri CG lahko v primeru, ko je znan razcep Choleskega K = LL T, metodo CG uporabimo na s.p.d. sistemu L 1 AL T y = L 1 b, x = L T y. Prav tako lahko uporabimo CG na sistemu K 1/2 AK 1/2 y = K 1/2 b, x = K 1/2 y. Druga varianta je ekvivalentna uporabi levega predpogojevanja v kombinaciji s skalarnim produktom [x, y] = x, Ky.

5.2 Izbira predpogojenke Prva možnost je uporaba katere izmed klasičnih iterativnih metod. Pri teh pri reševanju Ax = b matriko A razdelimo na A = M + N, potem pa sistem Mx = Nx + b rešujemo iterativno kot Mx k+1 = Nx k + b. Tako dobimo iteracijo x k+1 = Rx k + f, kjer je f = M 1 b in R = M 1 N = M 1 (A M) = I M 1 A. To je v bistvu reševanje predpogojenega sistema M 1 Ax = M 1 b. Vsako matriko M lahko uporabimo za predpogojevanje iterativne metode podprostorov. Če matriko A razdelimo kot A = L + D + U, kjer je L spodnji trikotnik brez diagonale, D diagonala in U zgornji trikotnik brez diagonale, potem poznamo naslednje variante: Jacobi: M J = D, Gauss-Seidel: M GS = L + D, SOR: M SOR = 1 (D + ωl), ω 1 SSOR: M SSOR = ω(2 ω) (D + ωl)d 1 (D + ωu). Izkaže se, da Gauss-Seidel in SOR ne prideta v poštev, saj neprimerno preslikata lastne vrednosti matrike A. Ostaneta Jacobi in SSOR, pri čemer optimalni ω ni tako pomemben.

Nepopolni razcep Druga popularna možnost je uporaba nepopolnega LU razcepa. Tu računamo LU razcep kot po osnovnem algoritmu, le da delamo neničelne elemente le na izbranih mestih (ponavadi tam, kjer ima A ničle). To pride prav pri razpršenih matrikah, kjer matriki L in U iz popolnega LU razcepa nista več razpršeni. Pri nepopolnem LU razcepu na koncu sicer ne velja A = LU, je pa K = LU lahko dobra matrika za predpogojevanje. Ker že poznamo njej LU razcep, se da sistem z matriko K rešiti na učinkovit način. Denimo, da je S {(i, j) 1 i, j n} množica indeksov, kjer v L in U dopuščamo neničelne elemente. Vedno mora S vsebovati vse diagonalne elemente. Osnovna varianta nepopolnega LU razcepa, ki povozi A z matrikama L in U, je Za vse (i, j) S nastavi a ij = 0. j = 1, 2,..., n 1 i = j + 1,..., n (samo za (i, j) S) a ij = a ij /a jj k = j + 1,..., n (samo za (i, k) S) a ik = a ik a ij a jk

Zero fill-in ILU Ponovadi za S vzamemo indekse neničelnih elementov matrike A, oziroma S = {(i, j) a ij 0}. V tem primeru je to razcep ILU(0) oziroma (zero fill-in) nepopolni LU. Pri ILU(0) dobimo matriki L in U, ki imata neničelne elemente le na mestih S in za M = LU velja m ij = a ij za (i, j) S. Na ostalih mestih ima M lahko neničelne elemente tam, kjer jih A nima. Z zgornjim pogojem ILU(0) ni enolično določen, običajno pa vzamemo kar razcep, ki ga vrne modificiran algoritem za LU razcep brez pivotiranja. Množico indeksov lahko določimo tudi tako, da imata L in U več neničelnih elementov kot matrika A. Pri tem imamo več strategij: Pri ILU(p) določimo S rekurzivno tako, da zavzema vsa neničelna mesta matrike LU, ki jo dobimo iz ILU(p 1) razcepa matrike A. Začnemo z ILU(0). Množico S lahko določimo vnaprej in ni potrebno računati p nepopolnih LU razcepov. Lahko se odločimo, da postavimo določeno mejo za velikost neničelnega elementa. Potem dopustimo tudi neničelne elemente izven S, če so zadosti veliki (kar pomeni, da so dovolj pomembni). Tu množico S določamo sproti med računanjem nepopolnega razcepa. Če uporabimo prag, dobimo ILU(0), pri pragu 0 pa popolni LU razcep.

Ostale možnosti Pri implementaciji je zelo pomembno, kako je razpršena matrika predstavljena, saj imamo različne variante LU razcepa glede na to, v kakšnem vrstnem redu uredimo tri zanke. Tudi pri nepopolnem LU lahko pivotiramo. Podobno kot nepopolni LU obstaja tudi nepopolni razcep Choleskega, ki ga uporabimo za simetrične pozitivno definitne matrike.

6. Na kaj moramo še paziti pri iterativnem reševanju sistemov Ustavitveni kriterij: Ponavadi kot ustavitveni kriterij uporabimo r k ɛ za izbrani ɛ, radi pa bi imeli, da je norma x x k dovolj majhna. Pri numeričnem računanju je težava še ta, da ostanek in približek ponavadi posodabljamo kot x k+1 = x k + w k, r k+1 = r k Aw k. Pri računanju r k lahko pride do prištevanja vektorjev z veliko normo, zato se natančnost r k lahko hitro izgubi. Tu izstopa npr. metoda CGS, kjer vmesni veliki ostanki lahko povzročijo v nadaljevanju velike napake. To, da bi ostanek računali kot r k = b Ax k, ni ne ekonomično ne natančneje. Namesto tega lahko posodobimo r k samo v primeru, ko dobimo nov najmanjši ostanek. V tem primeru vsakič, ko dobimo nov minimalni ostanek, shranimo trenutni z = x k in vmes shranjujemo le vsoto skupnih popravkov za x k v y k. Ko dobimo nov minimalni ostanek, vzamemo z = z + y k in izračunamo r = b Az.

Na kaj moramo še paziti pri iterativnem reševanju sistemov Pri MINRES (in ostalih metodah, ki uporabljajo tričlenske rekurzivne formule), lahko pride do velikih zaokrožitvenih napak in bazni vektorji niso več ortogonalni. Ker je CG v bistvu varianta D-Lanczosa za simetrične pozitivno definitne matrike, pri D-Lanczosu pa imamo prav tako tričlensko rekurzijo, lahko to pričakujemo tudi pri CG. Izkaže se, da je situacija pri CG vseeno boljša, saj tu uporabljamo le dvočlenske rekurzije. Pri tročlenskih rekurzijah se pojavi parazitska rešitev, ki lahko pokvari in zamegli pravo rešitev, pri dvočlenski pa se to ne more zgoditi.