Komplekse tal og Kaos



Relaterede dokumenter
Komplekse tal. Jan Scholtyßek

Fraktaler. Mandelbrots Mængde. Foredragsnoter. Af Jonas Lindstrøm Jensen. Institut For Matematiske Fag Århus Universitet

DesignMat Uge 1 Gensyn med forårets stof

Komplekse tal. Mikkel Stouby Petersen 27. februar 2013

Komplekse Tal. 20. november UNF Odense. Steen Thorbjørnsen Institut for Matematiske Fag Århus Universitet

Fraktaler Mandelbrots Mængde

MM501 forelæsningsslides

Grundlæggende Matematik

Institut for Matematik, DTU: Gymnasieopgave. I. De komplekse tals historie. Historien om 3. grads ligningerne

Nøgleord og begreber Komplekse tal Test komplekse tal Polære koordinater Kompleks polarform De Moivres sætning

Modulpakke 3: Lineære Ligningssystemer

Grundlæggende Matematik

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 27. oktober 2014 Slide 1/25

Polynomier af én variabel

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

Komplekse tal. Mike Auerbach. Tornbjerg Gymnasium, Odense 2015

t a l e n t c a m p d k Matematik Intro Mads Friis, stud.scient 7. november 2015 Slide 1/25

DesignMat Den komplekse eksponentialfunktion og polynomier

Matematik. 1 Matematiske symboler. Hayati Balo,AAMS. August, 2014

Komplekse tal. x 2 = 1 (2) eller

Matematikkens metoder illustreret med eksempler fra ligningernes historie. Jessica Carter Institut for Matematik og Datalogi, SDU 12.

Komplekse tal og algebraens fundamentalsætning.

Polynomier af én variabel

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

Københavns Universitet, Det naturvidenskabelige Fakultet. Afleveringsopgave 1

Noter om polynomier, Kirsten Rosenkilde, Marts Polynomier

Matricer og Matrixalgebra

Eulers equidimensionale differentialligning

DesignMat Uge 11. Vektorrum

Inden der siges noget om komplekse tal, vil der i dette afsnit blive gennemgået en smule teori om trigonometriske funktioner.

Besvarelser til Calculus og Lineær Algebra Globale Forretningssystemer Eksamen - 3. Juni 2014

Algebra. Dennis Pipenbring, 10. februar matx.dk

Programmering C RTG

SCT. KNUDS GYMNASIUM KOMPLEKSE TAL. Opgaver til noterne kan findes her. PDF. Facit til opgaverne kan findes her. PDF. Henrik S. Hansen, version 3.

Løsning af tredjegradsligningen Jens Siegstad, Kasper Fabæch Brandt og Jingyu She

GUX Matematik Niveau B prøveform b Vejledende sæt 2

Noter om komplekse tal

Oversigt [LA] 6, 7, 8

ELEKTRISKE KREDSLØB OG DYNAMISKE SYSTEMER

DesignMat Lineære differentialligninger I

Matematik A-niveau Delprøve 1

Matematik A. Studentereksamen. Forberedelsesmateriale. Forsøg med digitale eksamensopgaver med adgang til internettet

DiMS 2010 Uge 7,

Andengradsligninger. Frank Nasser. 12. april 2011

Vektorfunktioner. (Parameterkurver) x-klasserne Gammel Hellerup Gymnasium

Undervisningsbeskrivelse

Matricer og lineære ligningssystemer

På opdagelse i Mandelbrot-fraktalen En introduktion til programmet Mandelbrot

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui Polynomier opåasdfghjklæøzxcvbnmqwertyuiopå

Matematik A. Studentereksamen. Forberedelsesmateriale. Digital eksamensopgave med adgang til internettet

Fagets IT Introduktion til MATLAB

Potensrækker. Morten Grud Rasmussen november Definition 1 (Potensrække). En potensrække er en uendelig række på formen

Kursusgang 3 Matrixalgebra Repetition

Andengradspolynomier - Gymnasienoter

Vektorer og lineær regression

Smuk matematik eller hvorfor vejrudsigten aldrig passer?

Løsninger til eksamensopgaver på B-niveau maj 2016: Delprøven UDEN hjælpemidler 4 4

