Newtons metode for system av ligninger

Like dokumenter
Løsning ved iterasjon

Numerisk lineær algebra

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

6 Numeriske likningsløsere TMA4125 våren 2019

Numerisk løsning av PDL

Numerisk integrasjon

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 )

Numerisk løsning av ikke-lineære ligninger

Numerisk løsning av ODL

Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO

Lineære likningssystemer

Biseksjonsmetoden. biseksjonsmetode. Den første og enkleste iterativ metode for ikke lineære likninger er den så kalt

3.9 Teori og praksis for Minste kvadraters metode.

6.5 Minste kvadraters problemer

Viktig informasjon. 1.1 Taylorrekker. Hva er Taylor-polynomet av grad om for funksjonen? Velg ett alternativ

Øvingsforelesning i Matlab TDT4105

Oblig 2 - MAT1120. Fredrik Meyer 23. september 2009 A =

6.4 (og 6.7) Gram-Schmidt prosessen

Tangenten svarer til lineær approksimasjon av funksjonen. Likningen for tangenten finnes derfor fra 1. ordens Taylorutvikling:

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

Ikke lineære likninger

Matematikk 1 Første deleksamen. Løsningsforslag

Matematikk Øvingsoppgaver i numerikk leksjon 6. Løsningsforslag

6.6 Anvendelser på lineære modeller

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

Obligatorisk oppgave 1

Viktig informasjon. 1.1 Taylorrekker. Hva er Taylor-polynomet av grad om for funksjonen? Velg ett alternativ

5.8 Iterative estimater på egenverdier

UNIVERSITETET I OSLO

Dette kan selvfølgelig brukes direkte som en numerisk tilnærmelse til den deriverte i et gitt punkt.

Emnenavn: Eksamenstid: Faglærer: Christian F Heide

Prøve i Matte 1000 ELFE KJFE MAFE 1000 Dato: 02. desember 2015 Hjelpemiddel: Kalkulator og formelark

Lineære likningssystemer og matriser

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.

NTNU MA0003. Ole Jacob Broch. Norwegian University of Science and Technology. MA0003 p.1/29

6.8 Anvendelser av indreprodukter

Matematikk Øvingsoppgaver i numerikk leksjon 7 Løsningsforslag

Eksamensoppgave i TMA4320 Introduksjon til vitenskapelige beregninger

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.

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO

Notat 4 - ST februar 2005

4.4 Koordinatsystemer

MA2501 Numerical methods

TMA4115 Matematikk 3 Vår 2017

MAT1120 Repetisjon Kap. 1

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

MA2501 Numeriske metoder

MA2501 Numeriske metoder

Hovedfagspresentasjon. Preprosessing Large Scale Linear Systems

Oblig 3 i FYS mars 2009

LP. Kap. 17: indrepunktsmetoder

6.4 Gram-Schmidt prosessen

Lineær uavhengighet og basis

Oppsummering TMA4100. Kristian Seip. 16./17. november 2015

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

MAT1110: Obligatorisk oppgave 2, V Løsningsforslag

Vektorligninger. Kapittel 3. Vektorregning

Høgskolen i Oslo og Akershus. i=1

EKSAMEN Løsningsforslag

Differensjalligninger av førsteorden

Numerikk. TMA Matematikk 4N. Einar Baumann

Matematikk 4 TMA4123M og TMA 4125N 20. Mai 2011 Løsningsforslag med utfyllende kommentarer

LØSNING, KOMMENTAR & STATISTIKK

UNIVERSITETET I OSLO

EKSAMEN I MATEMATIKK 1000

Fasit til utvalgte oppgaver MAT1110, uka 28/4-2/5

UNIVERSITETET I OSLO

Oppsummering MA1101. Kristian Seip. 23. november 2017

MAT 100a - LAB 3. Vi skal først illustrerere hvordan Newtons metode kan brukes til å approksimere n-te roten av et positivt tall.

TMA4110 Matematikk 3 Eksamen høsten 2018 Løsning Side 1 av 9. Løsningsforslag. Vi setter opp totalmatrisen og gausseliminerer:

y (t) = cos t x (π) = 0 y (π) = 1. w (t) = w x (t)x (t) + w y (t)y (t)

Dagens mål. Det matematiske fundamentet til den diskrete Fourier-transformen Supplement til forelesning 8 INF Digital bildebehandling

MAT 1110: Bruk av redusert trappeform

TMA4105. Notat om skalarfelt. Ulrik Skre Fjordholm 15. april 2016

EKSAMEN I NUMERISK LINEÆR ALGEBRA (TMA4205)

Løsningsforslag til eksamen i MAT 1100 H07

Løsningsforslag. og B =

UNIVERSITETET I OSLO

Forelesning 14 Systemer av dierensiallikninger

MET Matematikk for siviløkonomer

4.1 Vektorrom og underrom

TMA4100 Matematikk 1 Høst 2014

Eksamen i TMA4122 Matematikk 4M

UDIRs eksempeloppgave høsten 2008

