Beräkningsmatematik. Niklas Ericsson och Stig Larsson

Relevanta dokument
Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Lipschitz-kontinuitet

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

TMV225+TMV176 Inledande matematik M, TD Sammanfattning. Läsanvisningar inför tentamen.

ALA-a Innehåll RÄKNEÖVNING VECKA 7. 1 Lite teori Kapitel Kapitel Kapitel Kapitel 14...

För teknologer inskrivna H06 eller tidigare. Skriv GAMMAL på omslaget till din anomyna tentamen så att jag kan sortera ut de gamla teknologerna.

Kontinuitet och gränsvärden

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad a) i) Nollställen för polynomet 2x 2 3x 1:

Modul 4 Tillämpningar av derivata

Mer om reella tal och kontinuitet

MAA7 Derivatan. 2. Funktionens egenskaper. 2.1 Repetition av grundbegerepp

Kontinuerliga funktioner. Ytterligare en ekvivalent formulering av supremumaxiomet

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Läsanvisningar till kapitel

2. (a) Skissa grafen till funktionen f(x) = e x 2 x. Ange eventuella extremvärden, inflektionspunkter

Datoraritmetik. Från labben. Från labben. Några exempel

Beräkningsmatematik. Stig Larsson

Analys 360 En webbaserad analyskurs Analysens grunder. Om de reella talen. MatematikCentrum LTH

Institutionen för Matematik. SF1625 Envariabelanalys. Lars Filipsson. Modul 1

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

gränsvärde existerar, vilket förefaller vara en naturlig definition (jämför med de generaliserade integralerna). I exemplet ovan ser vi att 3 = 3 n n

n Kap 4.1, 4.2, (4.3), 4.4, 4.5 n Numerisk beräkning av derivata med n Felen kan t ex vara avrundningsfel eller mätfel n Felet kan mätas

7 november 2014 Sida 1 / 21

Moment Viktiga exempel Övningsuppgifter Ö , Ö1.25, Ö1.55, Ö1.59

Instuderingsfrågor för Endimensionell analys kurs B1

Föreläsning 8: Aritmetik och stora heltal

Konvergens för iterativa metoder

Tentamen i matematik. f(x) = ln(ln(x)),

Svar till S-uppgifter Endimensionell Analys för I och L

Numerisk Analys, MMG410. Lecture 10. 1/17

TMV225 Kapitel 3. Övning 3.1

SF1625 Envariabelanalys

Anteckningar för kursen "Analys i en Variabel"

LMA515 Matematik, del B Sammanställning av lärmål

Viktiga begrepp, satser och typiska problem i kursen MVE460, 2015.

SF1625 Envariabelanalys

Om konvergens av serier

Om kontinuerliga funktioner

MER TOPOLOGI OCH KONVERGENS

1 Att läsa matematik.

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

v0.2, Högskolan i Skövde Tentamen i matematik

Några viktiga satser om deriverbara funktioner.

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Mängder och kardinalitet

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

Föreläsning 7. SF1625 Envariabelanalys. Hans Thunberg, 13 november 2018

Modul 1: Funktioner, Gränsvärde, Kontinuitet

SF1625 Envariabelanalys

SF1661 Perspektiv på matematik Tentamen 24 oktober 2013 kl Svar och lösningsförslag. z 11. w 3. Lösning. De Moivres formel ger att

Instuderingsfrågor för Endimensionell analys kurs B1 2011

Modul 1: Funktioner, Gränsvärde, Kontinuitet

Modul 1 Mål och Sammanfattning

DERIVATA. = lim. x n 2 h h n. 2

LMA222a. Fredrik Lindgren. 17 februari 2014

SF1625 Envariabelanalys Lösningsförslag till tentamen

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Lösningsförslag, preliminär version 0.1, 23 januari 2018

TATA42: Föreläsning 5 Serier ( generaliserade summor )

Metriska rum, R och p-adiska tal

TMV225 Inledande Matematik M

Kap Inversfunktion, arcusfunktioner.

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

1 Att läsa matematik.

konstanterna a och b så att ekvationssystemet x 2y = 1 2x + ay = b

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Meningslöst nonsens. December 14, 2014

Icke-linjära ekvationer

Upphämtningskurs i matematik

Maclaurins och Taylors formler. Standardutvecklingar (fortsättning), entydighet, numerisk beräkning av vissa uttryck, beräkning

Moment 8.51 Viktiga exempel , 8.34 Övningsuppgifter 8.72, 8.73

FULLSTäNDIGHETSAXIOMET, SATSEN OM MELLANLIGGANDE VäRDE OCH SATSEN OM STöRSTA OCH MINSTA VäRDE

TATA42: Föreläsning 6 Potensserier

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Teknisk Beräkningsvetenskap I Tema 1: Avrundning och populationsmodellering

Envariabelanalys: Vera Koponen. Envariabelanalys, vt Uppsala Universitet. Vera Koponen Föreläsning 5-6

SF1625 Envariabelanalys Tentamen Måndagen den 11 januari 2016

Kapitel 4. Iterativ lösning av ekvationer

Mer om kontinuitet. Kapitel K. K.1 Övre och undre gräns

SF1625 Envariabelanalys

Anteckningar för kursen "Analys i en Variabel"

Svar till S-uppgifter Endimensionell Analys för I och L

Repetitionsuppgifter inför Matematik 1-973G10. Matematiska institutionen Linköpings universitet 2014

MA2001 Envariabelanalys

Denna uppdelning är ovanlig i Sverige De hela talen (Både positiva och negativa) Irrationella tal (tal som ej går att skriva som bråk)

Om existens och entydighet av lösningar till ordinära differentialekvationer

Euklides algoritm för polynom

Kursens Kortfrågor med Svar SF1602 Di. Int.

Tentamen i matematik. f(x) = 1 + e x.

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.

A1:an Repetition. Philip Larsson. 6 april Kapitel 1. Grundläggande begrepp och terminologi

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 22 augusti, 2001

M0038M Differentialkalkyl, Lekt 15, H15

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

ENDIMENSIONELL ANALYS B1 FÖRELÄSNING XV. Föreläsning XV. Mikael P. Sundqvist

Exempel. Komplexkonjugerade rotpar

SF1625 Envariabelanalys

Newtons metod och arsenik på lekplatser

Block 1 - Mängder och tal

Transkript:

Beräkningsmatematik Niklas Ericsson och Stig Larsson 21 augusti 2013

Innehåll 1 Flyttal 5 1.1 Format........................................... 5 1.2 Standarden IEEE 754.................................. 6 1.2.1 Binary32..................................... 6 1.2.2 Binary64..................................... 9 1.3 Flyttalsaritmetik..................................... 10 2 Lipschitz-kontinuitet 11 2.1 Den formella definitionen av gränsvärde........................ 11 2.2 Lipschitz-kontinuitet................................... 12 3 Talföljder 19 3.1 Definition av talföljd................................... 19 3.2 Konvergens, gränsvärde................................. 20 3.3 Kombination av gränsvärden.............................. 21 4 Bisektionsalgoritmen 23 4.1 Kvadratroten ur 2.................................... 23 4.2 Reellt tal=decimalutveckling=cauchy-följd...................... 27 4.3 Bisektionsalgoritmen................................... 28 4.4 Bolzanos sats....................................... 28 4.5 Invers funktion...................................... 30 4.6 Kvadratrotsfunktionen.................................. 32 5 Fixpunktsiteration 33 5.1 Fixpunktsekvation.................................... 33 5.2 Kontraktionsavbildningssatsen............................. 34 5.3 När avbryter vi iterationen?............................... 36 5.4 Hur snabb är konvergensen?............................... 37 5.5 Fördelar och nackdelar.................................. 38 6 Newtons metod 41 6.1 Numerisk beräkning av derivata............................. 41 6.2 Newtons metod...................................... 44 1

2 INNEHA LL

Förord Detta är föreläsningsanteckningar som kompletterar läroboken R. A. Adams and C. Essex, Calculus: A Complete Course, Eighth Edition, Pearson, 2013. De bygger på föreläsningar i kurserna TMV035 1999 2006 och TMV225/TMV176 2007. Vi har inspirerats av K. Eriksson, D. Estep, and C. Johnson, Applied Mathematics - Body and Soul, Springer, 2003. 2013 08 21 Niklas Ericsson Stig Larsson 3

4 INNEHA LL

