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

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

a = a a a a a a ± ± ± ±500

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Moment Viktiga exempel Övningsuppgifter

Kontrollskrivning KS1T

c11 c 12 c 13 c 14 c 21 c 22 c 23 c 24 C = f 11 f 12 f f 1n

Sidor i boken f(x) = a x 2 +b x+c

Subtraktion. Räkneregler

15 september, Föreläsning 5. Tillämpad linjär algebra

Dagens program. Linjära ekvationssystem och matriser

Talmängder. Målet med första föreläsningen:

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

Komplexa tal med Mathematica

Innehåll. 1 Linjärt ekvationssystem (ES) 5. 2 Grundläggande algebra 13

14 september, Föreläsning 5. Tillämpad linjär algebra

Matriser. En m n-matris A har följande form. Vi skriver också A = (a ij ) m n. m n kallas för A:s storlek. 0 1, 0 0. Exempel 1

S n = (b) Med hjälp av deluppgift (a) beräkna S n. 1 x < 2x 1? i i. och

Lösningar och kommentarer till uppgifter i 1.1

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna 1-4.

Gamla tentemensuppgifter

1 Grundläggande kalkyler med vektorer och matriser

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

MATRISTEORI. Pelle Pettersson MATRISER. En matris är ett rektangulärt schema med tal, reella eller komplexa, vilka kallas matrisens

Moment Viktiga exempel Övningsuppgifter I Ö5.1b, Ö5.2b, Ö5.3b, Ö5.6, Ö5.7, Ö5.11a

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

Komplexa tal: Begrepp och definitioner

Polynomekvationer. p 2 (x) = x x 3 +2x 10 = 0

Enhetsvektorer. Basvektorer i två dimensioner: 1 1 Basvektorer i tre dimensioner: Enhetsvektor i riktningen v: v v

MA2047 Algebra och diskret matematik

Ekvationslösning genom substitution, rotekvationer

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

Vektorgeometri för gymnasister

Talmängder N = {0,1,2,3,...} C = {a+bi : a,b R}

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

1 Linjära ekvationssystem. 2 Vektorer

x = som är resultatet av en omskrivning av ett ekvationssystemet som ursprungligen kunde ha varit 2x y+z = 3 2z y = 4 11x 3y = 5 Vi får y z

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

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

TATM79: Föreläsning 3 Komplexa tal

Linjär Algebra M/TD Läsvecka 2

Modul 1: Komplexa tal och Polynomekvationer

Determinanter, egenvectorer, egenvärden.

Explorativ övning 7 KOMPLEXA TAL

Vektorgeometri för gymnasister

Lösningar och kommentarer till uppgifter i 3.1

f (a) sin

Uppföljning av diagnostiskt prov Repetition av kursmoment i TNA001-Matematisk grundkurs.

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

Ekvationer och olikheter

KOKBOKEN 1. Håkan Strömberg KTH STH

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

1 Addition, subtraktion och multiplikation av (reella) tal

1 Positivt definita och positivt semidefinita matriser

Allmänna Tredjegradsekvationen - version 1.4.0