Vektorer og lineær regression. Peter Harremoës Niels Brock

Repetition til eksamen. fra Thisted Gymnasium

Svar på opgave 336 (Januar 2017)

Matematik og FormLineære ligningssystemer

Kompendium i faget. Matematik. Tømrerafdelingen. 2. Hovedforløb. Y = ax 2 + bx + c. (x,y) Svendborg Erhvervsskole Tømrerafdelingen Niels Mark Aagaard

Andengradsligninger. Frank Nasser. 11. juli 2011

Matematik F2 Opgavesæt 2

Kursusgang 3 Matrixalgebra Repetition

Bedste rette linje ved mindste kvadraters metode

Køreplan Matematik 1 - FORÅR 2005

Højere Teknisk Eksamen maj Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

Periodiske kædebrøker eller talspektre en introduktion til programmet periodisktalspektrum

Descartes broen mellem geometri og algebra

Æstetik og reduktioner Matematisk takt og tone. Mikkel Findinge

Besvarelser til Calculus Ordinær Eksamen Januar 2019

Matematik A STX december 2016 vejl. løsning Gratis anvendelse - læs betingelser!

BEVISER TIL KAPITEL 3

Lineære ligningssystemer og Gauss-elimination

DesignMat Uge 11 Vektorrum

Lektion 3 Sammensætning af regnearterne

qwertyuiopåasdfghjklæøzxcvbnmqw ertyuiopåasdfghjklæøzxcvbnmqwert yuiopåasdfghjklæøzxcvbnmqwertyui opåasdfghjklæøzxcvbnmqwertyuiopå

Fagårsplan 13/14 Fag: Matematik Klasse: 7.B Lærer: LBJ Fagområde/ emne

Figur. To ligninger i to ubekendte. Definition Ved m lineære ligninger med n ubekendte forstås. Definition 6.4 Givet ligningssystemet

Årsplan for matematik i 4. klasse

Lineære differentialligningers karakter og lineære 1. ordens differentialligninger

Kursusindhold: Produkt og marked - matematiske og statistiske metoder. Monte Carlo

Grundlæggende matematik

[FUNKTIONER] Hvornår kan vi kalde en sammenhæng en funktion, og hvilke egenskaber har disse i givet fald. Vers. 2.0

Matematik og Form 3. Rækkereduktion til reduceret echelonfo. Rang og nullitet

Fraktaler en helt ny form for matematik

Mini-formelsamling. Matematik 1

APPENDIX A INTRODUKTION TIL DERIVE

