Numerisk lineær algebra for Poissons ligning

Like dokumenter
Numerisk lineær algebra

6.4 Gram-Schmidt prosessen

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

Homogene lineære ligningssystem, Matriseoperasjoner

TMA4122/TMA4130 Matematikk 4M/4N Høsten 2010

Elementære eliminasjonsmatriser

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

Vi skal koble diagonalisering av matriser sammen med ortogonalitet. Skal bl.a. se på

Det matematisk-naturvitenskapelige fakultet

Kap. 6 Ortogonalitet og minste kvadraters problemer

5.8 Iterative estimater på egenverdier

TMA4110 Eksamen høsten 2018 EKSEMPEL 1 Løsning Side 1 av 8. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer: x 1 7x 4 = 0

MA2501, Vårsemestre 2019, Numeriske metoder for lineære systemer

Kap. 7 Symmetriske matriser og kvadratiske former

Vær OBS på at svarene på mange av oppgavene kan skrives på flere ulike måter!

Lineær algebra-oppsummering

f (x) = a 0 + a n cosn π 2 x. xdx. En gangs delvisintegrasjon viser at 1 + w 2 eixw dw, 4 (1 + w 2 ) 2 eixw dw.

a) Matrisen I uv T har egenverdier 1, med multiplisitet n 1 og 1 v T u, med multiplisitet 1. Derfor er matrisen inverterbar når v T u 1.

EKSAMEN I NUMERISK LØSNING AV DIFFERENSIALLIGNINGER MED DIFFERANSEMETODER (TMA4212)

Diagonalisering. Kapittel 10

Sensitivitet og kondisjonering

Diagonalizering. En n n matrise A sies å være diagonaliserbar hvis den er similær med en diagonalmatrise D. A = PDP 1

UNIVERSITETET I OSLO

Matriseoperasjoner. E.Malinnikova, NTNU, Institutt for matematiske fag. September 22, 2009

Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag. Side 1 av 6. Faglig kontakt under eksamen: Navn: Brynjulf Owren (93518)

UNIVERSITETET I OSLO

6.4 (og 6.7) Gram-Schmidt prosessen

Minste kvadraters løsning, Symmetriske matriser

EKSAMEN I FAG TMA4220 NUMERISK LØSNING AV PARTIELLE DIFFERENSIALLIGNINGER VED HJELP AV ELEMENTMETODEN

TMA4123/TMA4125 Matematikk 4M/4N Vår 2013

MA2501 Numeriske metoder

Masteroppgave i matematikk

Gauss-eliminasjon og matrisemultiplikasjon

Egenverdier for 2 2 matriser

MA2501 Numeriske metoder

MA2501 Numeriske metoder

UNIVERSITETET I OSLO

EKSAMENSOPPGAVER FOR TMA4110/TMA4115 MATEMATIKK 3

y(x) = C 1 e 3x + C 2 xe 3x.

Lineære likningssystemer

TMA4210 Numerisk løsning av part. diff.lign. med differansemetoder Vår 2005

7.4 Singulærverdi dekomposisjonen

MA1201/MA6201 Høsten 2016

A 2 = PDP 1 PDP 1 = PD 2 P 1. og ved induksjon får vi. A k = PD k P 1. Kommentarer:

Eksamensoppgave i TMA4110/TMA4115 Calculus 3

Numerisk løsning av PDL

Til enhver m n matrise A kan vi knytte et tall, rangen til A, som gir viktig informasjon.

Universitet i Bergen. Eksamen i emnet MAT121 - Lineær algebra

Lineære ligningssystem; Gauss-eliminasjon, Redusert echelonmatrise

Øving 5 Diagonalisering

EKSAMEN I MA1202 OG MA6202 LINEÆR ALGEBRA MED ANVENDELSER

EKSAMEN I FAG SIF5050 NUMERISK LØSNING AV PARTIELLE DIFFERENSIALLIGNINGER VED HJELP AV ELEMENTMETODEN

UNIVERSITETET I OSLO

Obligatorisk innleveringsoppgave, løsning Lineær algebra, Våren 2006