Avsnitt 4, Matriser ( =

Dagens ämnen. Linjära ekvationssystem: Successiv elimination Vektorer Definitionen Grundläggande räkneoperationer Bas och koordinater Ortsvektorer

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

Rekursionsformler. Komplexa tal (repetition) Uppsala Universitet Matematiska institutionen Isac Hedén isac

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Övningshäfte 2: Komplexa tal

Övningar. MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik. Linjär algebra 2. Senast korrigerad:

SKRIVNING I VEKTORGEOMETRI Delkurs

Introduktion till Komplexa tal

Vektorerna är parallella med planet omm de är vinkelräta mot planets normal, dvs mot

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

Dagens program. Linjära ekvationssystem och matriser

8 Minsta kvadratmetoden

. (2p) 2x + 2y + z = 4 y + 2z = 2 4x + 3y = 6

M0043M Integralkalkyl och Linjär Algebra, H14, Linjär Algebra, Föreläsning 11

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

Moment 4.2.1, 4.2.2, 4.2.3, Viktiga exempel 4.1, 4.3, 4.4, 4.5, 4.6, 4.13, 4.14 Övningsuppgifter 4.1 a-h, 4.2, 4.3, 4.4, 4.5, 4.

Polynomekvationer. p 2 (x) = x x 3 +2x 10 = 0

f(x) = x 2 g(x) = x3 100

= ( 1) ( 1) = 4 0.

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

Föreläsning 1. Kursinformation All viktig information om kursen ska kunna läsas på kursens hemsida

Där a = (1, 2,0), b = (1, 1,2) och c = (0,3, 1) Problem 10. Vilket är det enda värdet hos x för vilket det finns a och b så att

Vektorgeometri för gymnasister

Gausselimination fungerar alltid, till skillnad från mer speciella metoder.

Del I: Lösningsförslag till Numerisk analys,

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Övningshäfte 2: Komplexa tal (och negativa tal)

(a) Bestäm för vilka värden på den reella konstanten c som ekvationssystemet är lösbart. (b) Lös ekvationssystemet för dessa värden på c.

Övningstenta 6. d b = 389. c d a b = 1319 b a

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

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.

Analys o Linjär algebra. Lektion 7.. p.1/65

Avsnitt 2. Matriser. Matriser. Vad är en matris? De enkla räknesätten

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:

4 Fler deriveringsregler

SKRIVNING I VEKTORGEOMETRI

MMA132: Laboration 2 Matriser i MATLAB

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

Vektorgeometri för gymnasister

8.5 Minstakvadratmetoden

Vi skalla främst utnyttja omskrivning av en matris för att löas ett system av differentialekvaioner. 2? Det är komplicerat att

TENTAMEN. Matematik 1 Kurskod HF1903 Skrivtid 13:15-17:15 Onsdagen 25 september 2013 Tentamen består av 3 sidor

6 Derivata och grafer

Transkript:

1.1 Ekvationslösning Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade. 1.1.1 Polynomekvationer Ett polynom i en variabel x är som bekant en summa av termer på formen a k x k. Där a k är en konstant och k är ett icke negativt heltal. p(x) = a 0 + a 1 x + a 2 x 2 +... + a n x n Det är när ett polynom sätts till 0, som en polynomekvation bildas, p(x) = 0. Ekvationens gradtal bestäms av den term som har högsta exponenten k och som samtidigt har en koefficient a k 0. Tittar vi först på polynomekvationer kan vi konstatera att ekvationer av första graden lärde vi oss att lösa redan på högstadiet. Denna typ av ekvationer, hur komplicerade de ursprungligen än är, kan de alltid reduceras till ax + b = 0 Roten vi söker är x-koordinaten då den räta linjen y = ax + b skär x-axeln. Ekvationen saknar lösning då a = 0 eftersom motsvarande linje då är parallell med x-axeln. Polynomekvationer av andra graden, andragradare, lärde vi oss att lösa i början av gymnasiet, eller kanske rent av i högstadiet. På samma sätt kan alla sådana ekvationer reduceras till ax 2 + bx + c = 0 Rötterna vi söker är de skärningspunkter med x-axeln som grafen till funktionen f(x) = ax 2 + bx + c har. Ofta finns det sådana, men ibland saknas skärningspunkter. Någon gång talar vi om dubbelrot, när grafen tangerar x-axeln. Normalt löser vi dessa ekvationer med den av studenter kallade pq -formeln. Då vi utgår från ekvationen x 2 + px + q = 0 x 1,2 = p 2 ± p 2 4 q Uttrycket under rottecknet kallas diskriminanten och det då p 2 4 q < 0 Håkan Strömberg 1 KTH Syd

1.1. EKVATIONSLÖSNING som vi i början sa att ekvationen saknar rötter, det finns inga skärningspunkter. I själva verket har ekvationen likväl två rötter, så kallade komplexa eller imaginära. Då diskriminanten är = 0 är det frågan om en dubbelrot, båda rötterna är lika. Alternativa metoder för att lösa andragradsekvationer är formeln: x 1,2 = b ± b 2 ac 2a där man alltså först inte behöver utföra divisionen med a eller kvadratkomplettering. Här ett exempel som visar tekniken. x 2 + 3x 4 = 0 ( x + 3 2 ( 2) 3 2 2) 4 = 0 ( ) x + 3 2 2 = 25 4 x + 3 2 = ± 5 2 x = 3 2 ± 5 2 x 1 = 1 x 2 = 4 Vi ser att omskrivningen av ekvationen är korrekt genom att granska ( x + p ) 2 ( p ) 2 + q = x 2 + 2 px ( p 2 ( p ) 2 2 2 2 2) + + q = x 2 + px + q 2 Om färdigheten att lösa polynomekvationer av första och andra graden tillhör allmänbildningen är det få som kan lösa en godtycklig ekvation av tredje graden utan tillgång till matematisk handbok eller dator. Vi har alltså att lösa eller på normalform ax 3 + bx 2 + cx + d = 0 x 3 + rx 2 + sx + t = 0 Vi vet att motsvarande funktion f(x) = x 3 + rx 2 + sx + t har åtminstone ett nollställe (skärning med x-axeln). I figur 1.1 ser vi tre olika möjligheter till rötter. Funktionen f(x) har uppenbarligen tre reella nollställen, ekvationen f(x) = 0 har tre reella rötter. Ekvationen g(x) = 0 verkar ha en enkel reell rot och en dubbelrot. Slutligen ekvationen h(x) = 0, som verkar endast ha en reell rot när vi granskar grafen. Har den en reell rot måste den ha två komplexa rötter. Med Cardano s formel kan vi lösa tredjegradsekvationer. Vi utgår från ekvationen Ax 3 + Bx 2 + Cx + D = 0 och går över till normalform där x 3 + rx 2 + sx + t = 0 r = B A s = C A t = D A Håkan Strömberg 2 KTH Syd

Figur 1.1: Genom att substituera x = y r 3 får vi ekvationen där Vi beräknar nu p = s r2 3 y 3 + py + q = 0 q = 2r3 27 rs 3 + t ( q ) 2 ( p 3 δ = + 2 3) Om δ 0 bestämmer vi de tre rötterna genom u = 3 q 2 + δ v = 3 q 2 δ x 1 = u + v r 3 Om däremot δ > 0 får vi rötterna genom x 2 = u+v 2 r 3 + 3(u v) 2 i x 3 = u+v 2 r 3 3(u v) 2 i u = p 3 27 cosα = q 2u x 1 = 2cos ( ) α 3 3 u r 3 x 2 = 2cos ( α 3 + 2π ) 3 3 u r 3 x 3 = 2cos ( α 3 + 4π 3 ) 3 u r 3 När det gäller polynomekvationer av fjärde graden är proceduren än mer komplicerad, så vi lämnar den därhän. Polynomekvationer av högre gradtal än fyra är inte lösningsbar genom att följa en given algoritm där endast de fyra räknesätten och rotutdragning används. Detta bevisades av Niels Henrik Abel, norsk matematiker. Håkan Strömberg 3 KTH Syd

1.1. EKVATIONSLÖSNING 1.1.2 Andra ekvationer Logaritmekvationer, rotekvationer, trigonometriska ekvationer och exponentialekvationer är andra typer av ekvationer som tillhör de man lär sig hantera i gymnasiet. Här några exempel med tillhörande grafer: Logaritmekvation 1.5 1 0.5 4.25 4.5 4.75 5.25 5.5 5.75 6-0.5 Figur 1.2: Lograitmekvation lg2x lg(4x 15) = 2 Rotekvation 2.5 2 1.5 1 0.5-0.5 1 2 3 4 Figur 1.3: Rotekvation 1 + x + 4 x = 2x + 1 Trigonometrisk ekvation -2 2 4 6 8 10 12-4 -6-8 -10-12 Figur 1.4: Trigonometrisk ekvation 5sinx + 6cos 2 x = 7 Håkan Strömberg 4 KTH Syd

Exponetialekvation 40 20-1 1 2 3 4-20 -40 Figur 1.5: Exponentialekvation 2 x + 2 x+1 + 2 x+2 = 56 Vi har nu studerat ekvationer där det är möjligt att finna exakta lösningar. Långt ifrån alla ekvationer är lösbara i den meningen. Till exempel: e x x 2 2x 2 = 0 Här går det inte att lösa ut x. Just nu vet vi ganska lite om hur många rötter ekvationen har och hur grafen till f(x) = e x x 2 2x 2. Vi ser att lim f(x) = x eftersom e x -termen tar över. dessutom ser vi också att lim f(x) = x då x 2 -termen tar över. Däremellan skär grafen x-axeln åtminstone en gång. Plottar vi grafen får vi (se figur 11.24). Vi gissar att det bara finns en rot och kan avläsa den från grafen till x 2.7. Om denna noggrannhet inte räcker tar vi till Maple: 2-3 -2-1 1 2 3-2 -4 Figur 1.6: >solve(exp(x)-x^2-2*x-2=0); RootOf(-exp(_Z)+_Z^2+2 _Z+2) >fsolve(exp(x)-x^2-2*x-2=0); 2.674060314 >Digits:=20; > fsolve(exp(x)-x^2-2*x-2=0); 2.6740603137235603179 Håkan Strömberg 5 KTH Syd

1.1. EKVATIONSLÖSNING Först försöker vi med solve, som vi använt tidigare. Av svaret att döma förstår vi att solve-funktionen inte klarar av sitt uppdrag. Funktionen vi ska använda heter fsolve, som i sitt grundutförande är lik solve. Om inget annat sägs får vi svaret med 10 siffror, som vi litar på. Skulle inte noggrannheten räcka kan vi med Digits beställa antalet siffror vi vill ha i svaret! Även om man kan få rötterna till en ekvation via Maple, så ingår det i denna kurs att kunna skriva och hantera program som löser ekvationer numeriskt. Det vill säga att genom ett iterativt förfarande komma närmare och närmare den önskade roten. Vi ska här ta upp två metoder för att finna rötter till ekvationer Intervallhalvering och Newton Raphsons metod 1.1.3 Intervallhalvering En kontinuerlig funktion, som har olika tecken i ändpunkterna av ett intervall, har minst ett nollställe i intervallet. Genom att bestämma funktionens tecken i intervallets mittpunkt kan man stänga in nollstället i ett hälften så stort intervall, vilket kan i sin tur halveras... Ett exempel där funktionen f(x) = x 2 x 6 leder till andragradsekvationen x 2 x 6 = 0. Då f(1) = 6 < 0 och f(4) = 6 > 0 vet vi att det finns minst en rot i intervallet [1,4]. Det är den vi ska ha tag i. I nästa steg tar vi reda på f( 1+4 2 ) = f(2.5) = 2.25 < 0. Flyttar vi upp den undre gränsen av intervallet får vi ett nytt, där vi med säkerhet vet att vi stängt in en rot, [2.5,4]. I nästa steg får vi f( 2.5+4 2 ) = f(3.25) = 1.3125 > 0. Nu är det dags att flytta den övre gränsen. Vi vet att roten ligger i intervallet [2.5,3.25]. Så här förändras intervallet i följande steg: Undre gräns Övre gräns 2.500000 4.000000 2.500000 3.250000 2.875000 3.250000 2.875000 3.062500 2.968750 3.062500...... 2.999998 3.000004 2.999998 3.000001 3.000000 3.000001 3.000000 3.000000 och till sist har vi nått fram till roten x = 3, som vi enkelt kan verifiera. Felet hos den framräknade roten kan inte vara större än det sista intervallet. Eftersom vi är avbrutit iterationen när intervallets längd blivit < 10 7 kan felet inte vara större. 1.1.4 Newton Raphson Den mest kända av de numeriska metoder som finns för att finna rötter till ekvationer. Här behövs det bara ett startvärde x 0. Men om det är ekvationen f(x) = 0 som ska lösas behöver man dessutom f (x). Håkan Strömberg 6 KTH Syd

Iterationsformeln skrivs x n+1 = x n f(x n) f (x n ) Ett exempel där vi håller oss kvar vid f(x) = x 2 x 6 och alltså ska lösa x 2 x 6 = 0. Vi får f (x) = 2x 1 och formeln övergår i: x n+1 = x n x2 n x n 6 2x n 1 Vi hugger ett startvärde x 0 = 5. Framöver, men inte här, kommer valet av x 0 att visa sig vara ganska viktigt. x 1 = 5 14 9 3.4444 x 2 = 3.44444 2.41973 5.88888 3.03354 x 3 = 3.03354 0.168825 5.06708 3.00022 x 3 = 3.00022 0.00110005 5.00044 3.00000 Vi är framme (därför att vi vet resultatet) redan efter fyra iterationer. Metoden har en konvergenshastighet överlägsen intervallhalvering. Däremot är det svårare att bestämma felet hos den beräknade roten. Problem 1. Skriv ett program i C som löser andragradsekvationer, där du använder complex.h för att hantera komplexa rötter. Lös därefter ekvationen x 2 + 4x + 5 = 0 Problem 2. Implementera Cardano s formel i C och lös följande tre ekvationer Jämför dina svar med graferna i figur 1.1 a) 3x 3 21x + 18 = 0 b) 2x 3 + 2x 2 16x 24 = 0 c) x 3 + x 2 + x + 1 = 0 Problem 3. Lös logaritmekvationen, rotekvationen, trigonometriska ekvationen och exponentialekvationen ovan med hjälp av Maple och funktionen solve Problem 4. Implementera intervallhalvering i C och bestäm den enda roten till ekvationen e x x 2 = 0 med sex korrekta siffror. Kolla upp resultatet med hjälp av Maple. (Använd genomgående double istället för float) Problem 5. Implementera Newton Raphson i C och bestäm den enda roten till ekvationen e x x 2 = 0 (Använd genomgående double istället för float) Håkan Strömberg 7 KTH Syd