Transkript:

Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik på højt niveau. Opgaven omhandler komplekse tal og Mandelbrots mængde. Yderligere litteratur kan findes bla. i [1]. Opgaven indeholder først en introducerende beskrivelse, en algoritme og derefter en implementation i programmeringssproget C. Den afsluttende opgave kan løses på 2 niveauer. Ifald der er en computer med en C-oversætter (C-compiler) tilgængelig vil man kunne eksperimentere med programmet, og den samlede opgave forventes at kunne løses på 3 timer. I den forbindelse kan gratis pakken Cygwin anbefales (http://cygwin.com), men man vil skulle erstatte kaldet til cc med gcc. Hvis programmeringsopgaven vælges fra forventes det, at opgaven kan løses på 1 time. 1

2 Andengradsligninger og kvadratroden af negative tal En andengradsfunktion kan skrives som, f(x) = ax 2 + bx + c, hvor x er variablen og a, b og c er koefficienter. Ofte ønsker støder man på problemer, hvor man kender koefficienterne og skal finde de eller de værdier af x, som løser ligningen, 0 = f(x) = ax 2 + bx + c. En lukket forms løsning (efter Eng. Closed Form http://en.wikipedia.org/wiki/closed_form) er givet ved, x ± = b ± d, hvor d = b 2 4ac. Løsningerne kan klassificeres efter fortegnet på d: > 0 2 reelle løsninger d = 0 1 reel løsning < 0 0 reelle løsninger At dette er en løsning kan afprøves ved at indsætte en løsning i ligningen, her plus løsningen, ( b + ) d f(x + ) = f ( b + ) 2 ( d b + ) d = a + b + c = a(b2 + d 2b d) 4a 2 + b2 + b d + c = b2 + d 2b d 2b 2 + 2b d + 4ac 4a = b2 + d + 4ac 4a = b2 + b 2 4ac + 4ac 4a = 0 Bemærk, at det ikke her er nødvendigt at antage, at d 0, hvilket inspirerer til en indførelsen af en ny slags tal, komplekse tal, der består af en reel og en imaginær del. Komplekse tal kan skrives på flere måder, men den hyppigste er, z = x + iy, hvor x og y er reelle tal og i kaldes den komplekse konstant og er defineret som, i 2 = 1, eller skrevet på en anden måde, i = 1. 2

Imaginære akse y x+iy x Reele akse Operation Regneregel Figur 1: Et komplekst tal tegnet som en vektor. Addition z 1 + z 2 = (x 1 + iy 1 ) + (x 2 + iy 2 ) = (x 1 + x 2 ) + i(y 1 + y 2 ) Multiplikation z 1 z 2 = (x 1 + iy 1 )(x 2 + iy 2 ) = (x 1 x 2 y 1 y 2 ) + i(x 1 y 2 + y 1 x 2 ) Division z 1 z 2 = x 1 + iy 1 x 2 + iy 2 = (x 1x 2 + y 1 y 2 ) + i(y 1 x 2 x 1 y 2 ) x 2 2 + y2 2 Længde z = x + iy = x 2 + y 2 Vinkel z = (x + iy) = tan 1 y x Tabel 1: Almindelige regneregler for komplekse tal. Med de komplekse tal vil man derfor kunne regne med negative kvadratrødder, således at 2 = i 2 1.41421i, og klassifikation af løsningerne for andengradsligninger kan udvides til, > 0 2 reelle løsninger d = 0 1 reel løsning < 0 2 komplekse løsninger Komplekse tal håndterer problemet med kvadratroden af negative tal på en elegant måde håndterer alle frihedsgrader i et andengradspolynomium. Komplekse tal kan med fordel visualiseres som en vektor, hvis komponenter er den reelle og den imaginære del. Dette ses i Figur 1. Denne analogi er til tider misvisinde, da nogle regneregler er forskellige for komplekse tal. De mest almindelige regneregler er givet i Tabel 1. 3 Iterative funktioner og Mandelbrots mængde At løse ligninger er helt fundamentalt for vores dagligdag; f.eks. hvis vi vil købe vingummier for 10 Kr. og stykprisen er 25 øre per vingummi, er det let at beregne det maksimale antal vingummier vi kan købe. Men mange funktioner lader sig ikke løse på lukket form. En rig klasse af funktioner er de iterative funktioner, og renteberegning er et eksempel på en funktion som både har iterativ foreskrift og en lukket forms løsning: Hvis man f.eks. har 10 Kr stående på en konto i banken, og der hvert år bliver tilskrevet 1% i renter af indestående beløb vil man er den iterative foreskrift givet ved, b i+1 = 1,01b i 3

under antagelse at b i er indestående beløb efter i år. Efter 5 år vil man så have, b 5 = 1,01b 4 = 1,01 2 b 3 = = 1,01 5 b 0, hvor sidstnævnte er en løsning på lukket form, og hvis b 0 = 10Kr vil b 5 = 10,51Kr. Mandelbrots mængde tager udgangspunkt i en meget simpel iterativ foreskrift: z j+1 = z 2 j + c, z 0 = 0 (1a) (1b) hvor z og c er komplekse tal. Mandelbrots mængde er afbildet på forsiden med hvid, og udover at Mandelbrots mængde har en smuk form, så er den fraktal, dvs. at det sjove billede på stor skala gentager sig i det uendelige som små versioner flere steder i mængden, og endelig ved man, at mængden er sammenhængende, dvs. at man kan bevæge sig rundt fra et vilkårligt punkt i mængden til et vilkårligt andet uden at forlade den. Mandelbrots mængde er defineret som de komplekse værdier af konstanten c, hvor z j+1 ikke divergerer, dvs. hvor z j+1 < når j. Altså, man vælger et c, udregner z 1 = 0 2 +c, z 2 = z 2 1 +c = c 2 +c, osv. indtil man kan afgøre, om z divergerer. Dette gentager man så for en anden værdi af c indtil man har fundet alle medlemmer, eller som i tilfældet af billedet på forsiden, indtil man har udfyldt alle pixels i billedet. Det lyder som meget arbejde, men heldigvis ved man, at ligesåsnart z k > 2 så er den tilhørende kompleks konstant c er ikke medlem af Mandelbrots mængde. For visuel nydelse afbilleder man derfor oftest det k, hvor z k bliver for lang, og hvis man har itereret tilpas mange gange uden divergens, antager man at c er medlem. Som program ser denne proces ud som vist i Figur 2. Programmet er et C-program, som oversættes med, cc -o mandelbrot mandelbrot.c -lm under antagelse af at programmet er gemt i en tekstfil ved navn mandelbrot.c. 4 Opgave 1. Eftervis, at x = b d er en løsning for en andengradsligning. 2. Kvadratlængen af et komplekst tal, z 2, kan skrives som produktet af z med dens konjugerede, z 2 = z z. Hvordan må den konjugerede så se ud? 3. Den konjugerede benyttes til at definere division af 2 komplekse tal, z 1 z 2 = z 1 z 2 z 2 z 2. Eftervis, at ovennævnte måde at beregne divisionen resulterer i Divisions operationen som givet i Tabel 1. 4. Udregn z 1... z 3 vha. ligningerne i (1) og for to forskellige komplekse konstanter, c = 1 + i1 og c = 0.1 + i0.1. 5. Indtast programmet i Figur 2 og betragt det producerede billede men en billedfremviser som kan læse pgm-billeder. Hvis det ikke ligner billedet på forsiden, har du lavet en indtastningsfejl. 6. Prøv at zoome ind på dele af mængden ved at ændre cmin og cmax erne og se, om du kan finde en lille kopi af den store mængde. 4

/* Program: mandelbrot.c, beregner Mandelbrots mængde */ /* Banekurver for z = z^2 + c undersøges for konvergens for den */ /* komplekse variabel z og konstant c, startende i z = 0. */ /* Jon Sporring, DIKU, 2006 */ #include <stdio.h> #include <math.h> int main() { /* Interval af c-konstanten, som der undersøges: */ double CxMin = -1.9, CxMax = 0.6; /* Alt: CxMin = -1.5, CxMax = -1.3; */ double CyMin = -1.25, CyMax = 1.25; /* CyMin = -0.1, CyMax = 0.1; */ int N = 1024; /* Resultatbilledets størrelse (NxN) */ char *filename = "mandelbrot.pgm"; /* Filnavn til resultatbilledet */ /* Hjælpe variable */ int m, n, I, iter, itermax = 512; /* itermax < 65536 */ double Cx, Cy, Zx, Zy, Tx, Ty; FILE *fp; if ((fp = fopen(filename, "w")) == NULL) { fprintf(stderr, "Filen %s kan ikke skrives til\n",filename); return 1; fprintf(fp, "P2 %d %d %d\n", N, N, 255); /* Billed header for pgm */ for(m = 0; m < N; m++) { Cx = CxMin + (CxMax-CxMin)*m/(N-1); /* Fra 0..N-1 til CxMin..CxMax */ for(n = 0; n < N; n++) { Cy = CyMin + (CyMax-CyMin)*n/(N-1); /* Fra 0..N-1 til CyMin..CyMax */ I = itermax; Zx = 0; Zy = 0; for(iter = 0; iter < itermax; iter++) { /* Z^2 = (Zx+i*Zy)*(Zx+i*Zy) = (Zx^2-Zy^2)+i*(2*Zx*Zy) */ Tx = Zx*Zx-Zy*Zy + Cx; Ty = 2*Zx*Zy + Cy; Zx = Tx; Zy = Ty; if(zx*zx+zy*zy >= 4.0) { /* Når længden > 2 er divergensen sikker. */ I = iter; break; fprintf(fp," %d", (int)(255*log(i+1)/log(itermax+1))); /* Logaritmisk skala */ fprintf(fp,"\n"); fclose(fp); return 0; Figur 2: Et C-program, der udregner Mandelbrots mængde. 5

Litteratur [1] Robert L. Devaney. A First Course in Chaotic Dynamical Systems, Theory and Experiment. Addison- Wesley Publishing Company, 1992. 6