1 Die Mandelbrotmenge - KIT

Werbung
1 Die Mandelbrotmenge
In
diesem
Abschnitt
wollen
wir
mathematische
Aspekte der sogenannten Mandelbrotmenge beleuchten, die wir im Folgenden mit
M
bezeichnen wollen.
1
Ihr Name ist ihrem Entdecker Benoît Mandelbrot
gewidmet, der im Jahre 1980 zum ersten Mal eine
optische Darstellung der Mandelbrotmenge mit Hilfe
eines Rechners erzeugen konnte. Die Grundlage zur
Denition der Mandelbrotmenge ist die Rekursion
Zk+1 = Zk2 + c ,
für
Z0 = 0
(1.1)
c ∈ C. Die Frage nach Konvergenz oder Divergenz
dieser Folge, deren erste Folgenglieder gegeben sind
Abbildung 1: Benoît Mandelbrot
durch
Z0 = 0,
Z1 = c,
Z3 = (c + c) + c,
2
Z2 = c2 + c,
(1.2)
Z4 = . . . ,
2
führt auf die Denition der Mandelbrotmenge:
M := {c ∈ C : Die
durch (1.1) denierte Folge
(Zk )
ist beschränkt}
(1.3)
Heutige Bildgebungsverfahren ermöglichen schöne Visualisierungen dieser Menge:
(a) Mandelbrotmenge
(b) Ausschnitt 1
(c) Ausschnitt 2
Die Mandelbrotmenge ist jeweils durch die schwarz eingefärbten Bereiche gegeben, d.h.
alle komplexen Zahlen
c,
für die die Folge (1.1) beschränkt ist, sind in den oben abgebil-
deten Ausschnitten der komplexen Zahlenebene
1
a + ib ∈ C : −2.2 < a < 0.8, −1.3 < b < 1.3
Benoît Mandelbrot, geb. 1924, Mathematiker französisch-polnischer Herkunft, Träger zahlreicher Auszeichnungen mit Beiträgen in der fraktalen Geometrie
1
schwarz gefärbt. Die übrigen Farbtöne haben mit der Menge selbst nichts zu tun; sie
geben lediglich an, wie stark die Folge in den entsprechenden Punkten gegen Unendlich
strebt.
Beispiel: Der Spezialfall reeller Zahlen
c
Zt+1 =
1
. Alle der logistischen Gleichung für 0 ≤ λ ≤ 4 entstammende
4
1
Folgen sind beschränkt, sodass der Abschnitt [−2, ] der reellen Zahlengerade zu M
4
Gemäÿ Übungsblatt 5 liefert die logistische Gleichung Rekursionen der Form
Zt2 + c
für
−2 ≤ c ≤
gehören muss.
1.1 Beschränktheit:
M ⊂ {c ∈ C : |c| ≤ 2}
Der Betrag einer komplexen Zahl
Mit
|c|
bezeichnet man den sogenannten Betrag einer komplexen Zahl
er ist deniert durch
|a + ib| :=
p
a2 + b2
und
(a, b ∈ R)
|c| misst daher nach dem Satz des Pythagoras die Länge
(0, 0) zum Punkt a + ib in der komplexen Zahlenebene:
Die reelle Zahl
Ursprung
c = a + ib
der Strecke vom
a + ib
√
a2 + b2
b
a
Abbildung 2:
Für komplexe Zahlen
z1 , z2
|a + ib| =
√
a2 + b2
kann man die folgenden drei Eigenschaften beweisen, wobei
die Aussagen 1./2. sowie 3./4. zueinander äquivalent sind:
1.
z1 z2 =
2.
|z1 · z2 | = |z1 | · |z2 |
3.
|z1 + z2 | ≤ |z1 | + |z2 |
|z1 |
|z2 |
für
z2 6= 0
2
4.
|z1 | ≥ |z1 + z2 | − |z2 |
Die dritte Ungleichung nennt man
Dreiecksungleichung.
Im Grunde beinhaltet sie die
Aussage, dass die Gerade die kürzeste Verbindung zwischen zwei Punkten ist. Der Bezug
zu einem Dreieck ergibt sich aus folgender Zeichnung:
|z1 + z2 |
|z2 |
|z1 |
Abbildung 3: Dreiecksungleichung
Beweis der Behauptung:
Wir haben zu zeigen:
M ⊂ {c ∈ C : |c| ≤ 2}.
M ⊂ {c ∈ C : |c| ≤ 2} ⇐⇒ Wenn c
Element der Mandelbrotmenge ist, dann gilt
⇐⇒ Wenn |c| > 2,
⇐⇒ Wenn |c| > 2,
brauchen wir für
|c| > 2
Wegen
dann ist
c
|c| ≤ 2
kein Element der Mandelbrotmenge
dann ist die Folge aus (1.1) unbeschränkt
lediglich die Unbeschränktheit der Folge zeigen.
Ein erster Schritt ist die folgende Proposition:
Proposition 1.1.
Sei |c| > 2. Dann besitzt die durch Gleichung
(Zk ) die Eigenschaft
(1.1)
denierte Folge
|c| = |Z1 | < |Z2 | < |Z3 | < |Z4 | < . . .
Beweis:
|Zk+1 | > |Zk | ≥ |c| und beweisen
Z1 = c und somit |Z1 | = |c| sowie
Wir behaupten also
k=1
erhalten wir
mit vollständiger Induktion. Für
|Z2 |
|c2 + c|
=
= |c + 1| ≥ |c| − 1 > 1
|Z1 |
|c|
und die Behauptung für
k=1
ist bewiesen.
3
k ∈ N.
Es gelte nun die Behauptung für
Dann gilt
|Zk+1 | > |Zk | ≥ |c|
und
2
2
|Zk+2 | = |Zk+1
+ c| ≥ |Zk+1
| − |c| = |Zk+1 |2 − |c|
|Zk+1 |≥|c|>2
≥
|Zk+1 |≥|c|
≥
2|Zk+1 | − |c|
|Zk+1 | + |c| − |c|
= |Zk+1 |
und es folgt die Behauptung für
k + 1.
Wie wissen also, dass die Abstände zur 0 mit jedem Folgeglied wachsen, doch das reicht
nicht aus, um auf Unbeschränktheit zu schlieÿen, wie das folgende Beispiel zeigt:
Die Gültigkeit der Ungleichung
|Zk | ≥ |Z2 | + (2k−2 − 1) · (|Z2 | − |c|)
| {z }
für alle
k≥2
>0
hingegen würde zeigen, dass
|Zk |
für groÿe
k
über alle Maÿen wächst.
Sei |c| > 2. Dann erfüllt die durch Gleichung
(Zk ) die Ungleichung
Proposition 1.2.
|Zk | ≥ |Z2 | + (2k−2 − 1) · (|Z2 | − |c|)
(1.1)
denierte Folge
für alle k ≥ 2.
Beweis:
Der Induktionsanfang zur obigen Behauptung, d.h. der Fall
4
k = 2,
ist klar wegen
|Z2 | ≥
|Z2 |.
Nehmen wir also an, die Behauptung sei für ein
k≥2
gezeigt. Dann folgt
|Zk+1 | = |Zk+1 − c + c| ≥ |Zk+1 − c| − |c| = |Zk |2 − |c|
|Zk |>2
2|Zk | − |c|
≥ 2 · |Z2 | + (2k−2 − 1) · (|Z2 | − |c|) − |c|
>
= 2k−1 |Z2 | − (2k−1 − 2)|c| − |c|
= |Z2 | + (2k−1 − 1)(|Z2 | − |c|) ,
was zu zeigen war.
Somit ist die Folge
(Zk )
unbeschränkt und die Behauptung ist bewiesen.
1.2 Algorithmus
Wir wollen uns nun mit der Implementierung der Mandelbrotmenge beschäftigen, die den
mathematischen Begri Beschränktheit einer Folge in ein Bild umsetzen muss. Wir
haben bereits gesehen, dass wir uns beim Visualisieren der Mandelbrotmenge auf den
Bereich
{c ∈ C : |z| ≤ 2}
beschränken dürfen. Wir werden im Folgenden ein Kriterium
beweisen, mit welchem wir zumindest die Unbeschränktheit der Folge für ein gegebenes
c∈C
mit
|c| < 2
sicher nachweisen können.
1.2.1 Mathematische Aspekte
Ein solches Kriterium ist gegeben durch die folgende Proposition
Sei |c| ≤ 2 und die durch
Zm mit |Zm | > 2. Dann gilt:
Proposition 1.3.
|Zm+n | ≥ (2 −
(1.1)
|c| n
) |Zm |
|Zm |
denierte Folge besitze eine Folgenglied
für alle n ∈ N0
Beweis:
n = 0 ist die Behauptung oensichtlich; wir nehmen darum an, die Behauptung sei
n ∈ N beliebig gezeigt. Insbesondere gilt dann |Zm+n | ≥ |Zm | > 2, denn 2 − |Z|c|m | > 1.
Für
für
5
Es folgt:
Z
c
m+n+1 |Zm+n+1 | = | · |Zm+n |
· |Zm+n | = |Zm+n +
Zm+n
Zm+n
|c|
≥ (|Zm+n | −
) · |Zm+n |
|Zm+n |
|c|
) · |Zm+n |
≥ (2 −
|Zm |
|c|
|c| n
≥ (2 −
) · (2 −
) |Zm |
|Zm |
|Zm |
|c| n+1
)
|Zm |
= (2 −
|Zm |
2−
|c|
|Zm |
>1
n → ∞ und wir erhalten die
Unbeschränktheit der Folge. Das Ziel lautet also, für ein c mit |c| ≤ 2 ein entsprechendes
Folgenglied Zm mit |Zm | > 2 zu entdecken. In diesem Fall wissen wir, dass die Folge
unbeschränkt ist und somit c kein Element der Mandelbrotmenge sein kann.
Wegen
wird die rechte Seite beliebig groÿe für
1.2.2 Programmiertechnische Aspekte
Wir haben festgestellt, dass das erste Auftreten eines Folgeglieds
|Zm | > 2
einen Wachs-
tumsprozess in Gang setzt, der schlieÿlich zur Unbeschränktheit der Folge führt. Wir
müssen bei der Umsetzung jedoch beachten, dass in einem Programm können nicht beliebig viele Folgenglieder auf diese Eigenschaft hin überprüft werden können, da die Schleife
unendlich oft durchlaufen werden könnte. Wir müssen uns auf eine bestimmte Anzahl
maxiter
beschränken.
Ein erster Java-Versuch
2
2 in Schwarz/Weiÿ könnte folgendermaÿen aussehen:
Eine geeignete Klasse Complex zur Modellierung der komplexen Zahlen und eine Methode abs zur
Berechnung des Betrags einer komplexen Zahl stehe hier zur Verfügung!
6
public Color color(final Complex c) {
int maxiter = 256;
Complex z = new Complex(0,0);
int j=0;
}
//z=0
while ((j < maxiter) && abs(z) < 2.0){
j++;
z = add(mult(z,z),c);
}
// Eintrittszeitpunkt ist j
if (j==maxiter){
return Color.BLACK; // beschränkt
else{
return Color.WHITE; // unbeschränkt
}
Möchten wir hingegen eine farbige Ausgabe, so lässt sich die Farbe in Abhängigkeit vom
Eintrittszeitpunkt denieren, d.h. es muss der Eintrittszeitpunkt
nicht nur die Information, ob
j<maxiter
j verwendet werden und
j codierten
gilt. Eine Methode, die den durch
Grad der Divergenz berücksichtigt, lautet:
7
public Color color(final Complex c) {
int maxiter = 256;
Complex z = new Complex(0,0);
int j=0;
//z=0
while ((j < maxiter) && abs(z) < 2.0){
j++;
z = add(mult(z,z),c);
}
final
//
final
//
final
//
}
float colorvalue = (float)j / (float)maxiter;
Farbwert, Wert zwischen 0 und 1
float saturation = (float) 0.8;
Sättigung, Wert zwischen 0 und 1
float brightness = 1 - colorvalue*colorvalue;
Helligkeit, Wert zwischen 0 und 1
return Color.getHSBColor(colorvalue, saturation, brightness);
}
Durch diese Methode wird eine farbige Visualierung der Mandelbrotmenge gewährleistet.
Die sehr technische und Java-spezische Implementierung der übrigen Funktionen etwa
das Anmalen mit den obigen Farben oder das Zoomen
ndet sich im zugehörigen
Quelltext, der auf der Seite
http://www.mathematik.uni-karlsruhe.de/mi1plum/~mandel/seite/schnupperkurs
zur Verfügung gestellt wird.
Die Fakultät für Mathematik bedankt sich
für Ihr reges Interesse in der Honung auf
ein baldiges Wiedersehen.
8
Herunterladen