1.1. EKVATIONSLÖSNING Problem 6. Hur många rötter har ekvationen Alla hjälpmedel tillåtna lnx = 2sin2x Svar 1. Svar 2. Svar 3. Typ x 1 = 2 i,x 2 = 2 + i a) x 1 = 3 x 2 = 1 x 3 = 2 b) x 1 = 2 x 2 = 2 x 3 = 3 c) x 1 = 1 x 2 = i x 3 = i Svar Svar 4. x = 0.703467 Svar 5. x = 0.703467 Logaritmekvationen x = 9 2 Rotekvationen x 1 = 7 2 Tigonometriska ekvationen x 1 = π 6 + n 2π x 2 = 5π 6 + n 2π x 3 0.34 + n 2π x 4 2.80 + n 2π Exponentialekvationen x = 3 Figur 1.7: Svar 6. 5 stycken. Se figur 1.7 Håkan Strömberg 8 KTH Syd

2.2 Komplexa tal Vi inför i = 1 i 2 = 1 i och med detta kan vi till exempel skriva 7 = ( 1) 7 = 1 7 = i 7 Om vi till exempel ska lösa ekvationen x 2 2x + 2 = 0 kommer vi med hjälp av pq -formeln fram till x 1,2 = 1 ± 1 För många tar det slut här. Ekvationen saknar rötter. Reella ja, men eftersom 1 = i så kan vi skriva rötterna x 1 = 1 + i x 2 = 1 i Ekvationen x 2 2x 3 = 0 har rötterna x 1 = 3 och x 2 = 1. Vi vet sedan tidigare att (x 3)(x + 1) = x 2 2x 3 Hur går det om vi gör motsvarande med vår komplexa ekvation? Det fungerar! (x (1 + i))(x (1 i)) = (x 1 i)(x 1 + i) = x 2 x + ix x + 1 i ix + i i 2 = x 2 2x + 1 i 2 = x 2 2x + 1 + 1 = x 2 2x + 2 Talet a + ib (där a och b är reella tal) kallas ett komplext tal. Man kan kan räkna med komplexa tal precis som med reella tal. Addition (a + ib) + (c + id) = (a + c) + i(b + d). Ett exempel (3 + 4i) + (2 2i) = 5 + 2i Subtraktion (a + ib) (c + id) = (a c) + i(b d). Ett exempel (100 + 35i) (98 34i) = 2 + 69i Håkan Strömberg 9 KTH Syd

2.2. KOMPLEXA TAL Multiplikation (a+ib)(c+id) = ac+iad+ibc bd = ac bd+i(ad+bc). Ett exempel (2 + 3i)(1 i) = 2 2i + 3i 3i 2 = 2 + i + 3 = 5 + i Division Exempel a + ib c + id = (a + ib)(c id) (c + id)(c id) = ac + bd + i(bc ad) c 2 + d 2 1 + i (1 + i)(2 + i) = 2 i (2 i)(2 + i) = 2 + i + 2i 1 = 1 + 3i 4 + 1 5 2.2.1 Fakta om komplexa tal z används ofta som symbol för ett komplext tal. För det komplexa talet z = a + ib skrivs realdelen Rez = a och imaginärdelen Imz = b. Det komplexa talet z = a + ib kan beskrivas i det komplexa talplanet där den imaginära axeln sammanfaller med y-axeln och den reella axeln med x-axeln. Ett tal skrivet på formen z = a + ib kallas kartesisk form. Ett komplext tal kan också skrivas på polär form. z = re iθ, där r kallas beloppet och θ kallas argumentet. Om vi utgår från z = a + ib så är r = z = a 2 + b 2 argz = arctan b a Figur 2.8: Talet z = a + ib har konjugatet z = a ib, som vi redan använt vid definitionen av division Multiplikation av två tal på polär form z 1 z 2 = r 1 e iθ 1 r 2 e iθ 2 = r 1 r 2 e i(θ 1+θ 2 ) z 1 z 2 = z 1 z 2 arg(z a z 2 ) = arg(z 1 ) + arg(z 2 ) = θ 1 + θ 2 z 1 z 2 = z 1z 2 z 2 z 2 = r 1 r 2 e i(θ 1 θ 2 ) Håkan Strömberg 10 KTH Syd

2.2.2 Komplexa tal i C #include <complex.h> öppnar biblioteket till räkning med komplexa tal 1 #include <stdio.h> 2 #include <complex.h> 3 int main(void){ 4 complex z1=1+i,z2=2 I,z3,z4,z5; 5 z3=z1+z2; 6 z4=z1 z2; 7 z5=z1/z2; 8 printf("%.3f+%.3fi\n",creal(z3),cimag(z3)); 9 printf("%.3f+%.3fi\n",creal(z4),cimag(z4)); 10 printf("%.3f+%.3fi\n",creal(z5),cimag(z5)); 11 z3=csqrt(z1); 12 z4=csin(z2); 13 z5=cpow(z3,3); 14 printf("%.3f+%.3fi\n",creal(z3),cimag(z3)); 15 printf("%.3f+%.3fi\n",creal(z4),cimag(z4)); 16 printf("%.3f+%.3fi\n",creal(z5),cimag(z5)); 17 } I är förstås reserverad. I övrigt inga speciella märkvärdigheter förutom csqrt, csin och cpow som opererar på komplexa tal utan att vi ännu vet hur dessa funktioner arbetar. I princip alla funktioner i math.h finns i complex.h Läs igenom avsnittet om komplexa tal i boken (sid A-1 till A-7). Räkna så mycket du behöver av uppgifterna på sid A-10. Håkan Strömberg 11 KTH Syd

3.3. MATRISALGEBRA 3.3 Matrisalgebra Definition 1. En matris är ett schema med m rader och n kolonner (eller kolumner, som vi kallar dem i datalogin) innehållande m n element. A = a 11 a 12 a 13... a 1n a 21 a 22 a 23... a 2n a 31 a 32 a 33... a 3n............. a m1 a m2 a m3... a mn I denna kurs kommer matrisens elementen alltid att bestå av reella tal. B = b 11 b 12 b 13 b 21 b 22 b 23 b 31 b 32 b 33 C = ( c11 c 12 c 13 c 14 c 21 c 22 c 23 c 24 Matrisen B är kvadratisk har lika många rader som kolonner. En beteckning, som ofta används är B(3 3). Matrisen C betecknas C(2 4) och är rektangulär (icke kvadratiska matriser kallas rektangulära). B sägs vara av typ 3 3, C av typ 2 4 och A av m n. Elementens två index bestäms först av den rad r och sedan av den kolonn k, i vilka elementet befinner sig a rk. D = d 11 d 21 d 31... d m1 F = ( ) f 11 f 12 f 13... f 1n ) G = ( g 11 ) Även D(n 1) och F(1 m) är matriser, trots att vi oftare kallar dem kolonnvektor respektive radvektor. Det är möjligt men oftast överdrivet att skriva talet g i form av en matris G(1 1). H = 1 2 3 5 5 1 3 0 2 I = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Både H och I är kvadratiska matriser den första av ordningen 3 och den andra av ordningen 4. Håkan Strömberg 12 KTH Syd

Definition 2. Nedanstående matris är en så kallad enhetsmatris. En enhetsmatris är alltid kvadratisk och dess element är alla 0 utom på huvuddiagonalen där elementen har värdet 1. 1 0... 0 0 0 1... 0 0 E =....... 0 0... 1 0 0 0... 0 1 Beteckningen E är reserverad för enhetsmatriser. Definition 3. Nollmatrisen är rätt och slätt en matris där samtliga element är 0. Nollmatrisen kan vara av vilken typ, m n, som helst. Definition 4. Transponering. A = 1 4 5 1 0 3 3 2 2 1 3 4 B = 1 0 2 4 3 1 5 3 3 1 2 4 Efter att ha studerat de två matriserna A och B en stund upptäcker vi att B innehåller samma element som A. Det är bara det att elementen har bytt plats a ik har blivit b ki. B är transponat till A och skrivs A t. Detta leder förstås också till att A övergår från typ 3 4 till A t med typen 4 3. För en kvadratisk matris kan vi säga att elementen speglas i huvuddiagonalen när den transponeras. Som redan framgått betecknar vi matriser med versaler och använder företrädesvis A, B och C. Enkolumniga matriser kallar vi fortsättningsvis vektorer, som vi betecknar med gemener från samma teckensnitt, som till exempel u, v och w. Enradiga matriser betraktar vi som transponat av vektorer och betecknar dem därför u t, v t, och w t Definition 5. Symmetrisk matris En symmetrisk matris är en matris där A = A t. 3.3.1 Matrisalgebra För matriser finns tre operationer definierade. Detta är en utvidgning av den vanliga algebran och är därför i mångt och mycket lik den. Matrisaddition. Vi skriver additionen av matriserna A och B som A + B. Denna matrisaddition är bara möjlig då matriserna är av samma typ. Det vill säga, endast då m 1 = m 2 och n 1 = n 2 är additionen A + B definierad för A(m 1 n 1 ) och B(m 2 n 2 ). ( ) ( ) ( ) 3 4 0 3 3 1 + = 1 0 1 1 0 1 Additionen av de två matriserna ovan är möjlig därför att de båda är av typen 2 2. Multiplikation med skalär. Om λ är ett reellt tal, här kallat skalär och A(m n), en matris så skriver vi a 11 a 12... a 1n λa = λ a 21 a 22... a 2n.......... = a m1 a m2... a mn Håkan Strömberg 13 KTH Syd