7.1 forts. Schur triangularisering og spektralteoremet

12 Diagonalisering av matriser og operatorer (Ch. 5.1, 5.2 og 8.5)

MAT 1120: Obligatorisk oppgave 2, H-09

Lineære ligningssystem og matriser

UNIVERSITETET I OSLO

Eksamensoppgave i MA2501 Numeriske metoder

Eksamensoppgave MAT juni 2010 (med løsningsforslag)

Lineær Algebra og Vektorrom. Eivind Eriksen. Høgskolen i Oslo, Avdeling for Ingeniørutdanning

Eksamen i TMA4122 Matematikk 4M

EKSAMEN I EMNET MAT160 Beregningsalgoritmer 1 Mandag 12 februar 2007 LØSNINGSFORSLAG

Løsninger for eksamen i MAT Lineær algebra og M102 - Lineær algebra, fredag 28. mai 2004, Oppgave 1. M s = = 1 2 (cofm 2) T.

MA1202/MA S løsningsskisse

Lineære ligningssystemer. Forelesning, TMA4110 Torsdag 17/9. Lineære ligningssystemer (forts.) Eksempler

MA0002 Brukerkurs i matematikk B Vår 2013

EKSAMEN I MA1202 LINEÆR ALGEBRA MED ANVENDELSER

