MA5 Vårsemestre 9 Numeriske metoder for lineære systemer Introduksjon Vi vil approksimere løsningen av lineære systemet av n ligningene og n ukjente: a x + a x + + a n x n b a x + a x + + a n x n b () a n x + a n x + + a nn x n b n hvor (x x n ) er de ukjente Gitt (a ij ) ij n og b i i n Vi kan skrive () i matrise form ved å definere: a a a n x b a a a n x b A : x : a n a n a nn så skriver vi () i følgende måte: x n b : b n A x b () Lineære systemer kan løses veldig enkelt når A har en spesiell form for eksempel når A er en diagonal matrise eller en triangulærmatrise og a ii for i n:
A diagonalmatrise a a A a nn a x b a x b a nn x n b n x b a x b a x n bn a nn A triangulærmatrise a a a n a a 3 a n A an n a n n a nn a x + a x + + + a n x n b a x + + + a n x n b a n n x n + a n n x n b n a nn x n b n x b n j a jx j a x b n j3 a jx j a (3) x n b n a n n x n a n n x n b n a nn Formlene (3) kalles innsettingsalgoritmen
Løsning av lineære systemer ved iterasjon For å approksimere x løsningen til Ax b gitt x () vil vi konstruere en følge av vektorer x () x (n) som konvergerer mot x En måte å gjøre det på er å bruke fikspunkt iterasjon Vi vil forsøke å finne ekvivalente formuleringer av Ax b som fiks-punkt ligning For eksempel: Ax b x (I A)x + b hvor I er n n identitets matrise Gitt x () fører dette til iterasjonen: x (n+) (I A)x (n) + b Generelt kan man lage en iterasjon som følge: skriv A som en summe av to ledd: A M N velg M inverterbar; fra (M N)x b man får Mx Nx + b og så gitt x () får man: x M Nx + M b; x (n+) M Nx (n) + M b Vanligvis M er valgt slik at M er lett å beregne for eksempel kan M være diagonal eller triangulær Eksempel Vi skal løse ved fikspunktiterasjon systemet x x x + x A : (4) og starte med x () 3
Vi tar Løsningen er M : x N M A Vi har Mx Nx + b og x M Nx + M b dvs x x Ved å bruke verdier av x () beregner vi x () x () x x + x () M Nx () + M b Vi fortsetter x () M Nx () + M b: x () x () x () x () og videre x (3) x (3) 5 x (6) x (6) x (4) x (4) 875 75 x (8) x (8) + x (5) x (5) 5 Eksempel I systemet (4) tar vi nå M : N M A 4
og med den samme x () beregner vi x () M Nx () + M b: x () x () og får vi eksakt løsningen i den iterasjonen Generelt tar vi M lik diagonalen til A dvs m ii a ii i n m ij i j (hvor m ij er elementene til M og a ij er elementene til A) så har vi en iterasjon metode som heter Jacobi metode Når tar vi M lik den lavere triangulære delen av A dvs m ij a ij i n j i m ij i n j i+ n så får vi en iterasjon metode som heter Gauss-Seidel metode Se på de generelle formlene til Jacobi s og Gauss-Seidel s metoder i bok Finite difference schemes and partial differential equations av John C Strikwerda ch 3 3 Konvergens For å se hvor nær x (n) er til x må vi bruke et norm: x x (n) Hvis u er en vektor med n komponenter eksempler av normer av u er: u : u + + u n norm-; u : max i n u i max-norm; u : ( u + + u n ) ( u T u ) norm- I konvergensanalyse bruker vi også matrise-norm Eksempler av matrisenorm til en matrise U (med elementer u ij ) er: U F n i n j u ij Frobenius norm; U : max n i j u ij max-norm; U : max n j i u ij norm- 5
For eksemper kan vi beregne norm av 3 U : vi har U F 3 + + ( ) 4 37465738677394 U max{ 3 + + } 5 U max{ 3 + + } 4 Se bok av Süli og Mayers (kap matrisenormer 7) for mer informasjon om normer og For å analysere konvergens skriver vi iterasjonsmetoden som følge x (n+) M Nx (n) + M b og ved å definere C : M N og g : M b kan vi skrive: x (n+) Cx (n) + g (5) C er iterasjonsmatrisa til metoden og man kan bevise følgende teroem Theorem Hvis det fins et norm slik at C < da konvergerer iterasjonen (5) for alle x () 4 Eksempel:(andvendelsen av Teorem ) La oss ta da har vi at B 3 5 3 M 5 C J M N N 3333 4 og C J F 57 C J C J 4 dermed gitt f konvergerer Jacobi metode for Bx f for hver x () For Gauss-Seidel metode har vi 3 3333 C GS 5 333 og C GS F 359 C GS 4667 og C GS 3333 dermed konvergerer Gauss-Seidel metode for Bx f for hver x () 6
5 Eksempel (tilfellet hvor Teorem ikke kan brukes) La oss ta matrisen fra eksempel (4): A : vi har verifisert at både Jacobi og Gauss-Seidel konvergerer metode har vi: C J For Jacobi med normer C J F C J max C J For Gauss-Seidel har vi C GS og C GS F C GS C GS Her hypotesene av forrige teorem er ikke oppfylt selv om vi vet fra numeriske beregninger at iterasjonene konvergerer Vi må bruke en annen teknikk hvis vi vil analysere konvergens Husk at et tall reell eller kompleks λ slik at det fins u vektoren slik at Cu λu kalles egenverdi av C og u kalles egenvektor La σ(c) være mengden av alle egenverdier av C (det fins ikke mer enn n distinkte egenverdier for en n n matrise) så kan man definere ρ(c) : max λ σ(c) λ ρ(c) heter spektral radius av C og det er en positivt tall som brukes mye for å estimere konvergens av iterasjonsmetoder i lineære systemer Hvis vi tegner en sirkel av radius ρ(c) i det komplekse planet sirkelen innholder alle egenverdier til C Man kan bevise: Theorem Iterasjonsmetode (5) konvergerer uansett valg av x () hvis og bare vis ρ(c) < 7
I eksemplet våre skal vi finne egenverdier til C J og C GS Merk at Cu λu (C λi)u det(c λi) hvor I er identitetmatrisen og ( u u det(u) det u u ) u u u u Så har vi at ( det(c J λi) det og vi har λ J ± For C GS har vi det(c J λi) det λ λ ) ( λ det λ ) λ ±77 Så ρ(c) 77 og dermed ρ(c) < ( λ λ ) ( ) λ λ og vi har λ GS og λ GS og ρ(c GS) Grunnen til at Gauss-Seidel metode konvergerer raskere enn Jacobi metode er at ρ(c GS ) < ρ(c J ) 8