3.3. MATRISALGEBRA λa 11 λa 12... λa 1n λa 21 λa 22... λa 2n............ λa m1 λa m2... λa mn Det vill säga varje element a ij i matrisen multipliceras med skalären. 1 A innebär alltså att varje element i A byter tecken. Matrismultiplikation där A multipliceras med B, skrivs AB, är inte lika intuitiv, som addition. Först ett litet exempel med multiplikation av två vektorer, som får visa tekniken. Kalle ska köpa 3 st päronglass, 1 burk Coca-Cola och 4 st salta remmar. Styckpriserna för var och en av de tre varorna är 4.50 kr, 7.00 kr respektive 2.50 kr. Vi är nu intresserade av vad Kalle ska betala totalt. Först definierar vi två vektorer a och p a = 3 1 4 p = 4.50 7.00 2.50 Allt kan uttryckas med en vektormultiplikation, a t p ( ) 4.50 3 1 4 7.00 = 3 4.50 + 1 7.00 + 4 2.50 = 30.50 2.50 Elementen multipliceras parvis och summeras! Så över till matrismultiplikation mellan en 2 3-matris och en 3 3-matris. ( ) 1 2 5 4 3 4 3 3 2 = 3 1 2 4 1 1 ( ) 4 1 + 3 3 + 4 4 4 2 + 3 3 + 4 1 4 5 + 3 2 + 4 1 = 3 1 + 1 3 + 2 4 3 2 + 1 3 + 2 1 3 5 + 1 2 + 2 1 ( ) 29 21 30 14 11 19 I detta exempel har vi sex gånger genomfört den rutin, som vi utförde endast en gång i förra exemplet. Alla raderna i den första matrisen har kombinerats med samtliga kolumner i den andra. Ett krav för att matrismultiplikationen AB, A(m n) och B(p q) ska vara möjlig är att n = p. Det vill säga att det finns lika många kolonner i A, som det finns rader i B. Om nu AB är möjlig betyder inte det att BA är möjlig eftersom detta i så fall kräver att q = m. Då AB beräknas där A(m n) och B(n p) blir resultatet av typen (m p). Vi avslutar detta avsnitt med ett generellt uttryck som bestämmer c ik, ett godtyckligt element i C = AB, där A(m n) och B(n q). För att bestämma elementet i rad i och kolonn k i C, kombineras alltså rad i i A med kolonn k i B. Båda innehåller n tal. c ik = a i1 b 1k + a i2 b 2k +... + a in b nk Håkan Strömberg 14 KTH Syd

Det är frestande att skriva detta uttryck med hjälp av summasymbolen. c ik = n a is b sk s=1 Definition 6. En diagonalmatris är en kvadratisk matris där elementen utanför huvuddiagonalen är 0. a 11 0... 0 0 a 22... 0.......... 0 0... a mm För element a ij på huvuddiagonalen gäller i = j. Dessa element kallas diagonalelement. En enhetsmatris E är ett specialfall av en diagonalmatris. Definition 7. En kvadratisk matris där alla element ovanför huvuddiagonalen är 0 kallas undertriangulär matris. A = a 11 0 0... 0 a 21 a 22 0... 0 a 31 a 32 a 33... 0............. a m1 a m2 a m3... a mm Följaktligen kallas en kvadratisk matris där alla element under huvuddiagonalen är 0 för övertriangulär matris. A = a 11 a 12 a 13... a 1m 0 a 22 a 23... a 2m 0 0 a 33... a 3m............ 0 0 0... a mm Definition 8. Trace. Summan av diagonalelementen i en kvadratisk matris kallas trace och betecknas tr. Ibland används på svenska ordet spår. A = Vi skriver tra = a 11 + a 22 + a 33 + a 44 a 11 a 12 a 13 a 14 a 21 a 22 a 23 a 24 a 31 a 32 a 33 a 34 a 41 a 42 a 43 a 44 3.3.2 Invers matris Ekvationen ax = b är en linjär ekvation där a och b är givna reella tal. Om a 0 har ekvationen en entydig lösning, x = a 1 b. Om a = 0 och b 0 saknar ekvationen lösning. Om däremot både a = 0 och b = 0 finns det oändligt många lösningar eftersom alla reella tal x löser ekvationen. Håkan Strömberg 15 KTH Syd

3.3. MATRISALGEBRA Det är möjligt att tänka sig en liknande ekvation uttryckt med matriser och vektorer. Ax = b Där A(n n), x(n 1) och b(n 1). Med detta kan vi till exempel mena, för n = 3 a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 x 1 x 2 x 3 = där vektorn x innehåller de tre obekanta och resten av elementen är kända reella tal. Genom att utföra multiplikationen i vänsterledet ser vi tydligt att matrisekvationen inte är något annat än ett ekvationssystem. a 11 x 1 + a 12 x 2 + a 13 x 3 = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 = b 3 Lösningen till matrisekvationen (eller ekvationssystemet) skrivs x = A 1 b I den inledande ekvationen multiplicerade vi båda leden med a 1. I vänstra ledet leder a 1 a = 1. I den senare ekvationen multiplicerar vi båda leden med A 1 där A 1 A = E. Vi är alltså på jakt efter en matris A 1 = α 11 α 12 α 13 α 21 α 22 α 23 α 31 α 32 α 33 sådan att A 1 A = E. Om vi finner denna matris har vi också lösningen till matrisekvationen eftersom x = A 1 b x 1 = α 11 b 1 + α 12 b 2 + α 13 b 3 x 2 = α 21 b 1 + α 22 b 2 + α 23 b 3 x 3 = α 31 b 1 + α 32 b 2 + α 33 b 3 Det reella talet 1 i första ekvationen motsvarar alltså enhetsmatrisen E(n n) i den andra. Matrisen A 1 till A kommer framöver att visa sig spela i matrisalgebra. Från början hade vi tre obekanta nu har vi 9. Det är därför rimligt att fråga sig vad det är för vits med detta! Vi återkommer senare med ett helt kapitel om linjära ekvationssystem, där vi på liknande sätt som ovan kommer att diskutera antalet lösningar. Just nu koncentrerar oss i stället bara på att A 1 (n n) är en matris sådan att och fastslår AA 1 = A 1 A = E Definition 9. Den kvadratiska matrisen A sägs vara inverterbar om det finns en matris A 1 sådan att A 1 A = AA 1 = E Matrisen A 1 sägs vara invers till A. b 1 b 2 b 3 Håkan Strömberg 16 KTH Syd

Matrisen A(2 2) har inversen A 1 eftersom A 1 A = AA 1 = E. ( ) ( ) 3 5 2 5 A = A 1 2 1 = 1 3 ( )( ) ( ) 2 5 3 5 1 0 = 1 3 1 2 0 1 ( )( ) ( ) 3 5 2 5 1 0 = 1 2 1 3 0 1 Att för hand finna A 1 till en given matris A är ofta ett mödosamt arbete som vi med varm hand överlämnar åt Maple. Det finns ett antal mer eller mindre effektiva metoder för detta arbete, där vårt program är utrustat med god kunskap. 3.3.3 Determinanten till en matris I detta kapitel definierar vi determinanten till en kvadratisk matris endast som ett tal och återkommer i senare kapitel med en geometrisk tolkning av detta tal Definition 10. determinanten för en matris av typ 2 2 är det tal som definieras av ( ) a11 a det A = det 12 = a 21 a 22 a 11 a 12 a 21 a 22 = a 11a 22 a 12 a 21 Definition 11. Determinanten för en matris av typ 3 3 är det tal som definieras av a 11 a 12 a 13 a 11 a 12 a 13 det A = det a 21 a 22 a 23 = a 21 a 22 a 23 a 31 a 32 a 33 a 31 a 32 a 33 = = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 a 11 a 23 a 32 a 12 a 21 a 33 a 13 a 22 a 31 När vi nu ska definiera determinanten för en matris A(n n) måste vi först införa begreppet permutation. Definition 12. En permutation av heltalen {1, 2, 3,... n} är en uppräkning av dessa n tal i någon ordning utan att repetera eller utelämna något tal. Talen {1, 2, 3} kan räknas upp på 6 olika sätt och talen {1, 2, 3, 4} på 24. Kanske känner du till att n olika element kan ordnas på n! olika sätt. En permutation av heltal kan ha en defekt. Om vi betraktar två av talen, vilka som helst, i permutationen och finner att det vänstra talet är större än det högra har vi upptäckt en defekt. Permutationen {3, 4, 1, 2} har 4 defekter. 3 > 1 3 > 2 4 > 1 4 > 2 Håkan Strömberg 17 KTH Syd

