Numerisk lineær algebra

Like dokumenter
MA2501 Numeriske metoder

MA2501 Numeriske metoder

Elementære eliminasjonsmatriser

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

Sensitivitet og kondisjonering

Det matematisk-naturvitenskapelige fakultet

Newtons metode for system av ligninger

Numerisk løsning av PDL

Lineære likningssystemer

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

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

Løsning ved iterasjon

6.4 Gram-Schmidt prosessen

Numerisk lineær algebra for Poissons ligning

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

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

Numerisk løsning av ODL

Lineære ligningssystemer og gausseliminasjon

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

Lineære ligningssystemer og gausseliminasjon

Repetisjon: Om avsn og kap. 3 i Lay

Gauss-eliminasjon og matrisemultiplikasjon

Lineære likningssystemer og matriser

Egenverdier og egenvektorer

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

7.4 Singulærverdi dekomposisjonen

Løsningsforslag øving 6

4 Matriser TMA4110 høsten 2018

6 Determinanter TMA4110 høsten 2018

Elementær Matriseteori

MAT1120 Repetisjon Kap. 1, 2 og 3

Matriser. Kapittel 4. Definisjoner og notasjon

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.

UNIVERSITETET I OSLO

Øving 3 Determinanter

LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1

Vektorligninger. Kapittel 3. Vektorregning

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.

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

Lineære likningssett.

5.8 Iterative estimater på egenverdier

Kap. 7 Symmetriske matriser og kvadratiske former

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

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

Homogene lineære ligningssystem, Matriseoperasjoner

Lineær algebra-oppsummering

Trasendentale funksjoner

Fasit til utvalgte oppgaver MAT1110, uka 13/4-16/4

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

Repetisjon: om avsn og kap. 3 i Lay

Kap. 6 Ortogonalitet og minste kvadraters problemer

4.9 Anvendelser: Markovkjeder

7 Egenverdier og egenvektorer TMA4110 høsten 2018

UNIVERSITETET I OSLO

Regneregler for determinanter

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

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