Kapitel 1 Flyttal (Adams 4.7) Flyttal används i datorsammanhang för att representera reella tal. Eftersom ett fixt (ändligt) minnesutrymme reserveras för ett flyttal, blir representationen i allmänhet approximativ. Detgårhellerinteattrepresenterahurstora(ellersmå)talsomhelst.Envisskännedomomflyttals egenskaper, och begränsningar, är väsentlig vid datorberäkningar. 1.1 Format Flyttal baseras på exponentform för reella tal. Ett vanligt exempel är 10-potensform. Exempel 1. 483000=4.83 10 5 0.053 = 5.3 10 2 Det som lagras i ett visst flyttalsformat är mantissan (4.83 resp. 5.3 i exemplet ovan) och exponenten(5resp. 2)medtecken.Omvit.ex.använder3siffrorförmantissanoch2siffrorförexponenten, skulle talen i exemplet ovan kunna representeras på följande form (mantissa/exponent): +483+05 530 02 Decimalpunktens placering i mantissan, liksom basen (10), är underförstådd (det är en del av formatet). För att decimalpunkten skall hamna på rätt plats måste den flyttas 1 så många steg som exponenten anger. T.ex. övergår 5.3 i 0.053 genom att flytta decimalpunkten 2 steg (åt vänster). Notera att i det aktuella formatet, med 3 siffror för mantissan och 2 siffror för exponenten, skulle talet 3 463.8 representeras på formen +346 + 03, vilket är en approximation. Det (mycket) stora talet 10 115 och det (mycket) lilla talet 10 120 skulle inte kunna representeras alls. Antalet siffror som används för att lagra mantissan påverkar alltså noggrannheten, och antalet siffror som används för att lagra exponenten påverkar hur stora (och små) tal som kan representeras. Även andra baser än 10 kan användas. Generellt kan vi skriva ett reellt tal r på exponentform: r = m b e där vi antar att mantissan m är normaliserad (1 m < b), och därefter lagra m och e. I datorsammanhang är det vanligt att använda basen b = 2. I detta fall representeras m och e med binära siffror/bitar (eng.: binary digit). 2 1 Den flyter, därav namnet flyttal. 2 I det binära talsystemet, med bas 2, finns bara två siffror/bitar: 0 och 1. I detta positionssystem är platsvärdena 2-potenser. Som ett exempel betyder 1101.01 talet 8+4+1+1/4 = 13.25. 5

6 KAPITEL 1. FLYTTAL 1.2 Standarden IEEE 754 För att erhålla reproducerbara (t.ex. vid byte av dator/operativsystem) och väl specificerade resultat behövs en standard. År 1985 kom standarden IEEE 754 för flyttalsaritmetik. Den uppdaterades år 2008. Standarden specificerar, förutom ett antal format, metoder för beräkning med flyttal. Även vad som skall hända vid s.k. undantag (t.ex. om resultatet blir större än vad som går att representera, eller division med 0) är specificerat. Standarden inkluderar både decimala (bas 10) och binära (bas 2) format. Vi går nu igenom två av dessa, binary32 och binary64, mer i detalj. 1.2.1 Binary32 Som framgår av namnet är detta ett binärt format, som kräver 32 bitar (4 bytes) för att lagra ett flyttal. Detta format baseras alltså på 2-potensform för ett reellt tal r: Följande två saker är viktiga att notera: r = m 2 e Den (normaliserade) mantissan m är (till belopp) ett tal mellan 1 och 2 (1 m < 2): m = 1.f där f är bråkdelen (eng.: f ractional part). Eftersom heltalsdelen alltid är 1 behöver den ej lagras. Endast bitar i bråkdelen f lagras. Vi tjänar därmed 1 bit. I formatet binary32 används 23 bitar för att lagra f. Men vi har alltså ändå 24 värdebitar vilket i det decimala systemet motsvarar cirka 7 (log 10 2 24 ) siffror. Exponenten e lagrasej med tecken. Istället lagrase = e+127, där 127kallas bias. I formatet binary32 används 8 bitar för att lagra E. Det betyder att 0 E 255 (där 0 = 00000000 och 255 = 1111 1111). Normalt är dock 1 E 254 (vi återkommer till den speciella betydelsen av fallen E = 0 och E = 255), vilket innebär att 126 e 127 är intervallet exponenten får ligga i. Bitarna lagras i följande ordning (från vänster till höger): 1. s (1 teckenbit: 0 betyder positivt tal, 1 betyder negativt tal) 2. E (8 bitar: exponent+127) 3. f (23 bitar: bråkdel) Följande samband gäller: Exempel 2. I den binära representationen: r ( 1) s 2 E 127 1.f 01000001010110000000000000000000 läser vi av s = 0, E = 1000 0010 = 128 + 2 = 130, f = 10110000000000000000000, vilket motsvarar talet: ( 1) 0 2 130 127 1.1011 = 2 3 1.1011= 1101.1 = 8+4+1+1/2 = 13.5 Notera att multiplikation med 2 i det binära talsystemet medför att decimalpunkten (vi slarvar lite med språket här!) flyttas ( skiftas ) ett steg åt höger. Hur stora och hur små (till belopp) tal kan representeras i formatet binary32? Kom ihåg: Normalt är 1 E 254.

1.2. STANDARDEN IEEE 754 7 Exempel 3. Största talet: 2 254 127 1.111... = 2 127 (1+1/2+1/4+...+1/2 23 ) = 2 127 (1+1 2 23 ) 3.403 10 38 Exempel 4. Minsta 3 talet: 2 1 127 1.000... = 2 126 1.175 10 38 Vad händer om vi, t.ex. i MATLAB, försöker lagra ett större tal än 3.403 10 38 i formatet binary32 (som i MATLAB kallas för single, på svenska: enkel precision )? 4 >> r = single(10^39) % Funktionen single omvandlar till % formatet single/binary32 r = Inf MATLAB svarar Inf vilket betyder infinity (+ ). Samma resultat får vi om vi försöker dividera ett positivt tal med 0. Detta är ett exempel på hantering av undantag. I formatet binary32 representeras + av s = 0, E = 255, f = 0. Vi sammanfattar betydelsen av de speciella fallen E = 0 och E = 255 i en tabell: Några kommentarer: E f = 0 f 0 0 0, 0 subnormala tal 255 ± NaN Notera att talet 0 (det finns också en negativ nolla 0) representeras med E = f = 0. Det går inte att representera 0 på formen ( 1) s 2 E 127 1.f (med 1 E 254). Subnormala tal är tal som ligger mellan 0 och det minsta normala talet 2 126. Vi går inte in på hur dessa representeras. Priset som får betalas är lägre noggrannhet. NaN betyder Not a Number. Det resultatet får du om du t.ex. försöker beräkna 0/0. Vi avslutar detta avsnitt med några exempel. Exempel 5. Bestäm flyttalsrepresentationen (enkel precision: binary32) för 12.625. Vi skriver först 12.625 på binär form. Eftersom 12.625 = 8+4+0.5+0.125 = 8+4+ 1 2 + 1 8 fås: 12.625= 1100.101=1.100101 2 3 där vi skiftat tre steg. Med hänsyn tagen till bias (127) fås att den exponent som lagras är: E = 3+127 = 130 = 128+2 = 10000010 och därmed blir flyttalsrepresentationen (med teckenbit 0): 01000001010010100000000000000000= 414A0000 där vi också översatt till hexadecimal form. 5 Test i MATLAB: 3 Egentligen minsta normala talet. Det finns ännu mindre, s.k. subnormala tal, vilka representeras på ett speciellt sätt med E = 0. 4 I den ursprungliga standarden IEEE 754-1985 kallades också detta format för single. Det ändrades till binary32 i IEEE 754-2008. I C/C++ kallas formatet float, och i Fortran REAL eller REAL*4. 5 I det hexadecimala talsystemet, med bas 16, finns sexton siffror :0 9,A,B,C,D,E,F. I detta positionssystem är platsvärdena 16-potenser. Som ett exempel betyder AB.C talet 10 16 +11 +12 1/16 = 171.75. Notera hur enkelt det är att omvandla mellan binär och hexadecimal form: varje grupp med 4 bitar motsvarar 1 hexadecimal siffra.

8 KAPITEL 1. FLYTTAL >> num2hex(single(12.625)) % Funktionen num2hex omvandlar till en hexa- % decimal teckensträng enligt IEEE 754. ans = 414a0000 Kommentar. Ett alternativt sätt att skriva 12.625 på binär form är att redan från början skifta så vi får heltalsdelen 1: 12.625= 12.625/8 2 3 = 1.578125 2 3 och därefter skriva bråkdelen 0.578125 på binär form. Vi använder en allmän strategi. För att bestämma den första biten (med platsvärde 1 2 ) i bråkdelen multiplicerar vi den med 2, och tar heltalsdelen av produkten: 0.578125 2 = 1.15625 Den förstabiten i bråkdelenäralltså1. Föratt bestämma nästabit (med platsvärde 1 4 ) i bråkdelen upprepar vi proceduren på 0.15625: 0.15625 2 = 0.3125 Den andra biten i bråkdelen är alltså 0. Vi fortsätter på samma sätt och sammanfattar resultatet: 0.578125 2 = 1.15625 0.15625 2 = 0.3125 0.3125 2 = 0.625 0.625 2 = 1.25 0.25 2 = 0.5 0.5 2 = 1.0 0 2 = 0.0 osv. Alla följande bitar blir 0. Det blir en ändlig utveckling, eftersom 0.625 kan skrivas som en ändlig summa av negativa 2-potenser. Resultatet blir: precis som förut. 12.625 = 1.100101000... 2 3 Exempel 6. Bestäm flyttalsrepresentationen (enkel precision: binary32) för 12.625. Den enda skillnaden är att vi denna gång får teckenbit 1: 11000001010010100000000000000000= C14A0000 där vi också översatt till hexadecimal form. Test i MATLAB: >> num2hex(single(-12.625)) ans = c14a0000 Exempel 7. Bestäm flyttalsrepresentationen (enkel precision: binary32) för 0.2.