3.4. MAPLE Betraktar vi definitionerna av determinanten för matriser av ordning 2 och 3, ser vi att i varje term finns exakt ett element från varje rad och kolumn de n! termerna består var och en av n faktorer. Framför hälften av de n! termerna finns ett minustecken och framför den andra häften ett plustecken. Det är här defekterna kommer in i bilden! Definition 13. En permutation kallas jämn om den har ett jämnt antal defekter och udda om den har ett udda antal defekter. En term i utvecklingen av en determinant a 1p1 a 2p2 a 3p3...a npn kan alltid ordnas i stigande radindex. Det finns ju exakt ett element från varje rad i termen. Genom att efter det betrakta termens kolonnindex kan vi avgöra om permutationen av dessa är udda eller jämn. En udda permutation leder till ett minustecken och en jämn permutation till ett plustecken. Definition 14. Determinanten till en matris A(n n) betecknas det A och innehåller n! termer a 1p1 a 2p2 a 3p3... a npn där kolonnindex genomlöper samtliga n! permutationer. Tecknet för varje term beror på om permutationen är udda eller jämn. Att bestämma determinanten till A(10 10) innebär, så långt vi vet, att bestämma värdet hos 10! = 3 628 800 termer. Varje term innehåller i sin tur 9 multiplikationer. Totalt behövs 36 287 999 operationer, inklusive additionerna, för att fullfölja beräkningarna. Att matematiker jagat metoder att förenkla detta arbete är lätt att förstå. Dessa metoder bryr vi oss dock inte om här eftersom vi har en dator som kan göra jobbet och ett program som känner till effektiva metoder. Vilken roll determinanten spelar i den linjära algebran kommer du själv att upptäcka längre fram. 3.4 Maple 3.4.1 Matrisdefinition Det mesta av matrishantering i Maple inkluderas med hjälp av with(linalg) En matris definieras sedan i Maple som en lista av listor där varje rad i matrisen är en lista. Matriserna H och I från tidigare exempel kommer alltså att skrivas in så här: h:=matrix([[1,2,3],[5,5,-1],[3,0,2]]) i:=matrix([[1,-1,1,-1],[-1,1,-1,1],[1,-1,1,-1],[-1,1,-1,1]]) 3.4.2 Delar av matris Delar av en matris ett element eller en rad får man fatt i genom att använda sig av [...]. Till exempel x=h[3,2], som tilldelar x värdet 0, tredje radens andra element i H. r=row(h,2) tilldelar variabeln r listan som består av hela andra raden, [5,5,-1] Håkan Strömberg 18 KTH Syd

3.4.3 Matrismultiplikation Man multiplicerar två matriser A och B genom att skriva multiply(a.b). Där punkten betecknar matrismultiplikation. En förutsättning för att operationen ska fungera är förstås att A har lika många kolumner som B har rader. Men det har vi ju redan sagt. Vi återgår till exemplet med Kalles godisinköp och definierar Antalsvektorn som en radvektor a:=vector[row]([3,1,4]). Prisvektorn skrivs in på liknande sätt och blir automatiskt en kolumnvektor p:=vector([4.50,7.00,2.50]). Vektorerna a och p kan nu multipliceras genom multiply(a,p) och vi får återigen svaret 30.50. 3.4.4 Multiplicera matris med skalär Om samtliga priser i p ska räknas upp med 10% skriver vi 1.10 p. Varje element i vektorn p kommer då att multipliceras med 1.1 3.4.5 Transponering Matrisen A definierad a:=matrix([[2,3],[5,8]]) transponeras med hjälp av funktionen transpose(a) och resultatet blir förstås ( ) 2 5 3 8 3.4.6 Matrisinvertering inverse(a) beräknar inversen till matrisen A. a:=matrix([[1,1/2,1/3],[1/2,1/3,1/4],[1/3,1/4,1/5]]) inverse(a) Maple svarar med som alltså är inversen A 1 till A. b:=matrtix([[1,1],[1,1]]); inverse(b) 9 36 30 36 192 180 30 180 180 När man försöker bestämma inversen till en matris som saknar invers får man felutskriften Error, (in linalg:-inverse) singular matrix. 3.4.7 Determinanten Determinanten till matrisen A definierad a:=[[2,3],[5,8]] erhålls genom det(a) och ger svaret 1. När vi vill ta reda på för vilka värden på x determinanten är > 0 skriver vi först Håkan Strömberg 19 KTH Syd

3.5. EKVATIONSSYSTEM a:=matrix([[1,-x,1,-1],[-1,x,-1,1],[1,-x,1,-1],[-1,x,-1,1]]) det(a) och får reda på att det A = 0 för alla x. 3.5 Ekvationssystem 3.5.1 Kvadratiska ekvationssystem Vi startar vår utredning med det vi känner bäst till, ekvationssystem med lika många obekanta som ekvationer. Genom n ekvationer och n obekanta uppstår alltså ett kvadratiskt system a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2.................. a n1 x 1 + a n2 x 2 +... + a nn x n = b n Detta system har vi tidigare påpekat att det kan skrivas om på matrisform a 11 a 12... a 1n a 21 a 22... a 2n......... a 31 a 32... a 3n x 1 x 2... x n = Den första matrisen i uttrycket, vi kallar den här A, är systemets koefficientmatris. Normalt är alla koefficienter kända. Då det (A) 0 har A en invers A 1 och därmed ekvationssystemet en lösning. Den man får genom att multiplicera, från vänster, båda leden i Ax = b med A 1. Ax = b A 1 Ax = A 1 b Ex = A 1 b x = A 1 b b 1 b 2... b n 3.5.2 Att lösa ett ekvationssystem Linjära ekvationssystem med 2 och 3 obekanta och lika många ekvationer klarar vi att lösa för hand utan vidare. Då antalet obekanta växer blir arbetet dock mer svåröverskådligt och en, administrativt, klarare metod känns nödvändig. Gausselimination är ett exempel på en sådan metod. Vi önskar lösa ekvationssystemet 3x + 2y + z w = 6 x 2y + 2z + w = 4 2x y + 3z + 2w = 6 x + y 2z 2w = 1 Innan vi startar lösningsproceduren måste vi acceptera följande påstående Sats 1. Det är, utan att förändra lösningen till ett linjärt ekvationssystem, möjligt att Multiplicera en ekvation med en konstant 0. Byta plats på två ekvationer Håkan Strömberg 20 KTH Syd

Addera en multipel av en ekvation till en annan Vi skriver nu systemet i en totalmatris 3 2 1 1 1 2 2 1 2 1 3 2 1 1 2 2 6 4 6 1 Genom att tillämpa de regler som finns i sats 1 ska vi nu successivt överföra denna matris till en form, från vilken vi enkelt kan avläsa lösningen. Byt plats på rad 1 och rad 4. Addera 1 gånger rad 1 till rad 2. 1 1 2 2 1 2 2 1 2 1 3 2 3 2 1 1 Addera 2 gånger rad 1 till rad 3. Addera 3 gånger rad 1 till rad 4. 1 1 2 2 0 3 4 3 0 3 7 6 3 2 1 1 Addera 1 gånger rad 2 till rad 3. 1 4 6 6 1 5 8 6 1 1 2 2 0 3 4 3 2 1 3 2 3 2 1 1 1 1 2 2 0 3 4 3 0 3 7 6 0 1 7 5 1 5 6 6 1 5 8 9 Multiplicera rad 4 med 1 och byt plats på rad 2 och rad 4. 1 1 2 2 1 1 1 2 2 0 3 4 3 5 0 1 7 5 0 0 3 3 3 0 0 3 3 0 1 7 5 9 0 3 4 3 1 9 3 5 Addera 3 gånger rad 2 till rad 4. Addera 6 gånger rad 3 till rad 4 1 1 2 2 0 1 7 5 0 0 3 3 0 0 25 18 1 9 3 32 1 1 2 2 0 1 7 5 0 0 3 3 0 0 7 0 1 9 3 14 Multiplicera rad 4 med 1/7 och byt plats på rad 3 och rad 4. Håkan Strömberg 21 KTH Syd