L(t 2 ) = 2 s 3, 2. (1. Skifteteorem) (s 2) 3. s 2. (Konvolusjonsteoremet) s 2. L 1 ( Z. = t, L 1 ( s 2 e 2s) = (t 2)u(t 2). + 1

Gauss-Jordan eliminasjon; redusert echelonform. Forelesning, TMA4110 Fredag 18/9. Reduserte echelonmatriser. Reduserte echelonmatriser (forts.

Løsningsforslag MAT 120B, høsten 2001

UNIVERSITETET I OSLO

16 Ortogonal diagonalisering

13 Oppsummering til Ch. 5.1, 5.2 og 8.5

Løsningsforslag for eksamen i Matematikk 3 - TMA4115

Kap. 6 Ortogonalitet og minste kvadrater

1. Finn egenverdiene og egenvektorene til matrisen A = 2 1 A =

Et forsøk på et oppslagsverk for TMA4145 Lineære metoder

MAT1120 Notat 2 Tillegg til avsnitt 5.4

(3/2)R 2+R 3 R 1 +R 2,( 2)R 1 +R 3 ( 2)R 1 +R 4 6/5R 3 +R 4 1/5R 3

Løsningsforslag til eksamen i MA1202/MA6202 Lineær algebra med anvendelser våren 2009.

Eksamen i ELE Matematikk valgfag Torsdag 18. mai Oppgave 1

EKSAMEN I NUMERISK LØSNING AV DIFFERENSIALLIGNINGER MED DIFFERANSEMETODER (TMA4212)

Eksamensoppgave i TMA4135 Matematikk 4D

MAT-1004 Vårsemester 2017 Prøveeksamen

MAT1120 Notat 2 Tillegg til avsnitt 5.4

Kap. 5 Egenverdier og egenvektorer

Oppgave 1 (25 %) - Flervalgsoppgaver

Løsningsforslag til eksamen i MA1202/MA6202 Lineær algebra med anvendelser høsten 2009.

Egenverdier og egenvektorer

Numerisk løsning av ODL

UNIVERSITET I BERGEN

Denne labøvelsen gir en videre innføring i elementær bruk av programmet Maple.

Differansemetoder for to-punkts randverdiproblemer. Innledning. Anne Kværnø

Transkript:

Numerisk lineær algebra for Poissons ligning NTNU Brynjulf Owren Institutt for matematiske fag November 24, 2008 1 / 30

Innhold 1 Motivasjon, generelt om ligningsløsning 2 Poisson s ligning i 2 dimensjoner 3 Litt om Gauss/LU/Cholesky 4 Litt om diagonalisering 5 Litt om iterative teknikker 2 / 30

Motivasjon Fysisk system Matematisk modell (f.eks. PDE) Diskretisering (finite diff, finite element) Numerisk lineær algebra Ofte er Numerisk lineær algebra flaskehalsen Grensesprengende simuleringer MÅ utnytte struktur i de lineære ligningene Ofte innebærer det å studere alle de tre boksene til venstre. 3 / 30

Lineære ligningssystemer Generell form A u = b Matrise: A, m m (kjent) Ukjent: u, m-vektor Høyreside: b, m-vektor (kjent) For små systemer ( liten m ) bruk direkte-metode, som for eksempel Gauss-eliminasjon. Matlab har hendig funksjon \ (backslash) for dette 4 / 30

Fulle kontra glisne matriser En m m-matrise har m 2 elementer. Fulle matriser er matriser der essensielt alle elementer er ulik 0. nnz(a) m 2 (number-of-non-zeros) Glisne matriser har mange 0-elementer, typisk nnz(a) m, (konstant m). 0 A Sparse Symmetric Matrix 50 100 150 200 250 300 Eksempel fra Matlab-demo. Diffraksjonskolonne i kjemisk reaktor. 350 400 450 0 50 100 150 200 250 300 350 400 450 nonzeros=7551 (3.291%) 5 / 30

Om fulle matriser Gauss-eliminasjon (og flere andre direktemetoder). Anta A m m. Example Beregningskost: O(m 3 ) aritmetiske operasjoner Minnebruk: O(m 2 ) bytes m = 1000 10 9 ops. Klokkefrekvens: 1GHz. Ideell cpu: 1 op pr klokkesyklus. ca 1 sekund. (10 sek mer realistisk?) Minnebruk: m 2 flyttall = 8 m 2 bytes = 8Mbytes. Minnebegrensninger: 32-bits adressering: 4 Gbytes 8 bytes pr flyttall 500 M flyttall m 20 000 for lagring av full A. 6 / 30

Historien om fulle matriser 1950 m = 20 (Wilkinson) 1965 m = 200 (Forsythe & Moler) 1980 m = 2000 (Linpack) 1995 m = 20000 (LAPACK) Over disse 45 år har Størrelsen økt med en faktor 10 3 Datamaskinenes regnehastighet økt med 10 9 Dette er konsistent med Gauss-eliminasjon som har beregningskompleksitet O(m 3 ). Det virkelige potensialet ligger i løsning av store glisne matriser. Verktøykassen er fylt av: Iterative metoder Kilde: Trefethen & Bau 7 / 30

Hva om m 10 4? Mange viktige simuleringsmodeller opererer i dette regimet. Glisne ligningssystemer Iterativ løsning Parallell prosessering Ideell målsetning Anta A : m m, u, b : m-vektorer Løs Au = b i O(m) ops Minnebruk: O(m) flyttall 8 / 30

Direktemetoder og Iterative metoder Direktemetoder finner (gitt eksakt aritmetikk) den eksakte løsningen av Au = b i et endelig antall operasjoner Iterative metoder bruker en iterasjonsprosess 1 Gjett initiell løsning u (0), 2 og beregn u (1), u (2),... ved iterasjon, u (k+1) = F (u (k) ). 10 2 10 4 10 6 feil 10 8 10 10 10 12 10 14 10 16 5 10 15 20 25 iterasjoner 9 / 30

Matematiske verktøy i iterative metoder Konseptuelt er iterative metoder ofte enkle å beskrive, enkle algoritmer. Analysen krever gode matematikk-kunnskaper Matriseteori Egenverdier, egenvektorer Vektorrom, indreprodukt og normer Ortogonalitet, projeksjon Faktoriseringsprinsipper 10 / 30

Kan direktemetoder brukes for store m? Svaret er JA, forbedret teknikk er under utvikling as we speak. Ulemper: Problemer for veldig store m (blant annet minnebruk) Lite egnet for parallell prosessering. Spesialtilfelle. Raske tensorproduktløsere for spesielle problem. Inkluderer Poissons ligning på rektangulært område. 11 / 30

Poissons ligning i 2D Finn funksjon u = u(x, y), slik at (u xx + u yy ) = f (x, y), u = g(x, y), (x, y) Ω (x, y) Ω y Ω Ω x 12 / 30

Rektangulær Ω, diskretisering La Ω = (0, 1) (0, 1). Innfør gitter x i = ih, y j = jh, h = 1 N + 1 og la U i,j u(x i, y j ) for hver (x i, y j ). Approksimer u xx, u yy i punktet (x i, y j ) Gauss 5-pkts formel (u xx ) ij U i+1,j 2U i,j + U i 1,j h 2 (u yy ) ij U i,j+1 2U i,j + U i,j 1 h 2 4U i,j U i+1,j U i 1,j U i,j+1 U i,j 1 = h 2 f i,j 13 / 30

Gauss 5-punkt formel y n v p ø x s Gitter og beregningsmolekyl for Poissons ligning. 14 / 30

Eksempel y u = 4x(x 2 1) La her f (x, y) 0. Lag enkelindeks u = 0 3 4 1 2 u = 4y(1 y 2 ) (1, 1) 1 (2, 1) 2 (1, 2) 3 (2, 2) 4 u = 0 x 4 1 1 0 1 4 0 1 1 0 4 1 0 1 1 4 U 1 U 2 U 3 U 4 = 0 32 27 32 27 0 15 / 30

Det generelle systemet Om vi nummerer punktene som i eksemplet fås AU = h 2 f + r A = B I I B I......... I B I I B, B = 4 1 1 4 1......... 1 4 1 1 4 A er m m, dvs N 2 N 2. Det fins N blokker i hver rad/kolonne. I er N N-identitetsmatrisen. B er N N. 16 / 30

Tre aktuelle løsningsmetoder for 2D Poisson I praksis fins det tre valg 1 Gauss-eliminasjon (LU-faktorisering) 2 Fast Poisson-solver (Diagonalisering). Fungerer for rektangulær Ω 3 Konjugerte gradienters metode. Prekondisjonering er nødvendig. Dette er en iterativ metode. 17 / 30

Noen poenger rundt Gauss-eliminasjon for 2D-Poisson Matrisen A fra Poisson er symmetrisk, positiv definitt (SPD) For SPD matriser kan vi bruke Cholesky-faktorisering, dvs, vi finner nedretriangulær L slik at A = LL T. A = LL T = x 0 0 0 x x 0 0 x x x 0 x x x x x x x x 0 x x x 0 0 x x 0 0 0 x Pivotering (ombytting av rader og kolonner) er ikke nødvendig for SPD-matriser. Båndform. Alle elementer i A nedenfor (ovenfor) N te subdiagonal (superdiagonal) er null. Da vil L ha null-elementer nedenfor N te subdiagonal 18 / 30

Beregningskompleksitet i bånd-cholesky Båndmatriser generelt: A er m m med a ij = 0 når i j > p. Beregningskostnad for faktorisering er C g (m, p) mp 2 + 7mp + 2m når m p. I 2D Poisson er p = N = m så vi får C(m) = m 2 + O(m 3/2 ) ops Minnekrav. Vi må lagre elementene i L som er ulik null. p p(p + 1) (m k) = mp + m 2 k=0 For 2D Poisson fås Minnekrav: m 3/2 + O(m) flyttall 19 / 30

LU-faktorisering og fill-in (Minnebehov) 0 0 10 10 20 20 30 30 40 40 50 50 60 60 0 10 20 30 40 50 60 0 10 20 30 40 50 60 nz = 288 nz = 974 Matlab SPY-plot av A og L + U, der A = LU. 20 / 30

Diagonalisering. Minner om 5-punktsformelen 4U i,j U i+1,j U i 1,j U i,j+1 U i,j 1 = h 2 f i,j La oss lagre ukjent vektor U i en matrise, slik formelen antyder. Definer N N matrisen (m = N 2 ) T = 2 1 1 2 1......... 1 2 1 1 2 21 / 30

Diagonalisering Videre er (T U) 1,j = 2U 1,j U 2,j (T U) i,j = 2U i,j U i 1,j U i+1,j, 2 i n 1 (T U) n,j = 2U n,j U n 1,j (UT ) i,1 = 2U i,1 U i,2 (UT ) i,j = 2U i,j U i,j 1 U i,j+1, 2 j n 1 (UT ) i,n = 2U i,n U i,n 1 Vi konkluderer med at hele 5-punktsformelen kan skrives som en matriseligning T U + UT = h 2 F =: G 22 / 30

Diagonalisering Anta at vi har kjennskap til egenverdiene og egenvektorene til matrisen T T = QΛQ T, Λ = diag(λ 1,..., λ N ), Q T Q = I Λ er en diagonalmatrise med egenverdiene til T på diagonalen. Fordi T er symmetrisk (og PD) er λ i reell (og positiv). Q er en ortogonal matrise hvis kolonner er egenvektorene til T. For slike matriser er Q 1 = Q T. Sett inn faktoriseringen for T. QΛQ T U + UQΛQ T = G Λ (Q T UQ) + (Q T UQ) }{{}}{{} Ũ Ũ Λ = Q T GQ }{{} G 23 / 30

Diagonalisering Vi har da ΛŨ + ŨΛ = G Men fordi Λ er diagonal blir dette på komponent form λ i Ũ i,j + Ũ i,j λ j = G ij som løses uten videre som Ũ i,j = G i,j λ i + λ j 24 / 30

Diagonalisering algoritme Vi kan løse problemet i 3 steg (gitt λ i og Q) 1 Beregn G = h 2 Q T FQ (matrise-matrise-produkt) 2 Finn elementene i Ũ Ũ i,j = G i,j λ i + λ j, i, j = 1,..., N 3 Sett U = QŨQT (matrise-matrise-produkt) Merk: Alle involverte matriser er N N der N = m 25 / 30

Diagonalisering kompleksitet 1 Generell kostnad for produkt av to N N-matriser er 2N 3 ops. Dermed 4N 3 for to produkter. 2 Dominerende kost N 2 divisjoner. 3 Nye 2 matrise-matrise produkter 4N 3 ops. Total kostnad 8N 3 = 8m 3/2 ops. Kan reduseres til O(N 2 log N) = O(m log m) hvis FFT brukes ved matrisemultiplikasjon. Lagringskrav O(N 2 ) flyttall, dvs O(m) flyttall. Konklusjon: For tensor-gitter (Poisson på rektangulært område) er diagonalisering bra sammenlignet med Cholesky (Gauss). 26 / 30

Konjugerte gradienters metode (Iterativ) Algoritmen koster O(m) ops pr iterasjon. Utfordring: For 2D Poisson er antall påkrevde iterasjoner O(m), så totalkostnad blir O(m 2 ) Løsning: Bruk prekondisjonering. Generelt Au = b S 1 AT 1 ū = S 1 b, ū = T u Formål: Bestem S og T slik at S 1 AT 1 er en mer godartet matrise enn A selv. 27 / 30

Prekondisjonering Anta for enkelhets skyld at T = I, så vi har systemet S 1 A u = S 1 b På en eller annen måte approksimerer S matrisen A slik at à := S 1 A I (men ikke for god approksimasjon) Konjugerte gradienters metode har som en hovedingrediens å multiplisere A med vektorer w j = Ap j Det er ikke slik at à dannes eksplisitt i programmet. Det viser seg at vi kun trenger ( i hver iterasjon) å multiplisere S 1 med en vektor r j. heller ikke S 1 foreligger vanligvis som en eksplisitt matrise, men er kun resultatet av en prosess som approksimativt løser Az j = r j. 28 / 30

Så hva er S 1 Det fins to svært interessante tolkninger av S 1 som en approksimativ løser for Poisson 2D-problemet. Disse er Domene-dekomposisjon Multigridalgoritmen 29 / 30

Referanser Her er noen referanser 1 Y. Saad: Iterative Methods for Sparse Linear Systems. 2 L.N. Trefethen & D. Bau, Numerical Linear Algebra. 3 J.W. Demmel, Applied Numerical Linear Algebra. 4 G. Golub & C. Van Loan: Matrix Computations. 5 W. L. Briggs, V.E. Henson, S.F. Mc Cormick: A multigrid tutorial Takk for oppmerksomheten! 30 / 30