UNIVERSITETET I OSLO

OBLIG 2 - MAT 1120 Høsten 2005

Prøve i Matte 1000 BYFE DAFE 1000 Dato: 03. mars 2016 Hjelpemiddel: Kalkulator og formelark. Alle svar skal grunngis. Alle deloppgaver har lik vekt.

UNIVERSITETET I OSLO

MAT Oblig 1. Halvard Sutterud. 22. september 2016

Oppsummering TMA4100. Kristian Seip. 26./28. november 2013

Løsningsforslag. Innlevering i BYFE/EMFE 1000 Oppgavesett 1 Innleveringsfrist: 14. september klokka 14:00 Antall oppgaver: 3.

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

Eksamensoppgave i TMA4135 Matematikk 4D

KORT INTRODUKSJON TIL TENSORER

Matematikk Øvingsoppgaver i numerikk leksjon 4 Løsningsforslag

Løsningsforslag MAT102 Vår 2018

Matematikk Øvingsoppgaver i numerikk leksjon 6 Løsningsforslag

Transkript:

Newtons metode for system av ligninger Arne Morten Kvarving http://www.math.ntnu.no/ arnemort/m4-itersys.pdf Department of Mathematical Sciences Norwegian University of Science and Technology 15. Oktober 2009

Problem Gitt problemet f (x ) = 0 for et eller annet system av funksjoner f. Et eksempel på slike problem kan være f 1 (x 1, x 2 ) = x1 2 + x2 2 9 = 0 f 2 (x 1, x 2 ) = x 1 x 2 1 = 0

Repetisjon - skalar Newton Idé: Vi approksimerer løsningen ved å følge tangenter. y f(x) f(x 0 ) x 2 x 1 x 0 x

Newtoniterasjoner i Matlab - runde 3 Implementer f (x) og f (x) som seperate funksjoner function y = test ( x) y = x ^2-3* x +1; function y = testd ( x) y = 2*x -3;

Newtoniterasjoner i Matlab - runde 3 kont Selve Newtonløseren ser nå ut som function x = newton3 (x0,n,gamma,f,fd) x = x0; for i =1: n x_old = x; eps = -feval (f,x)/ feval (fd,x); x = x + eps ; if abs (x- x_old ) <= gamma * abs ( x_old ) break ; if i==n disp ( warning : did not converge );

Taylorutvikling i flere dimensjoner Vi betrakter f (x + x ). Vi vil taylorutvikle denne langs hver komponent x i. På komponentform er dette f 1 (x 1 + δ 1, x 2 + δ 2 ) f 2 (x 1 + δ 1, x 2 + δ 2 )

Taylorutvikling i flere dimensjoner Taylorutvikler først langs den første retningen: f 1 f 1 (x 1 + δ 1, x 2 + δ 2 ) = f 1 (x 1, x 2 + δ 2 )+δ 1 (x 1, x 2 + δ 2 )+O ( δ 2 ) 1. x 1 Taylorutvikler så denne i den andre retningen f 1 f 1 (x 1, x 2 + δ 2 ) = f 1 (x 1, x 2 ) + δ 2 (x 1, x 2 ) + O ( δ 2 ) 2 x 2 δ 1 f 1 x 1 (x 1, x 2 + δ 2 ) δ 1 f 1 x 1 (x 1, x 2 ) + δ 1 δ 2 2 f 1 x 1 x 2 (x 1, x 2 ).

Taylorutvikling i flere dimensjoner På samme måte for den andre funksjonen får vi f 2 f 2 (x 1 + δ 1, x 2 + δ 2 ) = f 2 (x 1, x 2 + δ 2 ) + δ 1 (x 1, x 2 + δ 2 ) + O ( δ 2 ) 1 x 1 f 2 (x 1, x 2 + δ 2 ) = f 2 (x 1, x 2 ) + δ 2 f 2 x 2 (x 1, x 2 ) + O ( δ 2 2 δ 1 f 2 x 1 (x 1, x 2 + δ 2 ) δ 1 f 2 x 1 (x 1, x 2 ) + δ 1 δ 2 2 f 2 x 1 x 2 (x 1, x 2 ). Trunkerer så disse og betrakter kun ledd som er O (δ 1 ) og O (δ 2 ). )

Taylorutvikling i flere dimensjoner Samlet og skrevet ved hjelp av matriser og vektorer får vi ( f (x + x ) f (x ) + J x k) x hvor J er Jakobimatrisen J = f 1 f 1 x 1 f 2 f 2 x 1 x 2 x 2... f 1 x n f 2 x n f n x n Legg merke til at matrisen J er en funksjon av x k.

Newtons metode for system Hvis vi nå går tilbake til Newtons metode husker vi at idéen er å beregne en lineær korreksjon for hver iterasjon. Dette betyr altså at vi for hver iterasjon må løse systemet ( J x k+1 = f x k). Når dette er gjort tar vi vår nye iteratverdi som x k+1 = x k + x k+1.