3.5. EKVATIONSSYSTEM Addera 3 gånger rad 3 till rad 4. 1 1 2 2 0 1 7 5 0 0 1 0 0 0 3 3 Multiplicera rad 4 med 1/3. Addera 7 gånger rad 3 till rad 2. 1 1 2 2 0 1 7 5 0 0 1 0 0 0 0 1 Addera5 gånger rad 4 till rad 2. Addera 1 gånger rad 2 till rad 1. 1 1 2 2 0 1 0 0 0 0 1 0 0 0 0 1 Addera 2 gånger rad 3 till rad 1. 1 9 2 3 1 9 2 1 1 0 2 1 1 1 2 2 0 1 7 5 0 0 1 0 0 0 0 3 1 1 2 2 0 1 0 5 0 0 1 0 0 0 0 1 1 0 2 2 0 1 0 0 0 0 1 0 0 0 0 1 1 9 2 3 1 5 2 1 1 0 2 1 Addera 2 gånger rad 4 till rad 1. 1 0 0 2 0 1 0 0 0 0 1 0 0 0 0 1 3 0 2 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 2 1 Ur den sista matrisen kan vi så utläsa lösningen x = 1, y = 0, z = 2 och w = 1. Så här kan algoritmen beskrivas: Algorithm 3.5.1: GAUSSELIMINATION(A, b, n) for k 1 to n 1 for i k + 1 to n m A[i][k]/A[k][k] for j k + 1 to n do do do { A[i][j] A[i][j] m A[k][j] A[i][k] 0 b[i] b[i] m b[k] for k n downto 1 for j n downto k + 1 do do { b[k] b[k] A[k][j] b[j] b[k] b[k]/a[k][k] Resultatet hamnar i b. Håkan Strömberg 22 KTH Syd

3.5.3 Kvadratiska system där det(a) = 0 Vi riktar nu intresset mot kvadratiska ekvationssystem där determinanten för koefficientmatrisen har värdet 0 och inleder diskussionerna med några enkla exempel Exempel 1. { 2x + 3y = 9 x 2y = 1 Detta ekvationssystem har lösningen x = 3 och y = 1. Matriserna i uttrycket Ax = b har följande utseende. ( ) ( ) ( ) 2 3 x 9 A = x = b = 1 2 y 1 Determinanten för koefficientmatrisen är det A = 2 ( 2) 3 1 = 7, och systemet tillhör alltså inte den kategori vi tänkt studera här. Exempel 2. { x + 2y = 2 3x + 6y = 5 Detta system har determinanten 1 6 2 3 = 0 och tillhör, liksom nästa exempel, system där koefficientmatrisens determinant är 0. Exempel 3. { 3x y = 4 9x 3y = 12 Determinanten är här 3 ( 3) ( 1) 9 = 0. Eftersom varje ekvation i ekvationssystemen ovan motsvarar ekvationen för en rät linje kan vi grafiskt visa de tre systemen i figur 3.9. Figur 3.9: De tre systemen från ovan Vi ser att de två linjerna från exempel 1 skär varandra i punkten (3,1), vilket överensstämmer med lösningen ovan. I exempel 2 verkar linjerna vara parallella vilket skulle betyda att lösning saknas linjerna har ingen skärningspunkt. Om vi använder tekniken från förra avsnittet för att lösa detta ekvationssystem och adderar 3 gånger rad 1 till rad 2 får vi ( 1 2 3 6 2 5 ) ( 1 2 0 0 Från sista raden får vi att 0x + 0y = 1, som är en omöjlighet och därför saknar ekvationssystemet lösningar. 2 1 ) Håkan Strömberg 23 KTH Syd

3.5. EKVATIONSSYSTEM Ett liknande resonemang vad gäller exempel 3 ger då vi adderar 3 gånger rad 1 till rad 2 ( ) ( ) 3 1 4 3 1 4 9 3 12 0 0 0 Bara med den skillnaden att nu motsvarar sista raden 0x + 0y = 0 och det är sant för alla värden på x och y. Eftersom de två linjerna blivit en förstår vi att de två ekvationerna är identiska. Vi har egentligen endast en ekvation med två obekanta. I det läget bestämmer vi oss för att y = t och x = 3 t. För varje värde på t får man sedan en punkt på linjen, en ny lösning. Det finns alltså oändligt många lösningar till det tredje ekvationssystemet. Ovan har vi med enkla exempel visat tre olika fall och redovisar nu denna sats. Sats 2. Linjära ekvationssystem har antingen en, ingen eller oändligt många lösningar. 3.5.4 Homogena och inhomogena ekvationssystem Då högerledet i ekvationssystemet består av enbart nollor, kallas systemet homogent. Så fort åtminstone ett element är 0 kallas systemet däremot inhomogent 3x + 4y + 5z = 0 2x y + 3z = 0 4x + 3y 4z = 0 3x + 4y + 5z = 1 2x y + 3z = 3 4x + 3y 4z = 2 Samma koefficientmatris i två olika ekvationssystem. Det vänstra är homogent och det högra är inhomogent 3.5.5 Underbestämda ekvationssystem Då antalet obekanta är fler än antalet ekvationer kallas ekvationssystemet underbestämt. a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2................... a m1 x 1 + a m2 x 2 +... + a mn x n = b m I systemet ovan är alltså m < n. Betraktar vi de n kolonnerna i koefficientmatrisen som vektorer med m element, så vet man att de n kolonnvektorerna är linjärt beroende. Detta medför att det homogena systemet alltid har oändligt många lösningar där den triviala lösningen är en. För det inhomogena systemet kan antalet lösningar vara ingen eller oändligt många. 3.5.6 Överbestämda ekvationssystem Då antalet obekanta är mindre än antalet ekvationer kallas ekvationssystemet överbestämt. a 11 x 1 + a 12 x 2 +... + a 1n x n = b 1 a 21 x 1 + a 22 x 2 +... + a 2n x n = b 2 a 31 x 1 + a 32 x 2 +... + a 3n x n = b 3 a 41 x 1 + a 42 x 2 +... + a 4n x n = b 4................... a m1 x 1 + a m2 x 2 +... + a mn x n = b m Håkan Strömberg 24 KTH Syd

I systemet ovan är m > n. Betraktar vi även här de n kolonnerna i koefficientmatrisen som vektorer med m element. Så kan dessa kolonner vara antingen linjärt beroende eller linjärt oberoende. Tar vi med både homogena och inhomogena system, så får vi fyra olika kategorier av överbestämda system. För homogena system med linjärt oberoende kolonnvektorer finns bara den triviala lösningen. För det inhomogena systemet med linjärt oberoende kolonnvektorer finns det antingen ingen eller endast en lösning. Då kolonnvektorerna är linjärt beroende har det homogena systemet oändligt många lösningar och det inhomgena ingen eller oändligt många lösningar. 3.5.7 Sammanfattning Vi avslutar genomgången av olika typer av linjära ekvationssystem med en översiktstabell där m står för antalet ekvationer och n för antalet obekanta. n < m Kolonnerna linjärt oberoende n < m Kolonnerna linjärt beroende n = m Kolonnerna linjärt oberoende n = m Kolonnerna linjärt beroende n > m Kolonnerna linjärt beroende Homogent system Entydig lösning (den triviala) Oändligt många lösningar Entydig lösning (den triviala) Oändligt många lösningar Oändligt många lösningar sy- Inhomogent stem Ingen eller en enda lösning Ingen eller oändligt många lösningar Entydig lösning Ingen eller oändligt många lösningar Ingen eller oändligt många lösningar 3.5.8 Maple För att lösa ett linjärt ekvationssystem använder vi linalg. with(linalg): A:=matrix([[1,2],[1,3]]): b:=vector([1,-2]): linsolve(a,b); linsolve tar emot två argument, dels koefficientmatrisen A och dels högerledet b. Systemet måste vara kvadratiskt och inversen till koefficientmatrisen måste existera. Problem 7. Lös ekvationssystemet i Maple 2x + 3y 4z = 6 4x y + 2z = 2 3x + 4y 5z = 2 Håkan Strömberg 25 KTH Syd

3.5. EKVATIONSSYSTEM Problem 8. Bestäm s, t och u i ekvationssystemet nedan, då man vet att den enda lösningen är x = 2, y = 2 och z = 1. sx + 2y + 3z = 9 3x + ty + 5z = 5 4x + 2y + uz = 7 Problem 9. Skriv ett program i C som läser in två, lika stora, kvadratiska matriser A(n n) och B(n n) från fil, multiplicerar dem och skriver ut resultatet som hamnat i C(n n). Testa programmet med filen matmult.txt. Filen inleds med ett tal som anger n Problem 10. Implementera Gausselimination efter den ovan givna algoritmen. Programmet ska läsa in A(n n) och b(n 1) från fil och skriva ut resultatet. På filen ekvsyst.txt finns ett system som ska lösas. Filen inleds med ett tal n. På varje efterföljande n rader finns sedan n + 1 tal. Sista talet på raden är högerledet. Testa programmet först med filen ekvsyst1.txt och därefter med ekvsyst2.txt. Svar 7. x = 1, y = 0, z = 1 Svar 8. s = 4, t = 2 och u = 5 är de eftersökta koefficienterna. Svar 9. Svar 10. Rötterna kallade x 1...x n x 1 = 1, x 2 = 0, x 3 = 1 x n = n 90 52 58 54 31 90 47 73 55 41 150 88 101 91 58 99 73 52 62 42 151 92 93 89 53 Håkan Strömberg 26 KTH Syd

4.6 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att beröra dess osäkerhet. Beroende på metoden att mäta skriver man 134.78 ± 0.05 meter eller 134.78±0.005 meter. Antingen är då intervallet [134.73, 134.83] eller [134.775, 134.785]. Ju bättre mätmetoder desto kortare intervall i vilket det sanna värdet ligger. Om vi säger att det exakta talet är a, som vi låter beskrivas av ett närmevärde a, så definierar vi det absoluta felet i närmevärdet a = a a Till exempel om a = 123.4 är det exakta värdet som vi egentligen aldrig kan ta reda på och det uppmätta närmevärdet är a = 123.2, så är det absoluta felet a = a a = 123.2 123.4 = 0.2. Observera att vi alltså aldrig kan bestämma a eftersom vi inte känner a. Det relativa felet skriver vi a a något som vi heller aldrig kan bestämma. Men eftersom ofta a << a så är det rimligt att tänka sig a a a a Om man skriver ett tal utan tillhörande fel och det heller inte framgår av sammanhanget att talet är exakt, förutsätts talet korrekt avrundat, det vill säga det absoluta felets belopp är högst 1 2 enhet i sista siffran. 56.78 56.78 ±0.005 5001 5001 ±0.5 58000 58000 ±0.5 5.8 10 4 58000 ±500 Den n:e signifikanta siffran i ett tal är den n siffran i talet bortsett från eventuella inledande nollor. Ett tal avrundas till n signifikanta siffror: Om siffrorna efter den n:e siffran bildar ett tal > 1 2 enhet i denna, höjd den. Om talet är = 1 2 avrundas den till jämn siffra annars bibehålls den. Den senare delen av regeln ovan efterlevs inte alltid, utan man höjer alltid då 1 2. Håkan Strömberg 27 KTH Syd

4.6. FELANALYS Om vi har en följd av tal 12.0, 14.5, 17.5, 19.0, 21.5, 22.5 som vi ska avrunda till heltal får vi med den första regeln ovan 12,14,18,19,22,22 höjer vi då 1 2 får vi 12,15,18,19,22,23 Just i det fall vi har heltal a + 0.5 som ska avrundas till heltal kan man tydligt se ett systematiskt fel i den enklare regeln. 4.6.1 Olika fel Låt f = f(x). Absoluta felet ges då av: f f (x) x Låt f = f(x,y). Absoluta felet ges då av: f f x(x) x + f y(x) y Om x ǫ, där ǫ kallas felgräns får man maximalfeluppskattningen genom f f (x) ǫ Eller för den andra formeln: f f x(x) ǫ x + f y(x) ǫ y Fel man kan göra något åt R B, beräkningsfel, som uppstår då numeriska beräkningar inte utförs exakt. R T, trunkeringsfel, som uppstår då en algoritm avbryts. Fel man inte kan göra något åt R X, som finns i givna indata. Begreppet full noggrannhet i de numeriska beräkningarna innebär att R B + R T 0.2 R X Exempel 1. Bestäm maximala felet hos f, då x = 2.000 ± 0.005, y = 3.000 ± 0.005 och z = 4.000 ± 0.005 f = 3x + y z Det största värdet f kan anta är då på samma sätt, det minsta värdet f max = 3 2.005 + 3.005 3.995 = 5.025 f min = 3 1.995 + 2.995 4.005 = 4.975 Håkan Strömberg 28 KTH Syd

Med hjälp av detta kan vi skriva f = 5.000 ± 0.025 Nu är det ofta jobbigt att bestämma dessa max och min. Istället inför man följande formler f = x + y f ǫ x + ǫ y f = x y f ǫ x + ǫ y f = x y f f ǫ xx ǫ + y y f = x f y f ǫ xx + ǫy y Med hjälp av dessa får vi där som ger f 3 x + y + z x 0.5 10 2 y 0.5 10 2 y 0.5 10 2 R X 5 0.5 10 2 = 2.5 10 2 f = 3 2.000 + 3.000 4.000 = 5.000 R B = 0 R T = 0 som ger samma resultat f = 5.000 ± 0.025. Nu är det inte alltid så Exempel 2. Beräkna med full noggrannhet där de tre talen är korrekt avrundade Vi har ett uttryck av typen Formlerna ovan ger nu f f ǫ xx ǫ + y y + ǫ zz R X ( f 1 2.4897 1.980 16.387 x y z x = 2.4897 x 0.5 10 4 y = 1.980, y 0.5 10 3 z = 16.387, z 0.5 10 3 2.4897 + 10 2.98 + 10 16.387 f = 2.4897 1.980 16.387 0.31 R X 0.31 31 10 4 < 10 4 Då vi vet att R x < 10 4 och känner formeln R B + R T 0.2 R X R B 0.2 10 4 ) 0.5 10 4 < 3.1 10 4 eftersom det inte finns några trunkeringsfel. Det räcker alltså att utföra alla beräkningar med en noggrannhet som är 10 5 < 0.2 10 4 för att sedan avrunda svaret till 4 decimaler. Först utför vi 2.4897 1.980 = 4.9296060 som kan avrunda till 4.92961. Sedan 4.92961/16.387 0.3008244340 som vi kan avrunda till 0.30082. Vi kan nu avrunda detta resultat till 0.3008 och är därmed säkra att uttryckets värde kan skrivas 0.3008 ± 0.00005. Håkan Strömberg 29 KTH Syd

4.6. FELANALYS I skolan lärde vi oss regeln att räkna med fler decimaler än vi behövde i svaret. Om vi i våra program tar till double så är det ofta tillräckligt. Men inte alltid! Exempel 3. Bestäm den minsta roten till ekvationen x 2 20x + 1 = 0 genom att utför de nödvändiga beräkningarna med två signifikanta siffror. Vi får x = 10 100 1 Vi får då 99 9.9 och den minsta roten till x 1 0.1. Med större noggrannhet får vi roten till x 1 0.050126. Då 10 99 = (10 99)(10 + 99) 10 + 99 = 100 99 10 + 99 1 10 + 9.9 0.050 Vi har gjort denna beräkning med samma noggrannhet som i första försöket och fått ett resultat som ligger betydligt närmare sanningen. Detta exempel vill visa hur riskabelt det är att subtrahera två tal, där ett eller båda är behäftade med fel och ungefär lika stora. Observera att vi genom att förlänga med konjugatet har att utföra en addition istället. Exempel 4. Låt oss summera 1 + 2 +... + 100 För varje rot tar vi bara med de korrekt avrundade decimaler. Vi får 1 + 1.41 + 1.73 +... + 10 671.48. Hur bra är detta resultat? Genom Maple får vi att summan är 671.46294710314775393. Det skiljer sig ju knappt två enheter i andra decimalen! Hur kan det komma sig? Det största tänkbara felet är ǫ = 100 0.005 = 0.5. Vårt resultat är betydligt bättre än så. Om vi avrundar till en decimal för varje rot får vi summan 671.0. Här skulle felet ha kunnat varit ǫ = 100 0.05 = 5 men är bra en tiondel av detta. Exempel 5. Man vill bestämma S = 1 1 2 + 1 3... 1 2000 med 3 korrekta decimaler. Frågan är nu hur noggranna vi behöver vara vid beräknandet av varje term. Antal decimaler 1 2 3 4 5 6 7 8 Summa 3.9 6.16 8.499 8.1764 8.1783 8.178373 8.1783686 8.17836793 Med 20 korrekta decimaler är resultatet S = 8.1783681036102824096. Av tabellen att döma behöver vi använda 5 korrekta decimaler för varje term. Håkan Strömberg 30 KTH Syd

Exempel 6. Antag att x 1 och x 2 är approximationer av X 1 och X 2 med ett felen ǫ 1 och ǫ 2, så att X 1 = x 1 + ǫ 1 och X 2 = x 2 + ǫ 2. Vi vill bestämma X 1 X 2 genom att beräkna x 1 x 2 X 1 X 2 x 1 x 2 X 1 X 2 är då det relativa felet. Detta fel är ungefär lika med ǫ 1 X 1 + ǫ 2 X 2 ǫ 1 x 1 + ǫ 2 x 2 Vi har X 1 X 2 = (x 1 + ǫ 1 )(x 2 + ǫ 2 ) X 1 X 2 = x 1 x 2 + x 1 ǫ 2 + x 2 ǫ 1 + ǫ 1 ǫ 2 X 1 X 2 x 1 x 2 x 1 ǫ 2 + x 2 ǫ 1 X 1 X 2 x 1 x 2 X 1 X 2 x 1ǫ 2 +x 2 ǫ 1 X 1 X 2 X 1 X 2 x 1 x 2 X 1 X 2 ǫ 2 X 2 + ǫ 1 X 1 I ord: Då man multiplicerar två tal med givna felgränser blir det relativa felet hos produkten ungefär summan av de relativa felen hos de två talen. 4.6.2 Multiplikation av polynom När man med hjälp av en dator vill utföra multiplikationen av de två polynomen (x 3 + 4x 2 3x + 4)(2x 2 3x + 1) kan det till att börja med vara lämpligt att lagra koefficienterna i två arrayer int a[]={4,-3,4,1}; int b[]={1,-3,2} int gta=3; gtb=2; samt aktuella gradtal. 4.6.3 Polynomdivision Polynomdivision kan dyka upp i samband med ekvationslösning. Antag att vi har ekvationen x 3 2x 2 2x 3 = 0 och känner till att en rot är x 1 = 3. Genom att utföra divisionen x 3 2x 2 2x 3 x 3 Håkan Strömberg 31 KTH Syd

4.6. FELANALYS får vi ett x 2 -uttryck. Då vi låser motsvarande andragradsekvation får vi så de återstående två rötterna. Så här går polynomdivisionen till: x 3 2x 2 2x 3 : x 3 = x 2 + x + 1 x 3 3x 2 x 2 2x x 2 3x x 3 x 3 0 När vi sedan löser ekvationen x 2 + x + 1 = 0 får vi rötterna x 2,3 = 1 2 (1 ± i 3) 4.6.4 Minsta kvadratmetoden Givet ett antal punkter i första kvadranten. (1,8.3),(3,13.7),(7,25.1), (10,36.0),(12,42.1),(19, 60.8) Plottar vi dessa får vi Det ser nästan ut som om punkterna ligger på en linje. Teoretiskt är 60 50 40 30 20 10 2.5 5 7.5 10 12.5 15 17.5 20 Figur 4.10: det också tänkt att de ska göra det, men eftersom vissa mätfel har gjorts då punkterna har bestämts stämmer det inte riktigt. Trots det är man intresserad av ekvationen för den linje som teoretiskt ligger bakom. Om vi antar att ekvationen är y = ax + b, så är det alltså a och b som ska bestämmas. Hade mästserien bestått av endast två punkter (x 1,y 1 ) och (x 2,y 2 ) hade man alltid hittat en ekvation vars linje går genom dessa punkter genom att lösa ut a och b i ekvationssystemet { y1 = ax 1 + b y 2 = ax 2 + b Men i detta fall har vi inte mindre än 6 ekvationer och endast 2 obekanta. 8.3 = a + b 13.7 = 3a + b 25.1 = 7a + b 36.0 = 10a + b 42.1 = 12a + b 60.8 = 19a + b Håkan Strömberg 32 KTH Syd

Detta kallas ett överbestämt ekvationssystem, som matematiskt har en lösning endast då 4 ekvationer är identiska med de två övriga. Så är inte det fallet här och vi vill hitta den linje som ur minsta kvadratmetodens mening anpassar bäst till de givna punkterna. Om vi skriver om ekvationssystemet med de matrisbeteckningar vi använt tidigare får vi Med tidigare kända beteckningar 1 1 2 1 7 1 10 1 12 1 19 1 ( a b Ax = b Med minsta kvadratmetoden som definieras som ) = A t Ax = A t b 8.3 13.7 25.1 36.0 42.1 60.8 Får vi med vårt exempel ( 1 2 7 10 12 19 1 1 1 1 1 1 som ger ) 1 1 2 1 7 1 10 1 12 1 19 1 ( 664 52 52 6 ( a b )( a b ) = ) = ( 1 2 7 10 12 19 1 1 1 1 1 1 ( 2245.5 186 ) ) 8.3 13.7 25.1 36.0 42.1 60.8 Ger oss lösningen a = 5.264 och b = 2.970. Plottar vi linjen tillsammans med punkterna får vi 60 50 40 30 20 10 2.5 5 7.5 10 12.5 15 17.5 20 Figur 4.11: Resultatet ser bra ut Håkan Strömberg 33 KTH Syd

4.6. FELANALYS Det hela hade vi kunnat ordna i Maple genom Fit(a*x+b,[1,3,7,10,12,19],[8.3,13.7,25.1,36.0,42.1,60.8],x); 2.96953125 x + 5.2640625 Problem 11. Avrunda till 3 signifikanta siffror Problem 12. a) 1.2345 b) 1.2365 c) 1.2350 d) 1.245 e) 0.9945 d) 0.9955 a) Skriv en sats i C som avrundar talet float a till 3 korrekta decimaler efter den enklare regeln ovan b) Skriv en rutin i C som avrundar talet float a till 3 korrekta decimaler efter den mer komplicerade regeln ovan. Problem 13. Bestäm max och min för f då f = a b c då a = 4.0 ± 0.1, b = 4.2 ± 0.1 och a = 3.9 ± 0.1 Problem 14. Skriv ett program i C som utför multiplikation av två polynom. Problem 15. Skriv ett program i C, som utför polynomdivision Problem 16. Använd texten på sid 6 7 i lektion 3 för att skriva ett program som bestämmer determinanten till en given matris. Testkör ditt program med filerna det1.txt och det2.txt. Filerna inleds med ett tal som anger matrisens ordning n. Därefter följer n rader med n rader på varje. Svar 11. Svar 12. a) a) 1.23 b) 1.24 c) 1.24 d) 1.24 e) 0.994 d) 0.996 float a=2.34567; a=(int)(a*1000+0.5)/1000.0; printf("%.5f\n",a); skriver ut 2.35000. Håkan Strömberg 34 KTH Syd