R: 0, , = 6000 D : 0, , = 4000 La v n = angi fordelingen etter n år (dvs. a b n stemmer for R og

MA0002 Brukerkurs i matematikk B Vår 2016

Diagonalisering. Kapittel 10

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

UNIVERSITETET I OSLO

Egenverdier for 2 2 matriser

1 Gauss-Jordan metode

Lineære ligningssystem og matriser

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse

Mer om kvadratiske matriser

LO118D Forelesning 5 (DM)

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

Øving 2 Matrisealgebra

UNIVERSITET I BERGEN

Mer om kvadratiske matriser

MA2501 Numeriske metoder

Forelesning i Matte 3

Rang og Vektorrom. Magnus B. Botnan NTNU. 4. august, 2015

Lineære ligningssystem; Gauss-eliminasjon, Redusert echelonmatrise

MA0002 Brukerkurs i matematikk B Vår 2013

Newtons metode. Gitt f(x) slik at f(a)f(b) < 0, Newtons metode genererer en følge {x k }, hvor. (Newton Raphson) x k+1 = x k f(x k) f (x k )

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences. Matlab-utskrift (1 side).

MAT1120 Repetisjon Kap. 1

RF5100 Lineær algebra Leksjon 2

Forelesning 10 Cramers regel med anvendelser

MA1201/MA6201 Høsten 2016

LO510D Lin.Alg. m/graf. anv. Våren 2005

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

MA0002 Brukerkurs i matematikk B Vår 2014

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.

Pensum i lineæralgebra inneholder disse punktene.

Generell informasjon om faget er tilgjengelig fra It s learning. 1 En kort oppsummering Adaptiv filtrering 2. 3 Prediksjon 4

I dette kapittelet skal vi studerer noen matematiske objekter som kalles matriser. Disse kan blant annet brukes for å løse lineære likningssystemer.

Emne 9. Egenverdier og egenvektorer

Matematikk Øvingsoppgaver i numerikk leksjon 5 for-løkker

Matriser En matrise er en rektangulær oppstilling av tall og betegnes med en stor bokstav, f.eks. A, B, C,.. Eksempler:

TMA4215 Numerisk matematikk

tma4110 Matematikk 3 Notater høsten 2018 Øystein Skartsæterhagen Morten Andreas Nome Paul Trygsland

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

UNIVERSITETET I OSLO

Komplekse tall. Kapittel 2. Den imaginære enheten. Operasjoner på komplekse tall

EKSAMEN. 1 Om eksamen. EMNE: MA2610 FAGLÆRER: Svein Olav Nyberg, Trond Stølen Gustavsen. Klasser: (div) Dato: 24. mai 2004 Eksamenstid:

Transkript:

Numerisk lineær algebra Arne Morten Kvarving Department of Mathematical Sciences Norwegian University of Science and Technology 29. Oktober 2007

Problem og framgangsmåte Vi vil løse A x = b, b, x R N, A R NxN. Vi vet at løsningen er gitt ved x = A b Oppstår veldig ofte i numerikk, enten som eget problem eller oftere som en underbit av andre algoritmer. Navngivning: a a 2 a N x b a 2 a 22 a 2N x 2....... = b 2... a N a NN x N b N

Løsningsstrategi Løsningsstrategi avhengig av struktur og egenskaper til A. Banalt eksempel: A er en ortogonalmatrise. Da vet vi at A = A T så vi løser simpelthen systemet ved x = A T b. SPD A = diag (a, a 22,, a NN ) Løser ved x i = b i a ii, i [, N]. Glisne

Generelle matriser For generelle matriser har dere lært løsningsstrategien i Matte 3. Cramer s regel - baserer seg på å finne N te ordens determinanter. Dette har en beregningskompleksitet som skalerer med N!. Ubrukelig i praksis! Gausseliminering.

Gausseliminering Gausseliminering er en systematisk eliminasjonsprosess som lar oss skrive matrisen på triangulær form x x x x x 0 x x x x 0 0 x x x 0 0 0 x x 0 0 0 0 x Når vi har matrisen på triangulær form kan vi enkelt løse systemet ved bakoversubstitusjon. 3x +5x 2 + 2x 3 = 8 8x 2 + 2x 3 = 7 6x 3 = 3

Bakoversubstitusjon Nederste variabel er ikke koblet til noen andre: x 3 = 3 6 = 2 Når vi har en verdi for x 3 kan vi plugge denne inn i ligning to og vi har igjen en ligning som ikke kobler til noen ukjente: x 2 = 7 2x 3 8 Samme for siste ligning: = 7 8 =. x = 8 2x 3 5x 2 3 = 8 + 5 3 = 4. Fullstendig systematisk framgangsmåte egnet for implementasjon på datamaskin.

Hvordan finne triangulær form Som før er systemet vårt på formen a x + a 2 x 2 + + a N x N = b a 2 x + a 22 x 2 + + a 2N x N = b 2. =. Vil bli kvitt a 2 x. Gjør dette ved å utføre operasjonen (rad 2)- a 2 a (rad ). Dette gir systemet a x + a 2 x 2 + + a N x N = b ( 0 + a 22 a ) 2 a 2 x 2 + + a 2N x N = b 2 a 2 b a a. =.

Hvordan finne triangulær form Gjentar dette For all rader For all kolonner under diagonalen Krav: Vi trenger a kk 0. Hvis ikke bytter vi om rekkefølgen på linjene - dette kalles pivotering. I tillegg bør a kk >> 0 for å unngå kanselleringsfeil. Vi minimerer dette problemet ved å alltid plukke raden med størst verdi for a kk - kalles for delvis pivotering.

LU-faktorisering Dette er Gausseliminasjon (nesten) slik som Matlab gjør det - og generelt slik det er implementert i det meste av programvare som brukes i dag. Vi vil finne to matriser L og U slik at A = L U. hvor L er nedretriangulær og U er øvretriangulær. Hvorfor? Jo fordi A x = b L U x = b L v = b U x = v hvor vi kan løse de to siste ligningene først med foroversubstitusjon, og så ved bakoversubstitusjon.

Doolittles metode Doolittle: Velg ere på diagonalen til L : For et eksempelsystem av dimensjon 2; [ ] [ ] [ ] 2 3 u u A = = 2 = L U 8 5 l 2 Dette gir u 22 u = 2, u 2 = 3 2l 2 = 8 l 2 = 4 4 3 + u 22 = 5 u 22 = 7 altså L = [ ] [ ] 2 3, U = 4 7

Doolittles metode - algoritme Vi gjør følgende steg u k = a k k =,, N l j = a j j = 2,, N u j u jk = a jk l js u sk k = j,, N, j 2 l jk = u kk s= ( ) k a jk l js u sk s= j = k +,, N, k 2

Crouts metode Crout: Velg ere på diagonalen til U : For et eksempelsystem av dimensjon 2; [ ] [ ] [ ] 2 3 l u2 A = = = L U 8 5 l 2 l 22 Dette gir l = 2, l 2 = 8 altså 2u 2 = 3 u 2 = 3 2 8 3 2 + l 22 = 5 l 22 = 7 L = [ ] 2, U = 8 7 [ ] 3 2

LU-faktorisering Begge disse faktoriseringene er unike. Noen matriser kan ikke LU-faktoriseres. Da må vi bytte rader i matrisene. [ ] [ ] 0 0, 0 Den åpenbare fordelen med å gjøre Gausseliminasjon på denne formen er at vi kan kalkulere L og U en gang, for så å løse systemet for mange forskjellige b. På vanlig form må vi modifisere vektoren b før vi kan løse...

Choleskys metode Vi har nå en symmetrisk og positiv definitt (SPD) matrise A, dvs x T A x > 0 x 0. A er symmetrisk, dvs A = A T. Dette er det samme som at alle egenverdiene til A er reelle og positive. Vi kan da velge U = L T! Med generelle verdier på diagonalen.

Choleskys metode - eksempel Vi bruker matrisen [ ] 2. 2 Matrisen er åpenbart symmetrisk og den har egenverdier λ =, λ 2 = 3 ergo den er SPD. Vi vil altså finne A = L L T = [ a b c ] [ ] a b = c [ ] 2 2

Choleskys metode - eksempel Vi bestemmer verdiene for a, b, c ved a 2 = 2 a = 2 ab = b = 2 = 2 2 b 2 + c 2 = 2 c = 2 6 2 = 2

Choleskys metode - algoritme Vi gjør følgende steg ( l pj = a pj l jj l = a () l j = a j (2) l j l jj = ajj ljs 2 j = 2,, N (3) s= ) j l js l ps s= p = j +,, N, j 2 (4)

Choleskys metode - nok et eksempel For å vise hvordan dette fungerer i praksis skal vi se på problemet 4 2 4 l l l 2 l 3 A = 2 7 5 = l 2 l 22 l 22 l 32. 4 5 83 l 3 l 32 l 33 l 33 () (2) (3) l = a = 2 l 2 = a 2 l =, l 3 = a 3 l = 7 l 22 = a 22 l 2 2 = 7 = 4

Choleskys metode - nok et eksempel 4 2 4 l l l 2 l 3 A = 2 7 5 = l 2 l 22 l 22 l 32. 4 5 83 l 3 l 32 l 33 l 33 (4) (3) l 32 = (a 32 l 2 l 3 ) = ( 5 7 ( )) = 3 l 22 4 l 33 = a 33 l 23 l 232 = 83 7 2 ( 3) 2 = 5

Choleskys metode Theorem Choleskyfaktorisering er numerisk stabil. a jj = l 2 j + + l 2 jj (kvadrerer (3)) Så alle element inni her tilfredsstiller l 2 jk l 2 j + + l 2 jj = a jj Betyr at vi ikke får tall som vokser seg store liten risiko for kanselleringsfeil for snille A.

Hvordan lage invers Generelt lager vi aldri inverser med mindre det virkelig trengs. Hvis vi virkelig må er dette en framgangsmåte: Løs A x = b for b 0 0. 0, 0 0. 0, Sett så sammen de oppnådde x -vektorene til en matrise A. Dette er det samme som å løse matrise-matrise-ligningen A X = I

Evaluering av numerisk metode Når vi skal evaluere effektiviteten av en numerisk algoritme må vi ta flere aspekter i betraktning. Disse inkluderer minnekrav tidskrav stabilitet for parallelle NUMA-maskiner; datalokalitet. Som tidligere nevnt; tidskravet kan måles på to måter faktisk brukeropplevd tid / veggklokke tid. Denne varierer sterkt med maskinvare. Hvordan mengden operasjoner som kreves skalerer med problemstørrelsen - mye mer interessant. Dette betyr at en bedre datamaskin ikke løser problem fortere, den kan derimot løse større problem.

Evaluering av numerisk metode Veldig fristende å tenke at dagens datamaskiner er så kraftige at det gjør ikke noe om vi ikke gjør ting på den mest effektive måten. Jeg vil påstå at det er motsatt! Jo kraftigere datamaskiner vi har, jo viktigere er det av vi løser problem den på riktig måten. Hvorfor? Jo, fordi algoritmer sjeldent skalerer lineært. Med bedre maskin kan vi løse større problem, men siden algoritmene ikke er lineære blir vi straffet enda hardere enn før hvis vi gjør ting på feil måte. Eksempel: Gausseliminasjon krever O ( N 3) operasjoner - AU! N T 0 000s = 7min 00 0 6 s = dager 000 0 9 s = 3 år Her er det verdt å merke seg at N = 000 slettes ikke er et stort problem - vi løser ofte problemer med millioner av ukjente.

Hvordan lage invers på en lurere måte Dette var en veldig arbeidssom måte å finne inversen på - vi må løse N system som hver krever O ( N 3) operasjoner metoden er O ( N 4) (kan reduseres til O ( N 3) vha L U -faktorisering.) Fins bedre metoder - Gauss-Jordan-eliminering. I praksis nesten som L U -faktorisering, men U D - en diagonal matrise. Utfør en Gausseliminering for å redusere matrisen til en øvretriangulær matrise. Utfør de samme operasjonene på I. Utfør de ekstra operasjonene som trengs for å gjøre A diagonal (identiteten). Utfør de samme operasjonene på I. Når dette er oppnådd vil matrisen som resulterer fra operasjonen på I være inversen.

Hvordan lage invers på en lurere måte Som et eksempel skal vi se på hvordan dette virker på matrisen 3 5 2 8 2 6 Vi skalerer hver rad slik at vi får på diagonalelementene; 5 2 3 3 4 3 8 6

Hvordan lage invers på en lurere måte Utfører (rad ) = (rad )- 5 3 (rad 2) 4 4 3 5 24 8 6 Utfører (rad ) = (rad )- 4 (rad 3) 3 4 5 24 8 24 6

Hvordan lage invers på en lurere måte Utfører (rad 2) = (rad 2)- 4 (rad 3) 3 4 5 24 8 24 6 Matrisen til høyre er nå A! Åpenbart systematisk Kjappere enn den foreslåtte metoden.

Iterative ligningsløsere Gausseliminasjon er en direkte metode - finner rett svar etter et fikset antall operasjoner. Et antall operasjoner som i mange tilfeller er alt for mange. I tillegg utnytter ikke (generell) Gausseliminasjon strukturen i matrisene. Noen ganger trenger vi ikke å løse systemer perfekt, vi kan ha andre feilkilder som dominerer el.l. Vi tyr da til iterative ligningsløsere - indirekte metoder.

Fikspunktiterasjoner Fristende å teste de iterative skjemaene vi allerede har sett på. Fikspunktiterasjon: f (x ) = 0 = g (x ) x A x b = 0 = g (x ) x (A + I )x b = x x k+ = (A + I )x k b Dette vil sjelden fungere da kravet om at g er en kontraksjon er det samme som at max λ i (I + A ) < i noe som er et fryktelig strengt krav.

Newtoniterasjoner Newtoniterasjoner: ( ) x k+ = x k A A x k b = A b. Men dette er jo problemet vi prøver å løse i utgangspunktet!

Ny strategi Vi trenger nye iterative metoder. Generell framgangsmåte: Splitt matrisen A. A = D + L + U... 0 0 0 0 0. 0.. 0 +. 0 0 + 0. 0 0.. 0 0... 0 0 0 0 Viktig: L og U er IKKE de samme matrisene som du har i LU-faktorisering!

Gauss-Jakobi og Gauss-Seidel iterasjoner Ser nå på A x = b (D + L + U )x = b D x = b L x U x x k+ = D ( b L x k U x k) Dette er Gauss-Jakobi-iterasjoner. Vi kan velge en annen fremgangsmåte; A x = b (D + L + U )x = b (D + L )x = b U x Dette er Gauss-Seidel-iterasjoner. x k+ = (D + L ) ( b U x k)

Iterasjonene på komponentform Gauss-Jakobi: x k+ j = b j a jj n i=,i j a ji x k i Gauss-Seidel: x k+ j = a jj j b j j=i a ji x k+ i n i=j+ a ji x k i Spørsmål: Hva er den faktiske forskjellen mellom disse to metodene?

Gauss-Jakobi og Gauss-Seidel - eksempel Ser på problemet [ ] [ ] 7 6 x = 8 9 x 2 [ ] 3 4 Gauss-Jakobi: Gauss-Seidel: x k+ = 7 x k+ 2 = 9 x k+ = 7 x k+ 2 = 9 ( ) 3 a 2 x2 k = 6 7 x 2 k + 3 7 ( ) 4 a 2 x k = 8 9 x k 4 9 ( ) 3 a 2 x2 k = 6 7 x 2 k + 3 7 ( ) 4 a 2 x k+ = 8 9 x k+ 4 9

Noen observasjoner Den faktisk forskjellen ligger i at Gauss-Seidel bruker nye iteratverdier så fort de er tilgjengelig. Hvorfor i det hele tatt se på Gauss-Jakobi? - Jo, i parallelle situasjoner vil vi unngå datautveksling under iterasjonene. Begge disse iterative metodene (og en haug med andre) kan skrives på formen M x k+ = N x k + b x k+ = M N x k + M b Gauss-Jakobi har M = D, N = (U + L ). Gauss-Seidel har M = D + L, N = U.

Konvergens av metodene Først: Konvergens i denne sammenheng er at følgen x 0, x,, x k går mot den eksakte løsningen av A x = b. Veldig vanlig måte å måle feilen på er med residualfeilen r = b A x k Vi skal bruke en annen definisjon, nemlig forskyvningsfeilen d k = x k x. Problemet med konvergens kan nå uttrykkes som: Hva er d k+ gitt d k?

Konvergens av metodene Vi setter inn vårt iterative skjema og får d k+ = x k+ x = M N x k + M b ( M N x + M b ) ( ) = M N x k x = M N d k Denne bruker vi rekursivt og finner at d k = ( M N ) k d 0. For konvergens krever vi at M N < i en eller annen form. Vi trenger et mål for størrelsen av matrisen - dette målet er kjent som en norm.

Matrisenormer Det fins mange forskjellige måter å måle størrelsen av en matrise på. De har en rigorøs definisjon som vi hopper over her. Frobeniusnormen: A F = Ener-normen - største kolonnesum A = max a ij i Toer-normen - største radsum A 2 = max j i j j a 2 ij a ij i

Konvergens av metodene To resultater for normer som vi bare bruker her: Over R NxN er alle normer ekvivalente. Dvs, for alle norm-par a, b kan vi finne konstanter c og c 2 slik at c a b c 2 a. Spektralradiusen til en matrise A er definert som ρ(a ) = max λ i i hvor λ i er den i te egenverdien til matrisen A. Har da resultatet ρ(a ) = inf A dvs spektralradiusen er det minste målet for en matrise vi kan komme opp med.

Konvergens av metodene Siden alle normer er ekvivalente vil konvergens i en norm implisere konvergens i alle andre. Vi kan se på normen som har minst verdi - altså kan vi se på spektralradiusen til A. Kravet vårt blir at lim k d k = 0 ρ(m N ) <