Newtons metode for system - forandringer Vi må løse et system istedet for en skalar ligning - så vi må bruke en løser for lineære system. I Matlab er dette heldigvis enkelt; Vi forandrer til eps = -feval (f,x)/ feval (fd,x); J = F = eps feval (fd,x); feval (f,x); = J\-F;

Newtons metode for system - forandringer Siden x nå er en vektor, må vi bruke en norm istedet for absoluttverdien. Vi forandrer til if abs (x- x_old ) <= gamma * abs ( x_old ) if norm (x- x_old ) <= gamma * norm ( x_old )

Newtons metode for system - Matlabkode function y = simplesystem ( x) y = zeros (2,1); y (1) = x (1)^2+ x (2)^2-9; y (2) = x (1)* x (2) -1; function J = simplesystemj ( x) J = zeros (2,2); J (1,1) = 2*x (1); J (1,2) = 2*x (2); J (2,1) = x (2); J (2,2) = x (1);

Newtons metode for system - Matlabkode Selve Newtonløseren ser nå ut som function x = newtonsystem (x0,n,gamma,f,fd) x = x0; for i =1: n x_old = x; J = feval (fd,x); F = feval (f,x); eps = J\-F; x = x + eps if norm (x- x_old ) <= gamma * norm ( x_old ) break ; Poeng: Denne virker også på skalare ligninger!

Forenklet Newton Vi må løse et nytt lineært system for hver iterasjon. I praksis betyr dette at vi må faktorisere en matrise per iterasjon. Som dere har sett tidligere er faktorisering av en matrise en kostbar operasjon (for store system). Men når vi først har faktorisert matrisen, er tilbake/forover substitusjoner derimot mye mindre kostbart.

Forenklet Newton Idé: Frys Jakobimatrisen, dvs, istedet for å bruke J (x k) bruker vi istedet J ( x 0). Dermed inverterer vi samme matrise i alle iterasjoner. Dette lar oss prefaktorisere J for så å bare gjøre de kjappe substitusjonsoperasjonene per iterasjon.

Forenkelt Newton - Matlabkode Selve Newtonløseren ser nå ut som function x = sinewtonsystem (x0,n,gamma,f,fd) x = x0; J = feval (fd,x0 ); [L,U] = lu(j); for i =1: n x_old = x; F = -feval (f,x); v = L\F; eps = U\v; x = x + eps ; if norm (x- x_old ) <= gamma * norm ( x_old ) break ;

Repetisjon - Sekantmetoden Noen ganger kan det være vanskelig å finne et uttrykk for den deriverte av funksjonen. Vi kan/må da ty til en approksimasjon til den deriverte av funksjonen. y f(x k+1) f (x k) f(xk+1) f(xk) xk+1 xk f(x k) x k x k+1 x

Repetisjon - Sekantmetoden En måte å approksimere den deriverte av funksjonen på er å approksimere den deriverte som en differanseoperator. Vi bruker Setter inn og finner f (x k ) f (x k) f (x k 1 ) x k x k 1. x k+1 = x k f (x k ) x k x k 1 f (x k ) f (x k 1 ).

Repetisjon - Sekantmetoden i Matlab function x = sekant (x0,x1,n,gamma,f) fx_old = feval (f,x0 ); x_old = x0; x = x1; for i =1: n fx = feval (f,x); eps = -fx *(x- x_old )/( fx - fx_old ); x_old = x; x = x + eps ; fx_old = fx; if abs (x- x_old ) <= gamma * abs ( x_old ) break ;

Numerisk Jakobian Hvis det fins skalare funksjoner det er vanskelig å derivere, så fins det iallefall system av ligninger som er det. Idé: Approksimér alle de partiellderiverte ved hjelp av differanseoperatorer. function J = numjac (f,f0,x, delta ) n = length (x); In = delta * eye (n); J = zeros (n,n); for k =1: n fp = feval (f,x+in (:,k )); J(:,k )=( fp -f0 )/ delta ;

Newton med numerisk Jakobian - Matlabkode Selve Newtonløseren ser nå ut som function x = newtonsystem (x0,n,gamma,f) x = x0; delta = 1. e -8; for i =1: n x_old = x; F = feval (f,x); J = numjac (f,f,x, delta ); eps = J\-F; x = x + eps ; if norm (x- x_old ) <= gamma * norm ( x_old ) break ;

Forenklet Newton med numerisk Jakobian - Matlabkode Selve Newtonløseren ser nå ut som function x = sinewtonsystemnum (x0,n,gamma,f) x = x0; J = numjac (f, feval (f,x0),x0,1.e -6); [L,U] = lu(j); for i =1: n x_old = x; F = feval (f,x); v = L\-F; eps = U\v; x = x + eps ; if norm (x- x_old ) <= gamma * norm ( x_old ) break ;

Oppsummering metode jakobian bruksområde newton eksakt høy nøyaktighet newton numerisk høy nøyaktighet, mangler jakobian forenklet newton eksakt tung jakobian, moderat nøyaktighet forenklet newton numerisk moderat nøyaktighet, mangler jakobian