b) Den komplicerade regeln är svår att få till i ett program. Detta försök fungerar men är trots allt osäkert double a=2.3455,a1,a2; a1=(double)(int)(a*1000); a2=a*1000; printf("a1=%.12f a2=%.12f a2-a1=%.12f\n",a1,a2,a2-a1); if(a2-a1==0.5 && (int)a1%2==0) a=(int)(a*1000)/1000.0; else a=(int)(a*1000+0.5)/1000.0; printf("%.5f\n",a); Utskriften från första printf-satsen blir a1=2346.000000000000 a=2346.500000000000 a-a1=0.500000000000 Det hela fungerar därför att a2 a1 = 0.5. Det är inte alls givet! Normalt ska man aldrig använda == i kombination med float eller double. Svar 13. f max = f min = 4.1 4.1 4.0 = 41 3.9 4.3 3.8 = 7.8 Dessa indata tillsammans med formeln skapar stor osäkerhet. Svar 14. Testa ditt program med (x 3 + x + 2)(x 4 + 3x 2 + x) = x 7 + 4x 5 + 3x 4 + 3x 3 + 7x 2 + 2x Svar 15. Testa ditt program med x 3 37x + 84 x 3 = x 2 + 3x 28 Svar 16. det1.txt innehåller en matris vars determinant har värdet 3. det2.txt innehåller en matris vars determinant har värdet 2366. Håkan Strömberg 35 KTH Syd