1.2. STANDARDEN IEEE 754 9 Vi använder metoden i slutet av Exempel 5 för att omvandla 0.2 till binär form: 0.2 2 = 0.4 0.4 2 = 0.8 0.8 2 = 1.6 0.6 2 = 1.2 0.2 2 = 0.4 0.4 2 = 0.8 0.8 2 = 1.6 0.6 2 = 1.2 osv. Notera att det på den binära formen blir en oändlig periodisk utveckling: 6 0.2 = 0.001100110011...= 1.1001100110011... 2 3 där vi skiftat tre steg. Med hänsyn tagen till bias fås den exponent som lagras: E = 3+127 = 124 = 64+32+16+8+4 = 01111100 och därmed blir flyttalsrepresentationen (med teckenbit 0): 00111110010011001100110011001101= 3E4CCCCD där den sista biten avrundats uppåt. Test i MATLAB: >> num2hex(single(0.2)) ans = 3e4ccccd 1.2.2 Binary64 Detta format, som i den ursprungliga standarden IEEE 754-1985 (liksom i MATLAB/C/C++) kallas double (svenska: dubbel precision ) 7, fungerar analogt med binary32: r ( 1) s 2 E 1023 1.f Skillnaden är att nu används fler bitar för att lagra E och f, så det går att lagra större (och mindre) tal, och med en större noggrannhet jämfört med binary32. Totalt fordrar detta format 64 bitar (8 bytes) för att lagra ett flyttal: I formatet binary64 används 52 bitar för att lagra f. Men eftersom heltalsdelen ej lagras har vi ändå 53 värdebitar vilket i det decimala systemet motsvarar cirka 16 (log 10 2 53 ) siffror. I formatet binary64 används 11 bitar för att lagra E. Det betyder att 0 E 2047 (där 0 = 00000000000 och 2047 = 11111111111). Normalt är dock 1 E 2046 (fallen E = 0 och E = 2047 har samma speciella betydelse som i binary32). Här är bias = 1023, dvs. E = e+1023, vilket innebär att 1022 e 1023 är intervallet exponenten får ligga i. Bitarna lagras i följande ordning (från vänster till höger): 1. s (1 teckenbit: 0 betyder positivt tal, 1 betyder negativt tal) 2. E (11 bitar: exponent+1023) 6 Ett reellt tal, som i detta fall 0.2, kan alltså ha en ändlig decimalutveckling och en oändlig (periodisk) binär utveckling. För irrationella tal, t.ex. π, med icke-periodisk decimalutveckling blir utvecklingen icke-periodisk också på den binära formen. 7 I Fortran heter detta format DOUBLE PRECISION eller REAL*8.

10 KAPITEL 1. FLYTTAL 3. f (52 bitar: bråkdel) Hur stora och hur små (till belopp) tal kan representeras i formatet binary64? Exempel 8. Största talet: 2 2046 1023 1.111... = 2 1023 (1+1/2+1/4+...+1/2 52 ) = 2 1023 (1+1 2 52 ) 1.798 10 308 Exempel 9. Minsta talet: 2 1 1023 1.000... = 2 1022 2.225 10 308 1.3 Flyttalsaritmetik Standarden IEEE 754 specificerar också hur aritmetiska operationer (+,,, /, ) med flyttal skall utföras. Vi går inte in i detalj på detta, men notera att den ändliga precisionen (noggrannheten) gör att försiktighet krävs i vissa fall. Betrakta t.ex. flyttal i formatet binary64 (dubbel precision). Som vi sett har vi här cirka 16 (decimala) värdesiffror. Vid addition/subtraktion av tal av olika storleksordning kan detta ställa till problem Antag att vi vill utföra additionerna: 1+1.234 10 14 = 1.00000000000001234 1+10 16 = 1.0000000000000001 i MATLAB (där dubbel precision är default-datatyp): >> 1 + 1.234e-14 % Detta är en speciell syntax för % tal på 10-potensform i MATLAB ans = 1.000000000000012 >> 1 + 1e-16 ans = 1 I det första fallet tappar vi ett par värdesiffror i den mindre termen, och i det andra fallet kan MATLAB överhuvudtaget inte skilja 1+10 16 från 1. Kommandot: >> 1 + 1e-16-1 % additioner och subtraktioner % utförs från vänster till höger ger därför (det felaktiga) resultatet: ans = 0 Vi återkommer till detta i avsnitt 6.1 i samband med numerisk beräkning av derivata, där det visar sig ha stor betydelse.

Kapitel 2 Lipschitz-kontinuitet Vi börjar med att presentera den formella definitionen av gränsvärde och kontinuitet. Vi presenterar sedan en variant av kontinuitet som är lättare att använda och som ger ett kvantitativt mått på funktionens kontinuitet. 2.1 Den formella definitionen av gränsvärde (Adams 1.5) Definition 1. (Gränsvärde) (Adams 1.5 Def 8) Vi säger att om ǫ > 0 δ > 0 sådant att lim f(x) = L x a 0 < x a < δ x D(f) och f(x) L < ǫ. Förkortningen ǫ > 0 δ > 0 skall utläsas för alla positiva tal ǫ existerar ett positivt tal δ. Notera att definitionen kräver att f är definierad i en punkterad omgivning till a, dvs i en omgivning utom punkten a själv: (a δ,a) (a,a+δ). Definitionen handlar om noggrannhet: Hur noggrannt, δ, måste vi ange x för att få en viss noggrannhet, ǫ, i y = f(x)? Exempel 10. (Adams 1.5 Ex 1) Arean för en disk är A = πr 2. Vi vill tillverka en disk med arean 400π cm 2 med toleransen 5 cm 2. Hur nära den nominella radien 20 cm måste radien vara när vi svarvar disken? Här är A(r) = πr 2, L = 400π, a = 20. Vi vill ha Vi löser ut r 20: A(r) L = πr 2 400π < 5 = ǫ. 5 < πr 2 400π < 5 400 5/π < r 2 < 400+5/π 400 5/π < r < 400+5/π 19.96017<r < 20.03975.03983<r 20 < 0.03975 Den snävaste gränsen är den högra, så vi tar δ = 0.03975. Då gäller r 20 < 0.03975= δ πr 2 400π < 5 = ǫ. 11

12 KAPITEL 2. LIPSCHITZ-KONTINUITET Med den formella definitionen av gränsvärde kan vi göra definitionen lim x a f(x) = f(a) av kontinuitet formell: Funktionen f är kontinuerlig i en inre punkt a till D(f) om ǫ > 0 δ > 0 sådant att (2.1) x a < δ x D(f) och f(x) f(a) < ǫ. Den formella definitionen behövs om man ska bevisa satser om gränsvärde och kontinuerliga funktioner. Till exempel, Adams 1.2 Theorem 2 om kombination av gränsvärden och satser om kontinuerliga funktioner i Adams 1.4. När man använder definitionen måste man bestämma δ som funktion av ǫ. Det är ofta svårt. Därför kommer vi att genomföra bevisen endast för en speciell klass av kontinuerliga funktioner: Lipschitz-kontinuerliga funktioner. För dessa finns ett enkelt samband mellan ǫ och δ, nämligen ǫ = Lδ för någon konstant L. 2.2 Lipschitz-kontinuitet Definition 2. (Lipschitz-kontinuerlig funktion.) Funktionen f är Lipschitz-kontinuerlig på intervallet I med Lipschitz-konstanten L om (2.2) f(x 1 ) f(x 2 ) L x 1 x 2 x 1,x 2 I. Olikheten (2.2) kallas Lipschitz-villkor och vi säger ofta lite slarvigt att funktionen är Lipschitz istället för Lipschitz-kontinuerlig. Notera vad definitionen säger. Det handlar om sambandet mellan noggrannheten i x och noggrannheten i y = f(x). Om t ex ˆx är en approximation till x med felet högst 10 6, dvs och L = 10, så blir felet i y = f(x) högst 10 5, ˆx x 10 6, f(ˆx) f(x) L ˆx x 10 10 6 = 10 5. Och detta gäller oavsett var i intervallet I talen ˆx och x ligger. Dvs vi behöver inte veta exakt vilka ˆx och x är, det räcker med en grov uppskattning om i vilket intervall de ligger. Vi får på detta vis en kvantitativ ( = som kan mätas) information om felet. Observera också att Lipschitz-konstanten inte är unik: om vi har hittat en Lipschitz-konstant så är varje större konstant också en Lipschitz-konstant för funktionen f på intervallet I. Det är bättre ju mindre konstant man hittar. Exempel 11. En allmän linjär funktion Vi får f(x) = mx+c med I = R = (, ). f(x 1 ) f(x 2 ) = (mx 1 +c) (mx 2 +c) = m(x 1 x 2 ) = m x 1 x 2 x 1,x 2 R. Vi kan alltså ta L = m. Exempel 12. En speciell linjär funktion Vi får f(x) = 3x+2 med I = R = (, ). f(x 1 ) f(x 2 ) = 3 x 1 x 2 = 3 x 1 x 2 x 1,x 2 R. Om vi vill att f(x 1 ) f(x 2 ) 10 3 så kan vi ta 3 x 1 x 2 10 3,