5.7. REGRESSIONSANALYS 5.7 Regressionsanalys Exempel 1. Givet 3 punkter (3,25),( 1,9),(5,69) Vi önskar ett polynom p(x) som exakt går genom dessa punkter. Vilket är det lägsta gradtal p(x) kan ha? När vi studerar grafen med punkterna ser vi direkt att gradtalet 1 inte kan komma ifråga. 70 60 50 40 30 20 10-2 -1 1 2 3 4 5 6 Figur 5.12: Vi antar därför ett polynom av andra graden p(x) = ax 2 + bx + c där vi alltså ska bestämma a,b,c. Genom de tre punkterna får vi ekvationssystemet 9a + 3b + c = 25 a b + c = 9 25a + 5b + c = 69 Som har lösningen: a = 3,b = 2,c = 4 När vi plottar p(x) = 3x 2 2x + 4 tillsammans med punkterna får vi Till n punkter kan man alltid finna ett polynom med gradtalet n 1 som går genom samtliga punkter. Exempel 2. Här har vi sex punkter givna ( 1,9),(0,4),(1,5), (3,25),(4, 44),(5,69) för vilka vi önskar ett polynom som går genom samtliga punkter. Vi vet att ett 5:e gradens polynom kommer att fungera och ansätter p(x) = ax 5 + bx 4 + cx 3 + dx 2 + ex + f Håkan Strömberg 36 KTH Syd