2.2. LIPSCHITZ-KONTINUITET 13 dvs x 1 x 2 1 3 10 3. Exempel 13. En speciell kvadratisk funktion f(x) = x 2 med I = [ 2,2]. Vi får, med konjugatregeln och triangelolikheten, f(x 1 ) f(x 2 ) = x 2 1 x 2 2 = (x 1 +x 2 )(x 1 x 2 ) = x 1 +x 2 x 1 x 2 ( x 1 + x 2 ) x 1 x 2 (2+2) x 1 x 2 = 4 x 1 x 2 x 1,x 2 [ 2,2]. }{{}}{{} 2 2 Alltså: f(x) = x 2 är Lipschitz med konstanten L = 4 på intervallet [ 2,2]. Exempel 14. f(x) = x 2 på [2,4]. Vi får, som förut, f(x 1 ) f(x 2 ) = x 2 1 x 2 2 = x 1 +x 2 x 1 x 2 ( x 1 + x 2 ) x 1 x 2 }{{}}{{} 4 4 (4+4) x 1 x 2 = 8 x 1 x 2 x 1,x 2 [2,4]. Alltså: f(x) = x 2 är Lipschitz med konstanten L = 8 på intervallet [2,4]. Notera att Lipschitz-konstanten beror både på funktionen och intervallet. Löst uttryckt: L är maximala lutningen på intervallet I tagen med absolutbelopp. Vi ska senare se att om funktionen är deriverbar så är L = max x I f (x). Men alla funktioner är inte deriverbara så vi vill inte använda detta nu. Exempel 15. f(x) = x 2 på R. Denna är ej Lipschitz på det angivna intervallet för f(x 1 ) f(x 2 ) = x 1 +x 2 x 1 x 2, där kvantiteten x 1 +x 2 kan bli hur stor som helst, L =. Exempel 16. f(x) = x på [1, ). Vi får med konjugatregeln f(x 1 ) f(x 2 ) = x 1 x 2 = = ( x 1 x 2 )( x 1 + x 2 ) x1 + x 2 = x 1 x 2 x1 + x 2 1 x1 + x 2 x 1 x 2 1 2 x 1 x 2 x 1,x 2 [1, ). Här använde vi att x 1,x 2 1 så att x 1 + x 2 2 och därmed 1 x1 + x 2 1 2 Alltså är x Lipschitz på [1, ) med konstanten 1 2. Men 1 x är inte Lipschitz på [0,1], för på det intervallet kan x1+ x 2 bli hur stor som helst. Kvadratroten är inte Lipschitz på något intervall som innehåller punkten 0.

14 KAPITEL 2. LIPSCHITZ-KONTINUITET Nu ska vi visa att Lipschitz-kontinuerliga funktioner verkligen är kontinuerliga enligt vår gamla definition (2.1) (se även Adams 1.4 Definition 4 och 7 och Adams 1.5 Definition 8.) Obs: enkelt bevis. Sats 1. Om f är Lipschitz-kontinuerlig på I så är f kontinuerlig på I. Bevis. Vad vet vi? Jo, enligt antagandet vet vi att (2.3) f(x 1 ) f(x 2 ) L x 1 x 2 x 1,x 2 I. Vad ska vi visa? Tag c I. Vi ska visa att f är kontinuerlig i c, dvs lim f(x) = f(c). x c Om c är en ändpunkt till intervallet så ska gränsvärdet vara enkelsidigt: lim f(x) = f(c) eller lim x c f(x) = f(c). x c+ Detta betyder enligt den formella definitionen (Adams 1.5, Definition 8): ǫ > 0 δ = δ(ǫ) sådant att (2.4) 0 < x c < δ och x I f(x) f(c) < ǫ. Vi tar då ett ǫ > 0 och försöker hitta δ så att (2.4) gäller. Lipschitz-villkoret (2.3) ger Vi vill att L x c < ǫ. Detta gäller om f(x) f(c) L x c x I. x c < 1 L ǫ. Vi kan alltså ta δ = 1 Lǫ. Då gäller (2.4). Beviset är klart. Observera i det föregående beviset att vi kan ta δ = 1 Lǫ, dvs att δ är proportionell mot ǫ. Det är anledningen till att det är lättare att räkna med Lipschitz-kontinuerliga funktioner. Nackdelen är att inte alla kontinuerliga funktioner är Lipschitz-kontinuerliga. Det är dock ingen stor nackdel i praktiken. Exempel 17. Vi återvänder till Exempel 10 om att tillverka en disk. Vi betraktar då funktionen A(r) = πr 2 på intervallet 0 r 25. Vi beräknar en Lipschitz-konstant som i Exempel 14: dvs L = 50π. Vi vill ha A(r 1 ) A(r 2 ) π(25+25) r 1 r 2 = 50π r 1 r 2, r 1,r 2 [0,25], A(r) A(20) = πr 2 400π < ǫ = 5. Vi ska åstadkomma detta genom att ta r 20 < δ. Tillsammans med Lipschitz-villkoretger detta Vi löser ut δ: A(r) A(20) L r 20 < Lδ (vi vill) ǫ. δ ǫ L = 5 50π = 1 10π = 0.0318309... Vi tar δ = 0.03183.Lite sämre tolerans än i den mer exakta beräkningen i Exempel 10 men mycket enklare.

2.2. LIPSCHITZ-KONTINUITET 15 Ett intervall är begränsat ( bounded ) om det inte når ut till oändligheten, dvs (2.5) (a,b), [a,b), (a,b] eller [a,b]. Ett sådant intervall kan också kallas ändligt ( finite ) som i Adams 1.4 sid 83 (sid 82, 7e uppl). En funktion är begränsad ( bounded ) på intervallet I om dess värden inte når ut till oändligheten (Adams 1.4, sid 84 (sid 83, 7e uppl)), dvs om det finns en begränsning M sådan att (2.6) f(x) M x I. Vi ska nu visa att en Lipschitz-kontinuerlig funktion inte hinner ut till oändligheten på ett begränsat intervall. Enkelt bevis! Sats 2. Om f är Lipschitz på ett begränsat intervall I, så är f begränsad på I. Bevis. Eftersom I är begränsat så är det av formen (2.5). Vi måste hitta en konstant M så att (2.6) gäller. Tag en punkt c I. Lipschitz-villkoret ger för alla x I: f(x) = f(x) f(c)+f(c) f(x) f(c) + f(c) L x c + f(c) L(b a)+ f(c). Vi tar alltså M = L(b a)+ f(c). Vi kan kombinera Lipschitz-kontinuerliga funktioner. Detta är Lipschitz-motsvarigheten till Adams 1.4 Theorem 6. Sats 3. Antag att f och g är Lipschitz på I med konstanter L f och L g och α,β R. Då är följande kombinationer också Lipschitz på I. I (b) och (c) antar vi dessutom att f och g är begränsade på I med begränsningar M f och M g. (a) linjär kombination: αf +βg med L = α L f + β L g ; (b) produkt: fg med L = M f L g +M g L f ; (c) kvot: f g, om g(x) a x I och något a > 0, med L = (M fl g +M g L f )/a 2. Antag att g är Lipschitz på I 1 med konstant L g och att f är Lipschitz på I 2 med konstant L f. Antag dessutom att g(x) I 2 för alla x I 1. Då är också den sammasatta funktionen f g Lipschitz på I 1. (d) komposition: f g med L = L f L g. Bevis. (Det räcker om du lär ett av dessa.) Bevis av (a): (αf +βg)(x 1 ) (αf +βg)(x 2 ) = (αf(x 1 )+βg(x 1 )) (αf(x 2 )+βg(x 2 )) Lipschitz-konstanten blir L = α L f + β L g. Bevis av (b): = α(f(x 1 ) f(x 2 ))+β(g(x 1 ) g(x 2 )) α f(x 1 ) f(x 2 ) + β g(x 1 ) g(x 2 ) α L f x 1 x 2 + β L g x 1 x 2 = ( α L f + β L g ) x 1 x 2. (fg)(x 1 ) (fg)(x 2 ) = f(x 1 )g(x 1 ) f(x 2 )g(x 2 ) = f(x 1 )g(x 1 ) f(x 1 )g(x 2 )+f(x 1 )g(x 2 ) f(x 2 )g(x 2 ) f(x 1 )g(x 1 ) f(x 1 )g(x 2 ) + f(x 1 )g(x 2 ) f(x 2 )g(x 2 ) = f(x 1 ) g(x 1 ) g(x 2 ) + f(x 1 ) f(x 2 ) g(x 2 ) M f L g x 1 x 2 +L f x 1 x 2 M g = (M f L g +M g L f ) x 1 x 2.

16 KAPITEL 2. LIPSCHITZ-KONTINUITET Lipschitz-konstanten blir L = M f L g +M g L f. Bevis av (c): f g (x 1) f g (x 2) = f(x 1) g(x 1 ) f(x 2) g(x 2 ) = f(x 1)g(x 2 ) f(x 2 )g(x 1 ) g(x 1 )g(x 2 ) = f(x 1)g(x 2 ) f(x 2 )g(x 2 )+f(x 2 )g(x 2 ) f(x 2 )g(x 1 ) g(x 1 )g(x 2 ) = (f(x 1) f(x 2 ))g(x 2 )+f(x 2 )(g(x 2 ) g(x 1 )) g(x 1 )g(x 2 ) = (f(x 1) f(x 2 ))g(x 2 )+f(x 2 )(g(x 2 ) g(x 1 )) g(x 1 ) g(x 2 ) f(x 1) f(x 2 ) g(x 2 ) + f(x 2 ) g(x 2 ) g(x 1 ) g(x 1 ) g(x 2 ) (L fm g +M f L g ) x 1 x 2 a 2 = (M fl g +M g L f ) a 2 x 1 x 2. Lipschitz-konstanten blir L = (M f L g +M g L f )/a 2. Bevis av (d): (f g)(x 1 ) (f g)(x 2 ) = f(g(x 1 )) f(g(x 2 )) Lipschitz-konstanten blir L = L f L g. L f g(x 1 ) g(x 2 ) L f L g x 1 x 2. Om funktionen är deriverbar kan man beräkna Lipschitz-konstanten enkelt. Sats 4. (Beräkning av Lipschitz-konstant med hjälp av derivata) Antag att funktionen f är kontinuerlig på [a, b] och deriverbar på (a, b) med begränsad derivata, Då gäller f (x) M x (a,b). f(x 1 ) f(x 2 ) M x 1 x 2 x 1,x 2 [a,b]. Slutsatsen är alltså att f är Lipschitz-kontinuerlig på [a,b] med konstanten L M. Bevis. Tag två punkter x 1,x 2 [a,b] med x 1 < x 2. Tillämpa Medelvärdessatsen (Adams 2.8 Theorem 11) på intervallet [x 1,x 2 ]. Vi får en (okänd) punkt c (a,b) sådan att f(x 2 ) f(x 1 ) x 2 x 1 = f (c), dvs f(x 2 ) f(x 1 ) = f (c)(x 2 x 1 ) = f (c) x 2 x 1 M x 2 x 1.

2.2. LIPSCHITZ-KONTINUITET 17 Övningar Bestäm en Lipschitz-konstant för följande funktioner. Gör både ett direkt bevis (om det går) och ett som baseras på Sats 3. Obs: man behöver inte bestämma den bästa (minsta) möjliga Lipschitz-konstanten, det räcker att hitta en konstant L som inte är överdrivet stor. Dvs man får förenkla och räkna approximativt. 1. h(x) = x 3 på [0,2] 2. h(x) = 1 x på [1,10] 3. h(x) = 1 på [1,10] x2 4. h(x) = x på [0.01,1] 5. h(x) = 4x 2 3x på [ 1,1] 6. h(x) = x2 x+1 på [0,1] 7. Ur en cylindrisk trädstam med radien 3 dm skall sågas en balk med rektangulärt tvärsnitt. Böjmotståndet W (som har enheten dm 3 ) hos en sådan balk ges av formeln W = xy2 6 där x betecknar bredden och y höjden. Balkens tvärsnitt är alltså en rektangel med bredden x och höjden y vars hörn ligger på en cirkel med radien R = 3 dm. Det betyder att ( x ) 2 ( y ) 2 + = R 2, dvs y 2 = 4R 2 x 2 = 36 x 2. 2 2 Vi eliminerar y ur W = 1 6 xy2 och får en funktion av x: W(x) = 1 6 x(36 x2 ), x [0,6]. Vi vill tillverka en balk med böjmotståndet 13.5 dm 3, vilket svarar mot att sidan x är 3 dm. Antag att böjmotståndet inte får avvika från det nominella värdet 13.5 dm 3 med mer än 0.1 dm 3. Uppskatta hur stor noggrannheten i bredden måste vara för att detta skall vara uppfyllt. Ledning: Använd Lipschitz-villkoret. 8. Vinkelfrekvensenf hosenpendel berorpå pendelnslängdxenligtformelnf(x) = g/x, där g = 9.81 m/s 2 är tyngdkraftsaccelerationen. För att det ska gå att räkna för hand använder vi g = 9 m/s 2, dvs f(x) = 9/x. Vi vill tillverka en pendel med vinkelfrekvensen 1 s 1 med toleransen 0.01 s 1 och nominella längden 9 m. Hur noggrannt måste längden göras? Använd Lipschitz-villkoret för f. Svar 1. L = 12 2. L = 1 3. grov uppskattning L = 20, bästa möjliga L = 2 1 x 2 1 (x+y)(y x) x+y y x = = y 2 x 2 y 2 x 2 y 2 1 x 2 1 x+y ( 1 = y 2 x 2 y 2 x y = xy 2 + 1 x 2 y = x+y x 2 y 10+10 x y x y = 20 x y 2 1 1 ) x y (1+1) x y = 2 x y

18 KAPITEL 2. LIPSCHITZ-KONTINUITET 4. L = 5 5. L = 11 6. L = 5, a = 1, M g = 2, L g = 1, M f = 1, L f = 2 7. Vi börjar med att beräkna en Lipschitz-konstant för W på intervallet [0, 6]. W (x) = 1 2 (12 x2 ) = 1 2 12 x2 1 2 (12+x2 ) 1 2 (12+36) = 24 x [0,6], vilket ger en Lipschitz-konstant L = 24 enligt Sats 4. Vi har de nominella värdena för sidan a = 3 och och böjmotståndet W(a) = 13.5. Vi vill bestämma en tolerans δ för felet x a som garanterar att felet W(x) W(a) < ǫ = 0.1. Lipschitz-villkoret ger att blir uppfyllt om W(x) W(a) L x a < ǫ = 0.1 x a < δ = ǫ L = 0.1 24. Vi förenklar ytterligare lite och väljer en lite mindre tolerans δ = 0.1 25 = 0.004 dm. I det här enkla exemplet kan vi med en lite noggrannare uppskattning räkna ut exakt värde för derivatans maximum och får den bästa möjliga Lipschitz-konstanten L = max x [0,6] W 1 (x) = max x [0,6] 2 12 x2 = 1 2 12 36 = 12. Då blir toleransen δ = 0.1 12 0.008 (avrundat nedåt). 8. Vi använder f(x) = 9/x = 3x 1/2. Vi har nominella värden a = 9 m och f(a) = 1 s 1 och toleransen ǫ = 0.01. Vi bestämmer en Lipschitz-konstant på intervallet [8, 10] (ett lagom intervall kring 9). f (x) = 3 2 x 3/2 = 3 2 x 3/2 3 2 8 3/2 = 3 1 28 = 3 1 3/2 216 2 3 1 216 = 3 32 3 30 = 1 10 Vi tar L = 0.1. Antag x a = x 9 < δ. Lipschitz-villkoret ger Vi får f(x) 1 < ǫ om Lδ ǫ, dvs om f(x) 1 = f(x) f(a) L x a < Lδ δ ǫ L = 0.01 0.1 = 0.1

Kapitel 3 Talföljder Vi introducerar talföljder och konvergens av talföljder. Se också Adams 9.1. 3.1 Definition av talföljd En talföljd är en oändlig följd av tal som räknas upp i en bestämd ordning, t ex, 1,2,3,4,..., 1, 1 2, 1 4, 1 8, 1 16,... Vi betecknar hela följden med en bokstav och numrerar termerna med de naturliga talen Exemplen ovan kan då skrivas a = {a 1,a 2,a 3,...} = {a k } k=1. a = {1,2,3,...}= {k} k=1, b = {1, 1 2, 1 4, 1 8, 1 16,...} = {( 1 2 )k 1 } k=1. Här ges alltså a k av en formel, a k = k, men också av en algoritm (en rekursion) a 1 = 1, a k = a k 1 +1. På samma vis har vi b k = ( 1 2 )k 1 och rekursionen b 1 = 1, b k = 1 2 b k 1. Anledningen till att vi studerar talföljder är att våra matematiska (och numeriska) algoritmer ofta genererar talföljder. De första, säg 100, termerna av följden b genereras enkelt med Matlab: >> k=1:100; >> b=(-0.5).^(k-1); >> b=b Följden a ovan är ett exempel på en aritmetisk talföljd med differensen d: a k = a k 1 +d, medan b är exempel på en geometrisk talföljd med kvoten q: a k = qa k 1. En talföljd kan också ses som en funktion från de naturliga talen till de reella: f : N R, f(n) = a n. 19

20 KAPITEL 3. TALFÖLJDER 3.2 Konvergens, gränsvärde Definition 3. Vi säger att följden a = {a n } n=1 är konvergent med gränsvärdet L, lim a n = L, n om för varje tal ǫ > 0 finns ett naturligt tal N sådant att Vi skriver också n N a n L < ǫ. a n L då n, vilket utläses a n går mot L då n går mot oändligheten. Observera att N beror på ǫ. Att a = {a n } n=1 är konvergent med gränsvärdet L betyder i praktiken att vi kan approximera L med godtycklig noggrannhet med hjälp av följden a. Talet ǫ är approximationsfelet, t ex, ǫ = 10 6 betyder att vi har 5 decimalers noggrannhet. Talet N anger hur många steg av algoritmen som genererar a n som vi måste utföra för att uppnå denna noggrannhet. Tre grundläggande exempel: Exempel 18. Konstant följd: a n = 1. Då gäller lim 1 = 1. n Bevis. Tag ett tal ǫ > 0 och bestäm N = N(ǫ). Vi har för alla n. Vi kan alltså ta N = 1. a n L = 1 1 = 0 < ǫ Exempel 19. Följden a n = 1/n, dvs a = {1, 1 2, 1 3, 1 4,...}. Då gäller 1 lim n n = 0. Bevis. Tag ett tal ǫ > 0 och bestäm N = N(ǫ). Vi har a n L = 1 n 0 = 1 n < ǫ om n > 1/ǫ. Vi kan ta N = ǫ 1. (Här är x heltalstakfunktionen, som avrundar uppåt till heltal, se Adams P.5, i Matlab ceil(x).) Exempel 20. Geometrisk följd: a n = q n, dvs a = {q,q 2,q 3,...}. Då gäller lim n qn = 0 om och endast om q < 1. Bevis. Antag q < 1. Tag ett tal ǫ > 0 och bestäm N = N(ǫ). Vi har a n L = q n 0 = q n = q n < ǫ, vilket är ekvivalent med nln( q ) = ln( q n ) < ln(ǫ), där vi använt att logaritmen är en strängt växande funktion. Att q < 1 medför att ln( q ) < 0 så att vårt villkor är ekvivalent med Vi kan ta N = ln(ǫ) ln( q ). Alltså: qn 0. Antag sedan q 1. Vi har n > ln(ǫ) ln( q ). a n L = q n 0 = q n = q n 1, vilket aldrig kan bli mindre än ett litet ǫ. Alltså: q n går inte mot 0.

3.3. KOMBINATION AV GRÄNSVÄRDEN 21 Till exempel: q = 1 2, ǫ = 10 6 ger N = ln(ǫ) ln(10 6 ) = ln( q ) ln( 1 2 ) = Det vill säga: n 20 ( 1 2 )n 10 6. En följd kallas divergent om den inte är konvergent. 6ln(10) 19.93 = 20. ln(2) Exempel 21. Följden {( 1) n } n=1 = { 1,1, 1,1,...}har ingetgränsvärde,den ärdivergent. Denna följd divergerar eftersom den hoppar mellan två värden och därför inte närmar sig något. Ett annat sätt att divergera är att följden växer obegränsat, dvs divergerar mot oändligheten. Definition 4. Följden a = {a n } n=1 divergerar mot oändligheten, lim a n = (eller a n ), n om för varje naturligt tal M finns ett naturligt tal N sådant att n N a n > M. På liknande sätt definieras divergens mot minus oändligheten, Exempel 22. lim a n = (eller a n ). n lim n =. n Bevis. Tag ett naturligt tal M och bestäm N = N(M). Vi har om n N = M +1. a n = n > M 3.3 Kombination av gränsvärden Sats 5. Antag att {a n } och {b n } är konvergenta följder och α,β R. Då gäller lim (αa n +βb n ) = α lim a n +β lim n n ( )( ) lim (a nb n ) = lim a n lim b n n n n a n lim = n b n lim n a n lim n b n n b n om lim n b n 0 (linjär kombination), (produkt), (kvot). Vi bevisar inte denna sats. Den gör det möjligt att kombinera de grundläggande gränsvärdena i Exempel 18 20 och få stort antal nya gränsvärden. Exempel 23. lim n n 2 = 0. Bevis: Exempel 19 och produktregeln ger lim n n 2 = ( lim n n 1 ) 2 = 0 2 = 0. Exempel 24. lim n (a n L) = 0 är ekvivalent med lim n a n = L. Det räcker alltså att beräkna gränsvärden som är noll. Bevis: Linjärkombination och Exempel 18 ger lim n (a n L) = lim n (a n L 1) = lim n a n L lim n 1 = lim n a n L.

22 KAPITEL 3. TALFÖLJDER

Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man definierar de reella talen och bevisar Bolzanos sats och Satsen om mellanliggande värden (Adams 1.4, Theorem 9). Vi gör detta först i form av ett exempel: kvadratroten ur 2. 4.1 Kvadratroten ur 2 Figur 4.1 visar grafen till funktionen f(x) = x 2 2. Grafen antyder att ekvationen x 2 2 = 0 har exakt en positiv lösning (och en negativ). Den positiva lösningen är naturligtvis 2. Men vi 7 6 5 4 3 2 1 0 1 2 3 2 1 0 1 2 3 Figur 4.1: Funktionen f(x) = x 2 2. börjar med att visa att 2 inte är ett rationellt tal och därför inte kan representeras exakt på datorn. Sedan skall vi konstruera och definiera talet 2 som ett nytt slags tal: reellt tal. Påstående. Ekvationen x 2 2 = 0 har ingen rationell lösning. Bevis. Antag att x Q (rationellt tal) uppfyller x 2 2 = 0. Vi skriver x = p/q där p,q Z (hela tal) och där vi förkortatså att p och q inte har någragemensamma faktorer. Ekvationen x 2 2 = 0 ger då p 2 = 2q 2, 23

24 KAPITEL 4. BISEKTIONSALGORITMEN vilket betyder att p innehåller faktorn 2, dvs p = 2r för något heltal r. Men då blir x = 2r/q och x 2 = 2 ger 4r 2 q 2 = 2, dvs q2 = 2r 2, så att även q är delbart med 2. Men detta är en motsägelse till vårt antagande att vi har förkortat p/q. Alltså kan inte x vara ett rationellt tal. Konstruktion av 2 Låt f(x) = x 2 2. Vi söker x sådant att f( x) = 0. Vi ser att f(1) = 1 < 0, f(2) = 2 > 0, och drar slutsatsen att x [1,2]. Låt nu x 0 = 1, X 0 = 2, ˆx 0 = 1.5, där ˆx 0 är mittpunkten på intervallet [x 0,X 0 ]. Vi ser att f(ˆx 0 ) = 2.25 2 = 0.25 > 0 och roten bör ligga i intervallet [1,1.5]. Låt då x 1 = x 0 = 1, X 1 = ˆx 0 = 1.5. Det aktuella intervallet är nu [x 1,X 1 ] = [1,1.5]. Vi bildar mittpunkten ˆx 1 = (x 1 +X 1 )/2 = 1.25. Nu är f(ˆx 1 ) = (1.25) 2 2 = 0.4375< 0. Vi sätter då x 2 = ˆx 1 = 1.25, X 2 = X 1 = 1.5. Vi har tabellen i x i X i 0 1 2 1 1 1.5 2 1.25 1.5 Proceduren kan upprepas hur många gånger som helst. Den kallas bisektionsalgoritmen. Kör programmet bisektdemo.m med funktionsfilen funk.m för att göra en längre tabell. (Filerna finns under länken Matlab/facit på kurshemsidan.) Det verkar som om en decimalutveckling växer fram.

4.1. KVADRATROTEN UR 2 25 Man kan ställa sig följande frågor: x i X i 1.00000000000000 2.00000000000000 1.00000000000000 1.50000000000000 1.25000000000000 1.50000000000000 1.37500000000000 1.50000000000000 1.37500000000000 1.43750000000000 1.40625000000000 1.43750000000000 1.40625000000000 1.42187500000000 1.41406250000000 1.42187500000000 1.41406250000000 1.41796875000000 1.41406250000000 1.41601562500000 1.41406250000000 1.41503906250000 1.41406250000000 1.41455078125000 1.41406250000000 1.41430664062500 1.41418457031250 1.41430664062500 1.41418457031250 1.41424560546875 1.41418457031250 1.41421508789063 1.41419982910156 1.41421508789063 1.41420745849609 1.41421508789063 1.41421127319336 1.41421508789063 1.41421318054199 1.41421508789063 1.41421318054199 1.41421413421631 1.41421318054199 1.41421365737915 1.41421341896057 1.41421365737915 1.41421353816986 1.41421365737915 1.41421353816986 1.41421359777451 1.41421353816986 1.41421356797218 1.41421355307102 1.41421356797218 1. Hur kan vi veta att det är en decimalutveckling? (Vi kan ju aldrig beräkna alla decimalerna, bara ändligt många.) 2. Hur kan vi veta att decimalutvecklingen löser ekvationen? 3. Finns det någon annan decimalutveckling som löser ekvationen? Svar på Fråga 1 Bisektionsalgoritmen konstruerar två följder {x i } i=0 och {X i} i=0 förhåller de sig så här: av rationella tal. Om j > i Vi drar slutsatsen att vi har följande avstånd: x i x j x X j X i. (4.1) (4.2) (4.3) x i X i = 2 i (vi har halverat intervallet [1,2] i gånger) x i x j 2 i för j i, X i X j 2 i för j i. Olikheterna (4.2) och (4.3) innebär att {x i } i=0 och {X i} i=0 bildar decimalutvecklingar: om 2 i < 10 N 1 så har vi N fixerade decimaler. Låt oss räkna ut hur många steg av algoritmen vi ska köra för att få N decimaler. Eftersom 2 10 = 1024 > 10 3 så får vi 2 i = (2 10 ) i/10 < 10 3i/10 (vi vill) 10 N 1.

26 KAPITEL 4. BISEKTIONSALGORITMEN Om vi tar i 10(N + 1)/3 så får vi 2 i < 10 N 1, dvs vi har N fixerade decimaler (vi vinner ungefär 3 decimaler per 10 steg). Vi har alltså två decimalutvecklingar. Vi betecknar dem med x = lim x i = 1.4142135..., i X = lim X i = 1.41421356... i Likheten (4.1) innebär att decimalutvecklingarna är lika. Med 2 i < 10 N 1 överensstämmer x i och X i till N decimaler. Alltså: Vi skriver x = X = 1.41421356... 2 = x = X = 1.41421356... Vilket innebär att vi satt ett namn, 2, på den decimalutveckling som vi konstruerat. Svar på Fråga 2 Vi vill visa att f( 2) = 0 dvs ( 2) 2 = (1.41421356...) 2 = 2. Vi visar att detta gäller i form av gränsvärdet (4.4) dvs ǫ > 0 N sådant att (4.5) lim f(x i) = 0, i i N f(x i ) 0 < ǫ. Tag då ett ǫ > 0 och försök bestämma N sådant att (4.5) gäller. Kom ihåg att f(x) = x 2 2 är Lipschitz-kontinuerlig på intervallet [1, 2] med Lipschitz-konstanten L = 4. Med Lipschitz-villkoret och (4.1) får vi f(x i ) 0 = f(x i ) = f(x i ) < f(x i ) f(x i ) = f(x i ) f(x i ) 4 X i x i = 4 2 i < ǫ, }{{}}{{} <0 >0 om i > ln(ǫ/4)/ ln(1/2) = ln(4/ǫ)/ ln(2). Vi kan ta N = ln(4/ǫ)/ ln(2) (heltalstaket=avrunda uppåt). Detta visar (4.5). Svar på Fråga 3 Finns det fler lösningar? Vi noterar först att funktionen f(x) = x 2 2 är strängt växande för x 0, dvs 0 x < y f(x) < f(y). (Bevis av detta: f(y) f(x) = y 2 2 (x 2 2) = y 2 x 2 = (y x) (y +x) > 0. ) }{{}}{{} >0 >0 Antag nu att det finns två icke-negativa lösningar x,y med 0 x < y. Men då är 0 = f(x) < f(y) = 0 vilket är omöjligt. Alltså är 2 = 1.41421356... den enda icke-negativa lösningen. Sammanfattning 1. Vi har konstruerat en approximerande följd x i. 2. Vi har visat att följden bildar en decimalutveckling x = lim i x i. 3. Vi har visat att lim i f(x i ) = 0, dvs f( x) = 0. 4. Vi har visat att det finns bara en icke-negativ lösning, dvs alla konstruktioner ger samma resultat.

4.2. REELLT TAL=DECIMALUTVECKLING=CAUCHY-FÖLJD 27 4.2 Reellt tal=decimalutveckling=cauchy-följd De reella talen är mängden av alla decimalutvecklingar (ändliga, periodiska eller icke-periodiska). Vi har sett att olikheterna (4.2) och (4.3), x i x j 2 i, X i X j 2 i för j i, garanterar att följderna bildar decimalutvecklingar. Antag att vi har en decimalutveckling, a = p.q 1 q 2 q 3 q 4..., där p är heltalsdelen. Om vi trunkerar efter n decimaler, så får vi en följd {a n } n=1, sådan att Det beror på att a j a i ges av a n = p.q 1 q 2 q 3 q 4...q n, a i a j < 10 i för j i. p.q 1...q i p.q 1...q i q i+1...q j dvs a i a j = 0.q i+1...q j 10 i < 10 i. Å andra sidan, om en följd uppfyller 0.0...0 q i+1...q j a i a j < 10 n 1 för j i, så stämmer de n första decimalerna i a i överens med de n första decimalerna i a j för alla j i. Dvs en decimalutveckling växer fram. Vi skriver då a = lim i a i, där a är decimalutvecklingen = reella talet. En sådan följd kallas Cauchy-följd. Definition 5. (Cauchy-följd) En talföljd {a j } j=1 kallas Cauchy-följd om ǫ > 0 N sådant att i,j N a i a j < ǫ. Som vi sett betyder detta att följden genererar en decimalutveckling. Toleransen ǫ anger antalet decimaler: ǫ = 10 n 1 betyder n korrekta decimaler. Exempel 25. a n = 1/n. Antag j i. Då får vi a i a j = 1 i 1 = 1 j i 1 j < 1 i (vi vill) ǫ. Vi löser ut i. Vi får i 1/ǫ. Vi tar N = 1/ǫ. Då gäller j i N a i a j < 1/i 1/N ǫ.

28 KAPITEL 4. BISEKTIONSALGORITMEN Övningar Visa att följande är Cauchy-följder. 1. a n = 1/n 2 2. a n = 1/ n 3. Visa: a n och b n är Cauchy medför att a n +b n är Cauchy. 4. Visa: f är Lipschitz på [a,b] och a n [a,b] är Cauchy medför att f(a n ) är Cauchy. 4.3 Bisektionsalgoritmen Vi formulerar nu bisektionsalgoritmen i sin allmänna form, dvs för en allmän ekvation av formen f(x) = 0. Algoritmen är: (a) Givet: en funktion f som är kontinuerlig på [a,b] och med f(a)f(b) < 0 (olika tecken). (b) Sätt x 0 = a, X 0 = b, i = 0. (c) Bilda mittpunkten ˆx i = (x i +X i )/2. Om f(ˆx i ) = 0, sätt x i+1 = X i+1 = ˆx i och stoppa. Om f(ˆx i )f(x i ) < 0, sätt x i+1 = x i, X i+1 = ˆx i. Om f(ˆx i )f(x i ) < 0, sätt x i+1 = ˆx i, X i+1 = X i. Sätt i = i+1 och upprepa (c). Algoritmen genererar två följder {x i } i=0 och {X i} i=0. (Om algoritmen stoppar i steg nummer i tänker vi oss att vi fortsätter följderna som konstanta följder: x j = X j = ˆx i, j i+1.) I praktiken räcker det att spara en av följderna. Och i praktiken avbryter vi algoritmen när tillräcklig noggrannhet uppnåtts: x i X i TOL, där TOL är en given feltolerans. Med hjälp av denna algoritm kan vi bevisa Bolzanos sats och Satsen om mellanliggande värden. 4.4 Bolzanos sats Sats 6. (Bolzanos sats) Antag att f : [a,b] R är kontinuerlig och att f(a)f(b) < 0 (dvs f(a) och f(b) har olika tecken). Då existerar ett reellt tal x [a,b] sådant att f( x) = 0. Om f är strängt monoton (växande eller avtagande), så är lösningen x entydig (det enda nollstället till f). Beviset är ett konstruktivt bevis, till skillnad från, till exempel, ett motsägelsebevis. Det innebär att beviset beskriver hur talet x konstrueras. Beviset är organiserat i följande fyra steg: 1. en algoritm som genererar en approximerande följd {x i }; 2. ett bevis av att {x i } är en Cauchy-följd så att vi erhåller ett reellt tal (decimalutveckling) x = lim i x i ; 3. ett bevis av att x löser ekvationen: {f(x i )} är också en Cauchy-följd och f( x) = lim i f(x i ) = 0; 4. ett bevis av att lösningen x är entydig (i fallet då f är en strängt monoton funktion). Lägg dessa steg på minnet, vi kommer att använda samma slags bevis vid flera tillfällen. De första tre stegen ger existens av en lösning. Det sista steget ger entydighet av lösningen till ekvationen f(x) = 0. En viktig konsekvens av entydigheten är att alla approximerande följder konvergerar mot samma lösning x. Dvs, lösningen beror inte på valet av algoritm eller approximerande följd (den är oberoende av konstruktionen).

4.4. BOLZANOS SATS 29 Bevis. Vi genomför beviset under det extra antagandet att f är Lipschitz-kontinuerlig. Steg 1. Vi använder bisektionsalgoritmen med startvärden a och b. Steg 2. Vi erhåller två följder {x i } i=0 och {X i} i=0 med (4.6) (4.7) (4.8) x i X i (b a)2 i, x i x j (b a)2 i, j i, X i X j (b a)2 i, j i. (Likhet gäller i (4.6) om algoritmen inte stoppar.) Olikheterna (4.7) och (4.8) visar att x i och X i är Cauchy-följder: x i x j 0, X i X j 0 då i,j, och vi erhåller därmed decimalutvecklingar (reella tal) x = lim x i, X = lim X i. i i Olikheten (4.6) innebär att decimalutvecklingarna är lika: Steg 3. Lipschitz-kontinuiteten hos f ger x = lim i x i = lim i X i = X. f(x i ) f(x j ) L x i x j L(b a)2 i, j i, vilket innebär att f(x i ) är en Cauchy-följd, f(x i ) f(x j ) 0 då i,j. Den ger en decimalutveckling (reellt tal) som vi betecknar f( x): f( x) = lim i f(x i ). Vi måste visa att detta gränsvärde är lika med 0. För att göra detta noterar vi att avståndet mellan f(x i ) och 0 är mindre än eller lika med avståndet mellan f(x i ) och f(x i ). Detta gäller eftersom f(x i ) och f(x i ) har olika tecken. Som exempel, om f(x i ) < 0 och f(x i ) > 0: I bägge fallen fås: f(x i ) 0 = f(x i ) < f(x i )+f(x i ) = f(x i ) f(x i ). f(x i ) 0 f(x i ) f(x i ) L x i X i L(b a)2 i 0, där vi också utnyttjat Lipschitz-villkoret och (4.6). Detta innebär att lim f(x i) = 0, i eller med andra ord f( x) = 0. Steg 4. Antag nu att f är strängt växande. (Fallet med en strängt avtagande funktion kan behandlas på liknande sätt.) Detta betyder att x < y medför att f(x) < f(y). Antag också att vi har två olika lösningar, dvs, x 1 < x 2 med f( x 1 ) = f( x 2 ) = 0. Men detta motsäger antagandet om sträng monotonocitet. Alltså finns det bara en lösning. Vi betraktar nu ekvationer på formen f(x) = y. Sats 7. (Satsen om mellanliggande värden) (Adams 1.4, Theorem 9) Om f : [a,b] R är kontinuerlig och det reella talet y ligger mellan f(a) och f(b), så existerar det ett reellt tal x [a,b] sådant att f( x) = y. Om f är strängt monoton, så är x entydig. Satsen säger att en kontinuerlig funktion antar alla värden mellan sina ändpunktsvärden. En diskontinuerlig funktion, å andra sidan, kan hoppa över värden. Se Figur 4.5. Bevis. Om f(a) = f(b) så är y = f(a) = f(b) och vi kan välja x = a eller x = b. Annars använder vi Bolzanos sats på funktionen F(x) = f(x) y. Det är klart att F : [a,b] R är Lipschitz med samma Lipschitz-konstant som f, och F(a)F(b) < 0 eftersom y ligger mellan f(a) and f(b). Vidare, så är F strängt monoton om f är strängt monoton. Slutsatsen följer nu ur Bolzanos sats: det existerar ett tal x sådant att F( x) = f( x) y = 0, och x är entydig om f är strängt monoton.

30 KAPITEL 4. BISEKTIONSALGORITMEN 6 4 2 0 2 4 6 2 1.5 1 0.5 0 0.5 1 1.5 2 Figur 4.2: Icke-monoton funktion med tre nollställen. 2 1 0 1 2 3 4 5 6 7 0 0.5 1 1.5 2 2.5 3 Figur 4.3: Monoton funktion med entydigt nollställe. 4.5 Invers funktion Antag nu att funktionen i Satsen om mellanliggande värden är strängt växande. (Avtagande funktioner kan behandlas på samma sätt.) Låt oss skriva A = f(a), B = f(b). Vi noterar följande konsekvenser av satsen. Funktionen antar alla värden y i intervallet [A,B] och den antar inga värden utanför [A,B]. Detta innebär att funktionens värdemängd är precis R(f) = [A,B]. Ekvationen f(x) = y har en entydig lösning x för alla y [A,B]. Eftersom lösningen x är entydig, definierar detta en funktion y x. Mer precist, vi kan definiera en funktion g : [A,B] R x = g(y), där x är den unika lösningen till f(x) = y. (Kom ihåg att en funktion måste ha ett unikt värde för varje element i sin definitionsmängd.) Vi säger då att f är inverterbar och funktionen g kallas den inversa funktionen (eller bara inversen) till f. Den betecknas g = f 1, f 1 : [A,B] R x = f 1 (y), där x är den unika lösningen till f(x) = y. Naturligtvis kan vi låta x och y byta plats och skriva y = f 1 (x), x [A,B].

4.5. INVERS FUNKTION 31 8 6 4 2 0 2 4 2 1.5 1 0.5 0 0.5 1 1.5 2 Figur 4.4: Ekvation f(x) = y med flera lösningar. 10 8 6 4 2 0 2 4 2 1.5 1 0.5 0 0.5 1 1.5 2 Figur 4.5: En diskontinuerlig funktion som hoppar över värdet y = 3. Notera att D(f 1 ) = R(f) = [A,B], f(f 1 (y)) = y, y [A,B]; R(f 1 ) = D(f) = [a,b], f 1 (f(x)) = x, x [a,b]. De två sista identiteterna, vilka visar att sammansättningen av en funktion och dess invers är en identitetsavbildning, bevisas så här: y = f(x) = f(f 1 (y)), y [A,B], x = f 1 (y) = f 1 (f(x)), x [a,b]. En strängt avtagande funktion kan behandlas på samma sätt om vi noterar att R(f) = [B,A]. Vi har nu bevisat följande. Sats. Om funktionen f : [a,b] R är kontinuerlig och strängt monoton, så har den en invers funktion f 1. Varning: f 1 uttalas f invers, och det är inte samma sak som f upphöjt till minus ett (f) 1 = 1/f. Det är förvirrande att invers och upphöjt till 1 skrivs på samma sätt, men det är en tradition inom matematiken, som vi får leva med och vara försiktiga. Exempel. Funktionenf(x) = x 2,ärinteinverterbareftersomekvationenx 2 = y hartvålösningar x = ± y då y > 0. I nästa avsnitt skall vi se att f blir inverterbar om vi betraktar en restriktion av definitionsmängden till de icke-negativa talen.

32 KAPITEL 4. BISEKTIONSALGORITMEN 4.6 Kvadratrotsfunktionen Vi introducerar kvadratrotsfunktionen och undersöker dess egenskaper. Funktionen f : [0,b] R, f(x) = x 2, är strängt växande eftersom 0 x < y medför x y < 0 och x+y > 0 så att x 2 y 2 = (x y)(x+y) < 0. Därmed har ekvationen x 2 = y en unik lösning x = y för alla y [0,b 2 ]. Alltså är f inverterbar med f 1 (y) = y. Detta kan göras för alla värden på b, entydigheten medför att bisektionsalgoritmen ger samma resultat oavsett vilka startvärden a = 0 och b > 0 vi använder. Så funktionen f : [0, ) R, f(x) = x 2, är inverterbar med invers f 1 : [0, ) R, f 1 (x) = x. Notera: definitionsmängden till kvadratrotsfunktionen D( ) = [0, ) och värdemängden R( ) = [0, ). Varning: f 1 (x) = x är inte samma sak som (f) 1 (x) = (f(x)) 1 = x 2 = 1/x 2 även om de skrivs på nästan samma sätt. Eftersom x 2 = a och y 2 = b medför (xy) 2 = ab och (x/y) 2 = a/b, drar vi slutsatsen att ab = a b, a b = a b. Vi undersöker nu Lipschitz-kontinuiteten hos x: x { y = multiplicera med konjugatuttrycket x+ } y = ( x y)( x+ y) x y } = {med konjugatregeln x+ y x+ y 1 1 = x y x y = 1 x+ y δ + δ 2 x y för x,y δ. δ Vi drar slutsatsen att kvadratrotsfunktionen är Lipschitz-kontinuerlig med Lipschitz-konstant L = 1/(2 δ) på alla intervall på formen [δ, ) med δ > 0. Dvs, på alla intervall som undviker en omgivning av 0. Men den är inte Lipschitz på hela sin definitionsmängd R + = [0, ). Detta är uppenbart från den tidigare beräkningen, men kan också inses genom att betrakta grafen där lutningen är oändlig i 0.

Kapitel 5 Fixpunktsiteration 5.1 Fixpunktsekvation En algebraisk ekvation kan skrivas på följande två ekvivalenta sätt (vilket innebär att lösningarna är desamma). 1. f(x) = 0. En lösning x kallas en rot till ekvationen eller ett nollställe till f. Exempel. Funktionen f(x) = x 2 2 har två nollställen x 1 = 2, x 2 = 2. Algoritm: För ekvationer på denna form har vi bisektionsalgoritmen. 2. x = g(x). En lösning x kallas för en fixpunkt till g. Ekvationen kallas för en fixpunktsekvation. Exempel. Funktionen g(x) = 2/x har två fixpunkter, x 1 = 2, x 2 = 2, eftersom ± 2 = ± 2 2 2 = 2 ±. 2 Algoritm: en naturlig algoritm för en fixpunktsekvation är att välja en startpunkt x 0 och därefter beräkna x i enligt rekursionen x i = g(x i 1 ). Detta kallas fixpunktsiteration. Vår förhoppning är att följden x i konvergerar mot en fixpunkt. Detta fungerar ibland och ibland inte. Exempel. Med g(x) = x/2+1/x och x 0 = 1 får vi x 1 = g(x 0 ) = 3/2, x 2 = 17/12 och så vidare. Detta är enkelt att utföra i Matlab: >> format long >> x=1 >> x=x/2+1/x >> x=x/2+1/x >> x=x/2+1/x >> x=x/2+1/x Prova detta!! Konvergerar det? Känner du igen en viss decimalutveckling? Se Figur 5.1. Exempel. Med g(x) = 2/x och x 0 = 1 får vi x 1 = g(x 0 ) = 2, x 2 = 1, x 3 = 2, dvs., vi får den divergenta följden {1,2,1,2,...}. Notera att ekvationerna x 2 2 = 0, x = x/2+1/x, och x = 2/x är ekvivalenta (multiplicera de två sista ekvationerna med x för att se detta). Vi kan omvandla ekvationer mellan de två formerna på många sätt. Som ett exempel, x = g(x) kan skrivas x g(x) = 0. Å andra sidan, f(x) = 0 kan 33