Die Mandelbrot-Menge, benannt nach Benoît Mandelbrot, ist die Menge der komplexen Zahlen , für welche die durch die iterative Vorschrift mit dem Anfangswert definierte Folge endlich bleibt, d.h. beschränkt ist.

Interpretiert man die Mandelbrot-Menge (eine Teilmenge der Gaußschen Zahlenebenen) als geometrische Figur, so ergibt sie ein Fraktal, das im allgemeinen Sprachgebrauch oft Apfelmännchen genannt wird. Bilder berechnet man, indem man jedem Pixel eines Bildes eine komplexe Zahl zuordnet und beginnend mit untersucht, ob und wann die Iterationen anfangen, zu „explodieren“. Bleiben die Werte klein, wird das Pixel häufig schwarz gefärbt, kommt es zu einer „Explosion“ der Zahlenwerte, wird die Anzahl der dafür notwendigen Iterationen als Farbe kodiert.

Die ersten mit einem Computer generierten Darstellungen wurden 1978 von Robert W. Brooks und Peter Matelski vorgestellt. 1980 veröffentlichte Benoît Mandelbrot eine Arbeit über das Thema. Später wurde sie von Adrien Douady und John Hamal Hubbard in einer Reihe grundlegender mathematischer Arbeiten systematisch untersucht. Die mathematischen Grundlagen dafür wurden bereits 1905 von dem französischen Mathematiker Pierre Fatou erarbeitet.

Definition

Definition über Rekursion

Die Mandelbrot-Menge ist die Menge aller komplexen Zahlen , für welche die rekursiv definierte Folge komplexer Zahlen mit dem Anfangsglied

und dem Bildungsgesetz

beschränkt bleibt. Das heißt, eine komplexe Zahl ist Element der Mandelbrot-Menge , wenn die Beträge der mit diesem berechneten nicht über jede Grenze wachsen, unabhängig davon, wie groß wird. Dies lässt sich wie folgt schreiben:

Man kann leicht zeigen, dass der Betrag der über jede Grenze wächst, sobald ein mit auftritt, somit ist diese Definition gleichbedeutend mit:

Definition über komplexe quadratische Polynome

Die Mandelbrot-Menge lässt sich auch über komplexe quadratische Polynome beschreiben:

mit einem komplexen Parameter . Für jedes wird die Folge

iterativ berechnet, wobei die -fache Hintereinanderausführung der Iteration bedeutet, also

In Abhängigkeit vom Wert des Parameters wächst diese Folge dann entweder unbeschränkt, sodass also kein Element der Mandelbrot-Menge ist, oder sie verbleibt innerhalb eines Bereichs um den Ursprung der Zahlenebene, und ist Element der Mandelbrot-Menge.

Die Mandelbrot-Menge ist eine Untermenge der komplexen Zahlen mit der Definition:

oder gleichbedeutend:

Zur Erläuterung werden einige Eigenschaften und Beispiele angeführt:

  • Aufgrund der zuvor beschriebenen Feststellung kann gesetzt werden. Dabei gibt der Wert den Radius um den Ursprung an, innerhalb dessen ein Element von liegen kann. Außerhalb dieses Kreises sind keine Elemente von zu finden.
  • Wegen der Betragsfunktion ist symmetrisch zur reellen Achse.
  • Um die Menge grafisch darzustellen, müssen die Werte des Parameters alle einzeln bis zu einer selbstbestimmten Anzahl von Iterationen berechnet werden.
  • Für lautet die Folge und ist beschränkt. Daher ist Element von .
  • Für lautet die Folge und ist divergent. Daher ist kein Element von .

Definition über Julia-Mengen

Die Mandelbrot-Menge wurde von Benoît Mandelbrot ursprünglich zur Klassifizierung von Julia-Mengen eingeführt, die bereits Anfang des 20. Jahrhunderts von den französischen Mathematikern Gaston Maurice Julia und Pierre Fatou untersucht wurden. Die Julia-Menge zu einer bestimmten komplexen Zahl ist definiert als der Rand der Menge aller Anfangswerte , für die die obige Zahlenfolge beschränkt bleibt. Es kann bewiesen werden, dass die Mandelbrot-Menge genau die Menge der Werte ist, für die die zugehörige Julia-Menge zusammenhängend ist.

Dieses Prinzip wird in vielen Resultaten über das Verhalten der Mandelbrot-Menge vertieft. So zeigt Shishikura, dass der Rand der Mandelbrot-Menge ebenso wie die zugehörige Julia-Menge die Hausdorff-Dimension 2 hat. Ein unveröffentlichtes Manuskript von Jean-Christophe Yoccoz diente John Hamal Hubbard als Grundlage für seine Ergebnisse über lokal zusammenhängende Julia-Mengen und lokal zusammenhängende Mandelbrot-Mengen .

Bezug zur Chaostheorie

Das Bildungsgesetz, das der Folge zugrunde liegt, ist die einfachste nichtlineare Gleichung, anhand deren sich der Übergang von Ordnung zu Chaos durch Variation eines Parameters provozieren lässt. Dazu genügt es, reelle Zahlenfolgen zu betrachten.

Für Werte , das heißt innerhalb der Kardioide, konvergiert die Folge. Auf der „Antenne“, die bis reicht, verhält sich die Folge chaotisch. Der Übergang zu chaotischem Verhalten erfolgt nun über ein Zwischenstadium mit periodischen Grenzzyklen. Dabei nimmt die Periode zum chaotischen Bereich hin stufenweise um den Faktor zwei zu, ein Phänomen, das als Periodenverdopplung und Bifurkation bezeichnet wird. Jeder -Bereich zu einer bestimmten Periode entspricht dabei einer der kreisförmigen „Knospen“ auf der -Achse.

Die Periodenverdopplung beginnt mit dem „Kopf“ und setzt sich in der Folge der „Knospen“ zur „Antenne“ hin fort. Das Verhältnis der Längen aufeinander folgender Parameterintervalle und damit das der Knospendurchmesser zu unterschiedlicher Periode strebt dabei gegen die Feigenbaum-Konstante , eine fundamentale Konstante der Chaostheorie. Dieses Verhalten ist typisch für den Übergang realer Systeme zu chaotischer Dynamik. Die auffälligen Lücken im chaotischen Bereich entsprechen Inseln mit periodischem Verhalten, denen in der komplexen Ebene die Satelliten auf der „Antenne“ zugeordnet sind.

Für gewisse komplexe -Werte stellen sich Grenzzyklen ein, die auf einer geschlossenen Kurve liegen, deren Punkte jedoch nicht periodisch, sondern chaotisch abgedeckt werden. Eine solche Kurve ist in der Chaostheorie als sogenannter seltsamer Attraktor bekannt.

Die Mandelbrot-Menge ist daher ein elementares Objekt für die Chaostheorie, an der sich fundamentale Phänomene studieren lassen. Sie wird aus diesem Grund hinsichtlich ihrer Bedeutung für die Chaostheorie gelegentlich mit der von Geraden für die euklidische Geometrie verglichen.

Geometrische und mathematische Eigenschaften

Die Mandelbrot-Menge ist abgeschlossen (da ihr Komplement offen ist) und in der abgeschlossenen Scheibe mit dem Radius 2 um den Ursprung enthalten und somit kompakt.

Es sei und bezeichne die -te Iteration. Ein Punkt gehört genau dann zur Mandelbrot-Menge, falls

für alle

Wird der Betrag von größer als 2, dann entkommt die Iteration ins Unendliche, der Betrag wächst über jede Grenze. gehört dann nicht zur Mandelbrot-Menge.

Der ungeheure Formenreichtum der Mandelbrot-Menge erschließt sich aus ihrem Bezug zu Julia-Mengen. Julia-Mengen zur Iteration sind Fraktale, außer für einige -Werte wie (Strecke) oder (Kreis). Die Formen dieser fraktalen Strukturen sind innerhalb einer Julia-Menge stets die gleichen, umspannen aber für Julia-Mengen zu verschiedenem Parameter einen enormen Formenreichtum. Es zeigt sich, dass die Strukturen der Mandelbrot-Menge in der Umgebung eines bestimmten Wertes genau die Strukturen der zugehörigen Julia-Menge wiedergeben. Damit enthält die Mandelbrot-Menge den kompletten Formenreichtum der unendlich vielen Julia-Mengen (s. u.).

In den fraktalen Strukturen am Rand finden sich verkleinerte ungefähre Kopien der gesamten Mandelbrot-Menge, die Satelliten. Jeder Bildausschnitt der Mandelbrot-Menge, der sowohl Punkte aus als auch solche außerhalb von umfasst, enthält unendlich viele dieser Satelliten. Unmittelbar am Rand eines Satelliten treten fast die gleichen Strukturen auf wie an den entsprechenden Stellen des Originals. Diese Strukturen sind jedoch nach weiter außen hin mit den Strukturen kombiniert, die für die größere Umgebung des Satelliten typisch sind.

Da jeder Satellit wiederum mit Satelliten höherer Ordnung bestückt ist, lässt sich immer eine Stelle finden, an der eine beliebige Anzahl beliebiger verschiedener Strukturen in beliebiger Reihenfolge kombiniert auftritt. Diese Strukturen sind allerdings nur bei extremer Vergrößerung erkennbar.

Die Mandelbrot-Menge ist spiegelsymmetrisch zur reellen Achse. Sie ist zusammenhängend (das heißt, sie bildet keine Inseln), wie Adrien Douady und John Hamal Hubbard 1984 bewiesen, und es wird vermutet (Douady/Hubbard), dass sie lokal zusammenhängend ist (MLC-Vermutung). Dies ist eine der großen offenen Fragen in der komplexen Dynamik und bisher unbewiesen (obwohl es Teilresultate zum Beispiel von Jean-Christophe Yoccoz gibt, der lokalen Zusammenhang für bestimmte Werte von bewies, für die endlich-renormalisierbaren Punkte). Die MLC erlaubt weitreichende Folgerungen über die Topologie der Mandelbrot-Menge. Beispielsweise würde daraus die Hyperbolizitätsvermutung folgen, dass jede offene Menge in der Mandelbrot-Menge (also das Innere der Mandelbrot-Menge) aus Punkten mit attraktiven Zyklen besteht. Die Mandelbrot-Menge ist zwar selbstähnlich, aber nicht exakt, denn keine zwei Teilstrukturen ihres Randes sind exakt gleich; aber in der Nähe vieler Randpunkte bilden sich bei fortgesetzter Ausschnittvergrößerung im Grenzfall periodische Strukturen. An speziellen Punkten hat die Mandelbrot-Menge Selbstähnlichkeit (vermutet von John Milnor und bewiesen von Mikhail Lyubich 1999).

Da die Mandelbrot-Menge Kardioid- und Kreisflächen enthält, hat sie die fraktale Dimension 2. Der Rand der Mandelbrot-Menge hat eine unendliche Länge, und seine Hausdorff-Dimension beträgt nach Arbeiten von Mitsuhiro Shishikura ebenfalls 2; das impliziert, dass die Box-Dimension den Wert 2 hat. Es ist denkbar, dass der Rand der Mandelbrot-Menge einen positiven (notwendig endlichen) Flächeninhalt hat; andernfalls wäre dieser Flächeninhalt null. Der Flächeninhalt der Mandelbrot-Menge ist nicht bekannt und beträgt nach numerischen Schätzungen etwa 1,5065918849.

Die Mandelbrot-Menge enthält deformierte Kopien aller Julia-Mengen, wie Tan Lei 1990 für die Misiurewicz-Punkte der Mandelbrot-Menge bewiesen hat, die dicht im Rand der Mandelbrot-Menge liegen. Das ist ein weiterer Beleg für die enge Verwandtschaft der Struktur von Julia- und Mandelbrot-Mengen. So wurden in den Beweisen von Yoccoz für lokalen Zusammenhang der Mandelbrot-Menge bei endlich renormalisierbaren Punkten und von Shishikura über die fraktale Dimension des Randes der Mandelbrot-Menge zuerst die entsprechenden Eigenschaften bei den zum Parameterwert gehörigen Julia-Mengen untersucht und dann auf die Mandelbrot-Menge übertragen.

Die Frage, ob die Mandelbrot-Menge entscheidbar ist, ergibt zunächst keinen Sinn, da überabzählbar ist. Einen Ansatz, den Begriff der Entscheidbarkeit auf überabzählbare Mengen zu verallgemeinern, stellt das Blum-Shub-Smale-Modell dar. Innerhalb dessen ist die Mandelbrot-Menge nicht entscheidbar.

Bildergalerie einer Zoomfahrt

Die folgende Bildersequenz zeigt beginnend vom Übersichtbild der Mandelbrot-Menge (Startbild) jeweils einen Ausschnitt des vorangegangenen Bildes (Ausschnitt n). Dabei wird in 16 Schritten ein Ausschnitt des vorhergehenden Bildes jeweils um einen Faktor 4 bis 8 vergrößert. Die Vergrößerung des letzten Bildes relativ zum Startbild ist etwa 60-Milliarden-fach.

Die Sequenz gibt einen Eindruck vom geometrischen Formenreichtum und erläutert gewisse typische Strukturelemente.

Bild Beschreibung
Startbild:
Die Mandelbrot-Menge mit stufenlos eingefärbtem Außenraum.
Ausschnitt 1:
Spalte zwischen „Kopf“ und „Körper“, „Tal der Seepferdchen“ genannt.
Ausschnitt 2:
Links Doppelspiralen, rechts „Seepferdchen“.
Ausschnitt 3:
„Seepferdchen“. Der „Körper“ wird von 25 „Speichen“ gebildet, von denen sich zwei Zwölfergruppen nach Art einer Metamorphose auf jeweils einen der beiden „Finger“ an der „oberen Hand“ der Mandelbrot-Menge zurückführen lassen. Die Zahl der „Speichen“ nimmt daher von einem „Seepferdchen“ zum nächsten um zwei zu. Die „Nabe“ wird von einem Misiurewicz-Punkt gebildet (s. u.). Zwischen „Oberkörper“ und „Schwanz“ ist ein deformierter Satellit erkennbar.
Ausschnitt 4:
Der „Seepferdchenschwanz“ endet ebenfalls in einem Misiurewicz-Punkt.
Ausschnitt 5:
Teil des „Schwanzes“. Der einzige Pfad, der sich durch den gesamten „Schwanz“ windet, und damit gewährleistet, dass einfach zusammenhängend ist, führt im Zickzack von einer „Schwanzseite“ zur anderen und passiert dabei die „Naben“ der großen 25-spiraligen Gebilde.
Ausschnitt 6:
Satellit. Die beiden „Seepferdchenschwänze“ bilden den Auftakt für eine Folge von konzentrischen Kränzen mit dem Satelliten im Zentrum.
Ausschnitt 7:
Jeder dieser Kränze besteht aus gleichartigen Strukturelementen, deren Anzahl pro Kranz mit Potenzen von 2 wächst, ein typisches Phänomen in der Umgebung von Satelliten. Der oben erwähnte Pfad durch den „Seepferdchenschwanz“ passiert den Satelliten über die Kerbe der Kardioide und die Spitze der „Antenne“ auf dem „Kopf“.
Ausschnitt 8:
„Antenne“ des Satelliten. Auf ihr sind mehrere Satelliten 2. Ordnung erkennbar.
Ausschnitt 9:
„Tal der Seepferdchen“ des Satelliten. Es zeigen sich die gleichen Strukturelemente wie in Ausschnitt 1.
Ausschnitt 10:
Doppelspiralen und „Seepferdchen“, die jedoch im Unterschied zu Ausschnitt 2 nach außen hin mit seepferdchenschwanzartigen Fortsätzen bestückt sind. Dieses Phänomen demonstriert die für Satelliten -ter Ordnung typischen Verkettungen von Strukturelementen für den Fall .
Ausschnitt 11:
Doppelspiralen mit Satelliten 2. Ordnung. Sie lassen sich als Metamorphose der „Antenne“ interpretieren.
Ausschnitt 12:
Im Bereich der äußeren Fortsätze sind stets inselartige Strukturen eingestreut, die Julia-Mengen Jc ähneln. Die im Bild größte ist im Zentrum des „Doppelhakens“ rechts gerade eben erkennbar.
Ausschnitt 13:
Teil des „Doppelhakens“.
Ausschnitt 14:
Diese Inseln scheinen auf den ersten Blick nach Art von Cantor-Mengen wiederum aus unendlich vielen unzusammenhängenden Teilstücken zu bestehen, wie es für die zugehörigen Jc tatsächlich der Fall ist, sie sind jedoch hier über filigrane Strukturen miteinander verbunden. Diese Strukturen gehen von einem Satelliten im Zentrum aus, der bei dieser Vergrößerung noch nicht sichtbar ist, und zwar derart, dass das Ganze ein einfach zusammenhängendes Gebilde ergibt. Der zum entsprechenden Jc gehörige -Wert ist nicht der des Bildzentrums, sondern hat relativ zur Hauptkardioide die gleiche Position wie das Bildzentrum zum Satelliten, der in Ausschnitt 7 dargestellt ist.
Ausschnitt 15:
Details einer Insel.
Ausschnitt 16:
Details einer Spirale.

Verhalten der Zahlenfolge

Die verschiedenen Strukturelemente von stehen in engem Zusammenhang mit bestimmten Verhaltensweisen der Zahlenfolge, die zugrunde liegt. Je nach Wert von ergibt sich eine der folgenden vier Möglichkeiten:

  • _ Sie konvergiert gegen einen Fixpunkt.
  • ____ Sie konvergiert gegen einen periodischen Grenzzyklus, der aus zwei oder mehr Werten besteht. Dazu zählen auch die Fälle, in denen sich die Folge von Anfang periodisch verhält.
  • _ Sie wiederholt sich nie, bleibt aber beschränkt. Manche Werte zeigen chaotisches Verhalten mit Wechsel zwischen fast periodischen Grenzyklen und scheinbar zufälligem Verhalten.
  • _ Sie divergiert gegen Unendlich (bestimmte Divergenz).

Alle -Werte, die nicht bestimmt divergieren, gehören zu .

Die folgende Tabelle zeigt Beispiele für diese vier Grenzverhalten der Iteration für :

Parameter und Glied Folgeglieder Grenzverhalten
auf der reellen Achse …
bestimmte Divergenz gegen
bestimmte Divergenz gegen
sofortige Konvergenz gegen Fixpunkt
Konvergenz gegen 12er-Grenzzyklus
sofortige Konvergenz gegen Dreier-Grenzzyklus
Konvergenz gegen Dreier-Grenzzyklus
chaotisches Verhalten
Konvergenz gegen 32er-Grenzzyklus
Konvergenz gegen alternierenden Grenzzyklus
sofortige Konvergenz gegen alternierenden Grenzzyklus
sehr langsame Konvergenz gegen Fixpunkt
Konvergenz gegen Fixpunkt
Konvergenz gegen Fixpunkt
sofortige Konvergenz gegen Fixpunkt
Konvergenz gegen Fixpunkt
bestimmte Divergenz gegen
bestimmte Divergenz gegen
in der komplexen Zahlenebene …
sofortige Konvergenz gegen alternierenden Grenzzyklus

Konvergenz gegen Dreier-Grenzzyklus




sofortige Konvergenz gegen Dreier-Grenzzyklus

Geometrische Zuordnung

Konvergenz liegt genau für die Werte von vor, die das Innere der Kardioide bilden, den „Körper“ von , sowie für abzählbar viele ihrer Randpunkte. Periodische Grenzzyklen finden sich in den (angenähert) kreisförmigen „Knospen“ wie im „Kopf“, in den Kardioiden der Satelliten sowie ebenfalls auf abzählbar vielen Randpunkten dieser Komponenten. Eine fundamentale Vermutung besagt, dass es für alle inneren Punkte der Mandelbrot-Menge einen Grenzzyklus gibt. Die Folge ist echt vorperiodisch für abzählbar viele Parameter, die oft Misiurewicz-Thurston-Punkte genannt werden (nach Michał Misiurewicz und William Thurston). Dazu gehören die „Antennenspitzen“ wie der Punkt ganz links und Verzweigungspunkte der Mandelbrot-Menge.

In den überabzählbar vielen übrigen Punkten der Mandelbrot-Menge kann sich die Folge auf viele verschiedene Weisen verhalten, die jeweils sehr unterschiedliche dynamische Systeme erzeugen und die teilweise Gegenstand intensiver Forschung sind. Je nach Definition des Wortes lässt sich „chaotisches“ Verhalten finden.

Periodisches Verhalten

Die kreisförmigen Strukturen

Jede kreisförmige „Knospe“ und jede Satelliten-Kardioide zeichnet sich durch eine bestimmte Periodizität des Grenzzyklus aus, gegen den die Folge für die zugehörigen -Werte strebt. Die Anordnung der „Knospen“ an der zugehörigen Kardioide folgt dabei den folgenden Regeln, aus denen sich unmittelbar die Periodizitäten ablesen lassen. Jede „Knospe“ berührt genau einen Basiskörper, nämlich eine größere „Knospe“ oder eine Kardioide.

Die Periodizität einer „Knospe“ ist die Summe der Periodizitäten der beiden nächsten größeren „Nachbarknospen“ in beide Richtungen am selben Basiskörper, sofern es solche gibt. Gibt es am Rand des Basiskörpers bis zur Kontaktstelle mit dessen Basiskörper oder bis zur Kerbe der Kardioide nur kleinere „Knospen“, so trägt anstelle der Periodizität einer „Nachbarknospe“ die des Basiskörpers selbst zur Summe bei. Daraus leiten sich unmittelbar die folgenden Eigenschaften ab:

  • Tendenziell sind die „Knospen“ oder Kardioiden umso kleiner, je größer ihre Periodizität ist.
  • Die Periodizität der größten „Knospe“ an einem Basiskörper beträgt stets das Doppelte, wie der „Dutt“ mit der Periode am „Kopf“.
  • Die Periodizität einer „Knospe“ eines Satelliten ist das Produkt der Periodizität der Satelliten-Kardioide und der der korrespondierenden „Knospe“ der Hauptkardioide.

Ferner erklärt diese Regel das Auftreten bestimmter Folgen von „Knospen“ wie vom „Kopf“ zur Kardioidkerbe hin mit einer Periodizitätszunahme zur nächsten „Knospe“ hin um den Wert oder vom „Arm“ zum „Kopf“ hin um den Wert .

Ermittlung der Knospenwerte

Es gibt eine Eigenschaft im Iterationsverlauf, der den Wert der Periodizität am jeweiligen Punkt anzeigt. Dazu muss man im Iterationsverlauf eines Punktes das Iterationsergebnis suchen, das den kleinsten Betrag von Z hat. Im Randbereich kann die Suche auch über 100000 Iterationen liegen. Wie zu sehen ist, korreliert die Min-Count-Nr. mit der Periodizität der angrenzenden Knospen. Aus zwei benachbarten Bereichen entspringt eine dritte, deren Wert die Summe der beiden Vorherigen ist. Dadurch entsteht eine Fibonacci-Folge. Bei Bereichen die auf einer Linie stehen, verdoppelt sich dieser Wert. Dieses Prinzip gilt auch noch für den kleinsten Satelliten. Auch die Speichenanzahl hängt von dieser Zählweise ab.

Im folgenden Programmcode für einen Bildpunkt wird der Iterationsverlauf durchsucht und die Zählweise demonstriert.

Zugehöriger Programmcode (zum Ausklappen)

Programmbeispiel für einen Bildpunkt.

Funktion SeekMinZ( complex C, int MaxIter ) {

complex	    Z;
double		BetragMinZ, bz;
int		    IterCount, MinCount;

Z = (0.0, 0.0);
MinCountNr = IterCount = 1;
BetragMinZ = 999.00;              // Anfangsbedingung ist eine sehr große Zahl
                                  // aber 2 würde auch genügen. Zu suchen ist etwas < 0.01
do {
	Z = (Z * Z) + C;
	bz = betrag( Z );

	if ( bz < BetragMinZ ) {
		BetragMinZ = bz;
		MinCountNr = IterCount;
		}
	IterCount += 1;
	} while ( IterCount < MaxIter and bz < 2.0 );
return( MinCountNr );
}

Attraktive Zyklen

Gibt es für ein ein Folgenglied mit der Eigenschaft , so wiederholt sich die Folge von Anfang an streng periodisch und zwar mit der Periode . Da sich durch -malige Anwendung der Iterationsvorschrift ergibt, wobei bei jedem Schritt quadriert wird, lässt es sich als Polynom von vom Grad formulieren. Die -Werte für periodische Folgen der Periode werden daher über die Nullstellen dieses Polynoms erhalten. Es zeigt sich, dass jede Zahlenfolge gegen diesen Zahlenzyklus konvergiert, sofern eins ihrer Folgenglieder hinreichend nahe an diesen Zyklus gerät, die werden Attraktoren genannt. Das führt dazu, dass alle Zahlenfolgen zu einer gewissen Umgebung des -Wertes, der den Attraktor repräsentiert, gegen einen stabilen Zyklus der Periode konvergieren. Jede kreisförmige „Knospe“ und jede Kardioide eines Satelliten repräsentiert genau eine solche Umgebung. Exemplarisch seien die Gebiete mit den Perioden bis aufgeführt:

  • Periode 1: Die Kardioide des Hauptapfelmännchens. Der Rand dieser Kardioide ist gegeben durch Punkte der Form mit .
  • Periode 2: Der „Kopf“. Die 2. Nullstelle entspricht der Hauptkardioide, die wegen der Periode natürlich bei der Ermittlung aller höherer Perioden als Nullstelle auftritt. Diese Überlegung zeigt, dass die Zahl der Attraktoren mit der Periode maximal betragen kann, und das nur dann, wenn eine Primzahl ist. Der Kopf selbst ist eine Kreisscheibe mit Mittelpunkt und Radius , d. h., der Rand dieser Kreisscheibe ist gegeben durch Punkte der Form mit .
  • Periode 3: Die „Knospen“, die den „Armen“ entsprechen und die Kardioide des größten Satelliten auf der „Kopfantenne“. Die vierte Nullstelle entfällt wieder.

Die Anzahl der anziehenden Zyklen mit der genauen Periode , d. h. und ist minimal mit dieser Eigenschaft, ist die Folge A000740 in OEIS.

Galerie der Iteration

Die folgende Galerie gibt einen Überblick über die Werte von für einige Werte von . Dabei hängt vom Parameter ab, dessen Realteil sich in den Bildern von links nach rechts von −2,2 bis +1 erstreckt, und dessen Imaginärteil von −1,4 bis +1,4 reicht.

Die Iteration z → z²+c nach n Schritten
Iterationen Beschreibung Iterationen Beschreibung
n = 1 (1 reelle Nullstelle)
Nach dem ersten Schritt gilt . Das Bild ist also eine farbige Darstellung der komplexen Zahlen , die sich in dem gezeigten Gebiet befinden. Die Null wird dabei in Weiß dargestellt und Unendlich in Schwarz. Daher erscheint ein Punkt umso dunkler, je weiter er vom Ursprung entfernt ist. Die Farbe eines Punktes gibt Auskunft über sein Argument, also über den Winkel, den er mit der positiv-reellen Achse (rot) hat. Die negativ-reelle Achse ist türkis gefärbt.
n = 9 (30 reelle und 226 konj.-kompl. Nullstellen)
Inzwischen gibt es bereits Nullstellen, die auch innerhalb der Mandelbrot-Menge verteilt sind. Da ein Teiler von ist, sind die Armknospen und der kleine Antennensatellit wieder mit einer Nullstelle an der Reihe, und leuchten daher hell auf.
n = 2 (2 reelle Nullstellen)
Nach zwei Schritten gilt

Dieser Ausdruck wird für sowie für Null. Die neu hinzugekommene linke Nullstelle liegt im Zen­trum des Kopfes der Mandelbrot-Menge, während die alte auf der rechten Seite das Herz der Leib-Zykloiden ist.

n = 10 (56 reelle und 456 konj.-kompl. Nullstellen)
n = 3 (2 reelle und 2 konjugiert-komplexe Nullstellen)
Die Anzahl der Nullstellen hat sich auf 4 verdoppelt – wie nach jedem Iterationsschritt. Die reelle Nullstelle links liegt im Herz des kleinen Antennen-Satelliten. Es treten die ersten komplexwertigen Nullstellen ober- und unterhalb der reellen Achse auf. Diese Nullstellen liegen im Zentrum des jeweiligen Ärmchens.
n = 11 (94 reelle und 930 konj.-kompl. Nullstellen)
Eine Primzahl, daher leuchten keine alten Strukturen hell auf, sondern nur neu entstandene zwischen diesen.
n = 4 (4 reelle und 4 konjugiert-komplexe Nullstellen)
Der Dutt ist entstanden: er gehört zur Nullstelle links neben der Kopf-Nullstelle bei −1. Die dargestellte Funktion

wird immer unübersichtlicher. Es lässt sich jedoch einfach nachrechnen, dass wenn eine Nullstelle von ist, eine Nullstelle von ist. Daher „erbt“ die Nullstellen von . Dieser Zusammenhang ist Ursache für das unten erläuterte periodische Verhalten der Knospen.

n = 12 (180 reelle und 1868 konj.-kompl. Nullstellen)
n = 5 (4 reelle und 12 konjugiert-komplexe Nullstellen)
Da eine Primzahl ist, gibt es keine altbekannten Nullstellen – außer der Null, die von her bekannt ist. Da der Grad des Polynoms gleich ist, wächst mit wachsendem immer schneller gegen Unendlich. Dadurch bildet sich der Rand zwischen der Mandelbrot-Menge und ihrem Äußeren immer klarer heraus.
n = 13 (316 reelle und 3780 konj.-kompl. Nullstellen)
Eine Primzahl, daher leuchten keine alten Strukturen hell auf, sondern nur neu entstandene zwischen diesen.
n = 6 (8 reelle und 24 konjugiert-komplexe Nullstellen) n = 14 (596 reelle und 7596 konj.-kompl. Nullstellen)


Ohne Bild:
n = 15 (1096 reelle und 15288 konj.-kompl. Nullstellen)
n = 16 (2068 reelle und 30700 konj.-kompl. Nullstellen)
n = 7 (10 reelle und 54 konjugiert-komplexe Nullstellen)
Eine Primzahl, daher leuchten keine alten Strukturen hell auf, sondern nur neu entstandene zwischen diesen.
n = 17 (3856 reelle und 61680 konj.-kompl. Nullstellen)
Eine Primzahl, daher leuchten keine alten Strukturen hell auf, sondern nur neu entstandene zwischen diesen. Wer sich über die vergleichsweise große Anzahl reellwertigen Nullstellen wundert, diese befinden sich fast alle auf der Antenne mit .
n = 8 (20 reelle und 108 konjugiert-komplexe Nullstellen) n = 18 (7316 reelle und 123756 konj.-kompl. Nullstellen)
Mit und Nullstellen endet diese Bilderserie. Für größere steigt die Anzahl der Null­stellen/Knospen exponential weiter an, so für auf , für auf und für auf .

Repulsive Zyklen

Neben attraktiven Zyklen gibt es repulsive, die sich dadurch auszeichnen, dass Zahlenfolgen in ihrer Umgebung sich zunehmend von ihnen entfernen. Sie lassen sich jedoch erreichen, da jedes abgesehen von der Situation wegen des Quadrats in der Iterationsvorschrift zwei potenzielle Vorgänger in der Folge hat, die sich nur durch ihr Vorzeichen unterscheiden. -Werte, für die die zugehörige Folge irgendwann über einen solchen zweiten Vorläufer eines Periodenmitgliedes in einen derartigen instabilen Zyklus mündet, sind beispielsweise die „Naben“ der rad- oder spiralförmigen Strukturen sowie die Endpunkte der weitverbreiteten antennenartigen Strukturen, die sich formal als „Naben“ von „Rädern“ oder Spiralen mit einer einzigen Speiche interpretieren lassen. Derartige -Werte werden als Misiurewicz-Punkte bezeichnet.

Ein Misiurewicz-Punkt hat ferner die Eigenschaft, dass in seiner näheren Umgebung nahezu deckungsgleich mit demselben Ausschnitt der zugehörige Julia-Menge ist. Je weiter sich dem Misiurewicz-Punkt genähert wird, umso besser wird die Übereinstimmung. Da Julia-Mengen für -Werte innerhalb von zusammenhängend sind und außerhalb von Cantor-Mengen aus unendlich vielen Inseln mit der Gesamtfläche null, sind sie in der Übergangszone am Rand von besonders filigran. Jeder Misiurewicz-Punkt ist aber gerade ein Randpunkt von , und jeder Ausschnitt der Randzone von , der sowohl Punkte in als auch außerhalb davon enthält, enthält unendlich viele davon. Damit ist der gesamte Formenreichtum sämtlicher Julia-Mengen dieses filigranen Typs in der Umgebung der Misiurewicz-Punkte in repräsentiert.

Satelliten

Ein weiteres Strukturelement, das den Formenreichtum der Mandelbrot-Menge begründet, sind die verkleinerten Kopien ihrer selbst, die sich in den filigranen Strukturen ihres Randes befinden. Dabei korrespondiert das Verhalten der Zahlenfolgen innerhalb eines Satelliten in folgender Weise mit dem der Folgen im Hauptkörper. Innerhalb eines Satelliten konvergieren alle Zahlenfolgen gegen Grenzzyklen, deren Perioden sich von denen an den entsprechenden Stellen im Hauptkörper von um einen Faktor unterscheiden. Wird für einen bestimmten -Wert aus dem Satelliten nur jedes -te Folgenglied betrachtet, so ergibt sich eine Folge, die bis auf einen räumlichen Maßstabsfaktor nahezu identisch ist mit derjenigen, die sich für den entsprechenden -Wert im Hauptkörper von ergibt. Die mathematische Begründung hierfür ist tiefliegend; sie entstammt den Arbeiten von Douady und Hubbard über „polynomartige Abbildungen“.

Die zusätzlichen Strukturelemente in der unmittelbaren Umgebung eines Satelliten sind eine Folge davon, dass zwischen zweien der betrachteten Folgenglieder mit dem Indexabstand sich eines mit dem Wert befinden kann, das damit einen periodischen Verlauf mit der Periode begründet. Die entsprechende Folge außerhalb des Hauptkörpers divergiert jedoch, da sie keine solchen Zwischenglieder besitzt.

Es handelt sich bei der Mandelbrot-Menge selbst um eine universelle Struktur, die bei völlig anderen nichtlinearen Systemen und Klassifizierungsregeln in Erscheinung treten kann. Grundvoraussetzung ist jedoch, dass die beteiligten Funktionen winkeltreu sind. Werden solche Systeme betrachtet, die von einem komplexen Parameter abhängen, und klassifiziert man ihr Verhalten bezüglich einer bestimmten Eigenschaft der Dynamik in Abhängigkeit von , dann werden unter bestimmten Umständen in der Parameter-Ebene kleine Kopien der Mandelbrot-Menge gefunden. Ein Beispiel ist die Frage, für welche Polynome dritten Grades das iterative Newton-Verfahren zur Bestimmung von Nullstellen mit einem bestimmten Startwert versagt und für welche nicht.

Wie im nebenstehenden Bild kann die Mandelbrot-Menge dabei verzerrt auftreten, zum Beispiel sitzen dort die Armknospen an etwas anderer Stelle. Ansonsten ist die Mandelbrot-Menge jedoch vollkommen intakt, inklusive aller Knospen, Satelliten, Filamente und Antennen. Der Grund für das Auftauchen der Mandelbrot-Menge ist, dass die betrachtete Funktionenfamilien in bestimmten Gebieten – abgesehen von Drehungen und Verschiebungen – recht gut mit der Funktionenfamilie

welche die Mandelbrot-Menge definiert, übereinstimmen. Dabei sind in einem gewissen Rahmen Abweichungen zulässig, und trotzdem kristallisiert sich die Mandelbrot-Menge heraus. Dieses Phänomen wird als strukturelle Stabilität bezeichnet und ist im Endeffekt verantwortlich für das Auftreten der Satelliten in der Umgebung von , weil Teilfolgen der iterierten Funktionen lokal das gleiche Verhalten zeigen wie die Gesamtfamilie.

Intermediär wechselhaftes Verhalten

Durch die Möglichkeit der Zahlenfolge, wiederholt in die unmittelbare Umgebung eines repulsiven Zyklus zu geraten, und bei dem anschließend tendenziell divergenten oder chaotischen Verhalten wiederum beinahe in einen anderen Zyklus zu geraten, können sich intermediär sehr komplizierte Verhaltensweisen der Folge ausbilden, bis sich der endgültige Charakter der Folge zeigt, wie die beiden Abbildungen demonstrieren. Die Umgebung der zugehörigen -Werte in ist entsprechend strukturreich.

Die Darstellung der Folgepunkte selbst in der komplexen Ebene zeigt in diesen Fällen eine größere Komplexität. Das quasiperiodische Verhalten in der Nachbarschaft eines repulsiven Zyklus führt in diesen Fällen oft zu spiralförmigen Strukturen mit mehreren Armen, wobei die Folgepunkte das Zentrum umkreisen, während der Abstand zu ihm zunimmt. Die Anzahl der Arme entspricht daher der Periode. Die Punktanhäufungen an den Enden der Spiralarme in der obigen Abbildung sind die Folge der beiden zugehörigen Beinahe-Einfänge durch repulsive (instabile) Zyklen.

Dichteverteilung der Folgenglieder

Das nebenstehende Bild zeigt, wie oft ein Bildpunkt von einem Zwischenergebnis aller Iterationen getroffen wird. Im Bereich von ||<2 wird jedes Pixel mindestens einmal getroffen und aufsummiert. Innerhalb der können bei diesem Bild Werte bis zu 30000 auftreten. Bei einem Kontrast von 1:30000 kann man jedoch Feinheiten im -Rand nicht mehr leicht erkennen. Bei Blende bis 1000 sind Strukturen zu erkennen, die am äußersten Rand der liegen. Diese sind erzeugt durch die Zwischenergebnisse der periodischen Iterationen von Satelliten-Mengen. Diese Orte werden im Film mit einem grünen Pfeil gezeigt. Einer dieser Orte soll im nächsten Orbit-Bild näher dokumentiert werden.

Im Orbit-Bild wurden alle Iterationsergebnisse herausgefiltert, die nicht im Auswahlbereich bei Punkt 1 enthalten sind. So ist erkennbar, dass diese Orbits von einem Satelliten der Periode 3 ausgehen (Punkt S). In den nächsten Bildern sind diese vier Orbit-Aufsummierungen gezoomt gezeigt. Dieses Beispiel gilt für alle Satelliten. Für die meisten Satelliten ist jedoch ein viel höheres Iterationslimit nötig (hier nur 100). Dadurch steigt der erzeugte Kontrast erheblich, womit solche Feinheiten immer schlechter zu zeigen sind.

Grafische Darstellung

Die grafische Darstellung der Mandelbrot-Menge und ihrer Strukturen im Randbereich ist nur mittels Computer durch sogenannte Fraktalgeneratoren möglich. Dabei entspricht jedem Bildpunkt ein Wert der komplexen Ebene. Der Computer ermittelt für jeden Bildpunkt, ob die zugehörige Folge divergiert oder nicht. Sobald der Betrag eines Folgengliedes den Wert überschreitet, ist klar, dass die Folge divergiert. Die Zahl der Iterationsschritte bis dahin kann als Maß für den Divergenzgrad dienen. Der Bildpunkt wird gemäß einer zuvor festgelegten Farbtabelle gefärbt, die jedem Wert eine Farbe zuordnet.

Um in ästhetischer Hinsicht harmonische Grenzen zwischen aufeinanderfolgenden Farben zu erreichen, wird in der Praxis für die Grenze nicht der kleinste mögliche Wert gewählt, sondern ein Wert deutlich größer als , da andernfalls die Farbstreifenbreite oszilliert. Je größer dieser Wert gewählt wird, desto besser entsprechen die Farbgrenzen Äquipotentiallinien, die sich ergeben, wenn die Mandelbrot-Menge als elektrisch geladener Leiter interpretiert wird. Für kontinuierliche Farbverläufe, wie in der obigen Zoom-Bilderserie, ist eine Auswertung des Faktors erforderlich, um den bei der ersten Überschreitung übertroffen wurde.

Da die Zahl der Iterationsschritte , nach denen erstmals die Grenze überschritten wird, beliebig groß sein kann, muss ein Abbruchkriterium in Form einer maximalen Zahl von Iterationsschritten festgelegt werden. Werte von , deren Folgen danach die Grenze noch nicht überschritten haben, werden zu gerechnet. Je geringer der Abstand von zu ist, desto größer ist in der Regel die Zahl , nach der überschritten wird. Je stärker die Vergrößerung ist, mit der der Rand von dargestellt wird, desto größer muss die maximale Zahl von Iterationsschritten gewählt werden, und umso mehr Rechenzeit ist nötig. Kann man erkennen, dass die Folge für einen Startwert konvergiert, so kann die Berechnung der Folge schon früher abgebrochen werden.

Grafisch besonders reizvoll ist die Darstellung des Randes von mit seinem Formenreichtum. Je stärker die gewählte Vergrößerung ist, umso komplexere Strukturen lassen sich dort finden. Mit entsprechenden Computerprogrammen lässt sich dieser Rand wie mit einem Mikroskop mit beliebiger Vergrößerung darstellen. Die beiden einzigen künstlerischen Freiheiten, die dabei bestehen, sind die Wahl des Bildausschnittes sowie die Zuordnung von Farben zum Divergenzgrad.

Zur Untersuchung interessanter Strukturen sind häufig Vergrößerungen erforderlich, die mit hardwareunterstützten Datentypen aufgrund deren limitierter Genauigkeit nicht berechnet werden können. Manche Programme enthalten daher Langzahl-Arithmetik-Datentypen mit beliebig wählbarer Genauigkeit. Damit sind (fast) beliebige Vergrößerungsfaktoren möglich.

Praktische Berechnung

Iteration über alle Bildpunkte

Das folgende Programmbeispiel geht davon aus, dass die Pixel des Ausgabegerätes durch Koordinaten x und y mit einem Wertebereich von 0 bis jeweils xpixels-1 und ypixels-1 adressierbar sind. Die Berechnung des dem Pixel zugeordneten komplexen Zahlenwerts c mit dem Realteil cre und dem Imaginärteil cim erfolgt durch lineare Interpolation zwischen (re_min, im_min) und (re_max, im_max).

Die maximale Anzahl von Iterationsschritten ist max_iter. Wird dieser Wert überschritten, so wird das entsprechende Pixel der Menge zugeordnet. Der Wert von max_iter sollte mindestens 100 betragen. Bei stärkerer Vergrößerung sind zur korrekten Darstellung der Strukturen teilweise erheblich größere Werte erforderlich und damit deutlich längere Rechenzeiten.

PROCEDURE Apfel (re_min, im_min, re_max, im_max, max_betrag_2: double,
                 xpixels, ypixels, max_iter:                   integer)
  FOR y = 0 TO ypixels-1
    c_im = im_min + (im_max-im_min)*y/ypixels

    FOR x = 0 TO xpixels-1
      c_re = re_min + (re_max-re_min)*x/xpixels

      iterationen = Julia (c_re, c_im, c_re, c_im, max_betrag_2, max_iter)
      farb_wert   = waehle_farbe (iterationen, max_iter)
      plot (x, y, farb_wert)
    NEXT

  NEXT
END PROCEDURE

Iteration eines Bildpunktes

Die Iteration von nach für einen Punkt der komplexen Zahlenebene erfolgt durch die Iteration

die sich mittels der Zerlegung der komplexen Zahl in ihren Realteil und Imaginärteil in zwei reelle Berechnungen

und

zerlegen lässt. Hier haben wir die folgende Identität benutzt:

Falls das Quadrat des Betrags der -ten Zahl, gegeben durch

den Wert max_betrag_2 (mindestens 2 · 2 = 4) überschreitet, wird die Iteration abgebrochen, und die Anzahl der bislang erfolgten Iterationsschritte für die Zuordnung eines Farbwertes verwendet. Falls das Quadrat des Betrags nach einer gegebenen maximalen Anzahl von Iterationsschritten den max_betrag_2 nicht überschritten hat, wird angenommen, dass die Iteration beschränkt bleibt, und die Iterationsschleife abgebrochen.

Die folgende Funktion führt die beschriebene Iteration durch. x und y sind die iterativ benutzten Variablen für die Iterationswerte; xx, yy, xy und remain_iter sind Hilfsvariablen.

 FUNCTION Julia (x, y, xadd, yadd, max_betrag_2: double, max_iter: integer): integer
   remain_iter = max_iter
   xx = x*x
   yy = y*y
   xy = x*y
   betrag_2 = xx + yy

   WHILE (betrag_2 <= max_betrag_2) AND (remain_iter > 0)
     remain_iter = remain_iter - 1
     x  = xx - yy + xadd
     y  = xy + xy + yadd
     xx = x*x
     yy = y*y
     xy = x*y
     betrag_2 = xx + yy
   END

   Julia = max_iter - remain_iter
 END FUNCTION

Wird ein kontinuierlicherer Farbverlauf gewünscht, so bietet sich alternativ die Formel

    Julia = max_iter - remain_iter - log(log(betrag_2) / log(4)) / log(2)

an, die keine ganzen, sondern reelle Werte liefert. Für die Folge mit c = 0 und dem Startwert z0 = 2 liefert diese Formel den Wert null. Es ergibt sich ferner eine von max_betrag_2 unabhängige Farbgebung, sofern dieser Wert groß gegen 1 ist.

Ein erheblicher Teil der Rechenzeit wird dort benötigt, wo die Zahlenfolge nicht divergiert. Moderne Programme bemühen sich, mit verschiedenen Verfahren die Rechenzeit für diese Stellen zu reduzieren. Eine Möglichkeit besteht darin, die Rechnung bereits abzubrechen, wenn die Zahlenfolge konvergiert ist oder sich in einem periodischen Zyklus gefangen hat. Andere Programme nutzen aus, dass jeder Punkt im Inneren einer geschlossenen Kurve, die nur Punkte aus enthält, ebenfalls dazugehört.

Verwendung komplexer Matrizen

Das Ändern der Datenstruktur kann den Algorithmus vereinfachen und sogar die Rechenzeit etwas verkürzen. In den folgenden Programmbeispielen werden mit der NumPy-Programmbibliothek Berechnungen mit komplexen Matrizen durchgeführt, wodurch eine explizite Iteration über alle Bildpunkte entfällt.

import numpy as np
import matplotlib.pyplot as plt

d, h = 800, 600  # Pixeldichte (= Bildbreite) und Bildhöhe
n, r = 100, 500  # Anzahl der Iterationen und Fluchtradius (r > 2)

x = np.linspace(0, 2, num=d+1)
y = np.linspace(0, 2 * h / d, num=h+1)

A, B = np.meshgrid(x - 1, y - h / d)
C = 2.0 * (A + B * 1j) - 0.5

Z = np.zeros_like(C)
T = np.zeros(C.shape)

for k in range(n):
    M = abs(Z) < r
    T[M] = T[M] + 1
    Z[M] = Z[M] ** 2 + C[M]

N = abs(Z) >= r  # Normalisierung der Iterationszahlen
T[N] = T[N] - np.log2(np.log(abs(Z[N])) / np.log(r))

plt.imshow(T ** 0.5, cmap=plt.cm.twilight_shifted, origin="lower")
plt.savefig("Mandelbrot_set.png", dpi=200)

Um die Normalisierung der Iterationszahlen zu verstehen, kann anstelle der eigentlichen Folge mit Startwert die vereinfachte Folge mit Startwert betrachtet werden. Die ersten Folgenglieder sind dann , , und , ganz allgemein erhält man das Folgenglied (vgl. die kurze Begründung bei Inigo Quilez oder die ausführliche Analyse bei Jussi Härkönen).

Betrachtet man die Iterationszahl , bei der die Folge den Fluchtradius erreicht oder überschreitet, so gilt und . Sucht man nun die Fluchtzeit mit und , so erhält man . Wegen ist , und es gilt:

Somit erhält man die Fluchtzeit durch eine nachträgliche Korrektur der Iterationszahl . Die äquivalente Gleichung weist auf eine enge Beziehung zum Potential hin.

Eine interessante Anwendung ist ein einfaches Beleuchtungsmodell mit Lichtstreuung an den Äquipotential-Isolinien. Wenn die Iterationszahl groß genug ist, lassen sich im Außenbereich der Mandelbrot-Menge Normalenvektoren zu den Äquipotentiallinien mithilfe des Gradienten berechnen. Da das Polynom eine ganze Funktion ist, kann der Gradient des Potentials durch die komplexe Ableitung und die Konjugation dargestellt werden:

Nach dem Lambertschen Gesetz lässt sich das an den Äquipotentiallinien gestreute Licht durch ein Skalarprodukt der Normalenvektoren und eines Vektors in Lichtrichtung bestimmen. Da die Länge der Vektoren dabei keine Rolle spielt, können die Normalenvektoren einfach durch den komplexwertigen Quotienten berechnet werden. Dabei ist die Division durch die Ableitung im Außenbereich immer möglich, da alle Nullstellen von und im Innenbereich liegen (vgl. den Satz von Gauß-Lucas und die Verschärfung dieses Satzes von Jensen).

Logarithmische Projektion

Im folgenden Programmbeispiel wird eine logarithmische Projektion der Mandelbrot-Menge berechnet, die auch als Mercator-Projektion der riemannschen Zahlenkugel verstanden werden kann. Durch die logarithmische Projektion kann die Erstellung von Zoom-Animationen der Mandelbrot-Menge extrem beschleunigt werden (vgl. auch die Animation bei Thorsten Förstemann und die Koordinatenanalyse bei Claude Heiland-Allen).

import numpy as np
import matplotlib.pyplot as plt

d, h = 200, 1000  # Pixeldichte (= Bildbreite) und Bildhöhe
n, r = 800, 5000  # Anzahl der Iterationen und Fluchtradius (r > 2)

x = np.linspace(0, 2, num=d+1)
y = np.linspace(0, 2 * h / d, num=h+1)

A, B = np.meshgrid(x * np.pi, y * np.pi)
C = 4.0 * np.exp((A + B * 1j) * 1j) + (- 1.748764520194788535 + 3e-13 * 1j)

Z, dZ = np.zeros_like(C), np.zeros_like(C)
D = np.zeros(C.shape)

for k in range(n):
    M = Z.real ** 2 + Z.imag ** 2 < r ** 2
    Z[M], dZ[M] = Z[M] ** 2 + C[M], 2 * Z[M] * dZ[M] + 1

N = abs(Z) > 2  # Distanzschätzung des Außenbereichs
D[N] = np.log(abs(Z[N])) * abs(Z[N]) / abs(dZ[N])

plt.imshow(D.T ** 0.05, cmap=plt.cm.nipy_spectral, origin="lower")
plt.savefig("Mercator_Mandelbrot_map.png", dpi=200)

Auch bei der Distanzschätzung wird die Ableitung benötigt. Die ersten Polynome sind , , und , die zugehörigen Ableitung sind , , und . Alle weiteren Polynome und Ableitungen ergeben sich aus der Iterationsvorschrift und der Ableitungsregel .

Um die Schätzformel zu verstehen, können die vereinfachten Folgen und mit den Startwerten und betrachtet werden. Die ersten Polynome sind , , und , die zugehörigen Ableitungen sind , , und . Ganz allgemein erhält man so das Polynom und die Ableitung . Die zugehörige Julia-Menge ist genau der Rand des Einheitskreises (vgl. das Beispiel zur Dynamik von f(z) = z² im Artikel zur Julia-Menge, die kurze Begründung bei van den Doel oder die umfassende Analyse bei Dang, Kauffman und Sandin).

Die Schätzformel ergibt , was eine gute Näherung für den Abstand zum Einheitskreis ist, wenn der Punkt nahe am Rand liegt: ergibt und ergibt . Wenn also die wirkliche Entfernung zur Mandelbrot-Menge gleich ist, so ergibt die Schätzformel den Wert .

Es stimmt jedoch nicht, dass der Grenzwert gegen die wirkliche Entfernung konvergiert, tatsächlich gelten nur schwächere Ungleichungen. So findet man häufig einen Faktor oder in der Schätzformel, je nachdem, ob die Entfernungen über- oder unterschätzt werden.

Deep Zoom

Prozessoren unterstützen in Hardware die Berechnung mit typischerweise 32-bit- und 64-bit-Gleitkommazahlen. Dies ermöglicht es, in die Mandelbrot-Menge etwa um den Faktor 1012 bis 1013 hineinzuzoomen, bevor benachbarte Pixel keine unterschiedlichen Startwerte mehr annehmen können (und damit Fehler durch Blockartefakte offensichtlich werden).

Ab diesem Punkt reicht die Genauigkeit der in Hardware implementierten Arithmetik nicht mehr aus. Man ist gezwungen, auf in Software implementierte Routinen für hochgenaue Arithmetik auszuweichen, was bei aktuellen Prozessoren zu einem immensen Geschwindigkeitseinbruch führt.

Man kann diesen deutlich durch Nutzen von Störungsrechnung reduzieren.

Dazu wird ein (möglichst nicht divergenter) Referenzpunkt in hochgenauer Arithmetik durchgerechnet und die Serie wird aufgezeichnet:

Für in der direkten Nähe liegende Punkte würde sich die Serie

ergeben. Man will indirekt berechnen, solange diese ursprüngliche Reihe und beschränkt bleiben, ist auch beschränkt. Es gilt

für die Berechnung des Referenzpunktes und
mit und für die Berechnung des Nachbarpunktes.

Setzt man ein, ergibt sich

Betrachtet man die beiden äußeren Terme

und multipliziert aus
und setzt
und löst die Klammern auf und kürzt
und erhält

Unter Verwendung der abgespeicherten Referenz und durch Einsetzen von kann man unter Nutzen von

die Abweichungen berechnen. Solange diese Terme klein bleiben, verhält sich ähnlich wie .

Praktische Anwendung

Das Programm „Kalles Fraktaler“ benutzt diesen Ansatz.

Probleme
  1. Der verwendete Referenzpunkt sollte möglichst innerhalb der zu untersuchenden Iterationen nicht divergieren, da die Nachbarpunkte maximal bis zu dem Abbruch des Referenzpunktes untersucht werden können. Alle Punkte mit einer größeren Iterationszahl müssen erneut berechnet werden. Die Auswahl und das Verwerfen von sich als ungeeignet herausgestellten Referenzpunkten stellt eine Herausforderung dar.
  2. Für die Berechnung der Abweichungen wird keine hohe Genauigkeit benötigt, allerdings ist der Wertebereich von 64-bit-Gleitkommazahlen arg limitiert. Ab etwa muss man leider mit eigenen Mathematikroutinen arbeiten, die zwar nur eine 52/64 bit-Mantisse benötigen, aber deutlich langsamer als hartkodierte Gleitkomma-Operationen sind (die aber wesentlich schneller als Berechnungen mit langen Mantissen sind).
  3. Man benötigt Speicherbandbreite für das Lesen der Referenzserie . Erste Verlangsamung gibt es, wenn diese nicht mehr in den L2-Cache passen, sehr viel langsamer wird es, wenn der L3-Cache nicht mehr ausreicht und auf den RAM zugegriffen werden muss.
  4. Es gibt Abweichungen zwischen der nativen Iteration mit und der Störungsrechnung basierend auf . Sieht man sich das ganze genauer an, ist die Berechnung basierend auf meistens genauer, wenn die Referenzpunktberechnung hinreichend genau war (was mit Langzahlarithmetik für diesen einen Wert aber problemlos machbar ist).

Programmierung der zeichnerischen Methode

Das zeichnerische Verfahren benutzt die Längen und Winkel von Vektoren, die sich auf den Nullpunkt(0,0i) und dem Imaginärpunkt(1,0i) (gelb markiert) beziehen. Ausgehend von diesen 2 Punkten kann man aus zwei -Werten das Ergebnis konstruieren, je nach Rechenmethode. Für die -Formel braucht man nur die Quadrierung und die Addition. Oft wird argumentiert, dass das chaotische Verhalten von bestimmten Ziffernfolgen herrührt. Deshalb dieser Versuch ganz andere Ziffernfolgen zu erzeugen, womit solche Thesen zu überprüfen wären. Es würde sich dann ein mehr oder weniger geändertes Verhalten der Iterationsverläufe zeigen. Wird die mit dem Imaginärpunkt bei (1,0i) erzeugt, so kann man keine Veränderungen erkennen. Bei der mathematischen -Formel ist keine Variable für den Imaginärpunkt nötig, ist aber implizit als Konstante enthalten. Bei der zeichnerischen Iteration ist der Imaginärpunkt als Variable vorhanden. Jetzt kann aus Neugier und Spaß der Imaginärpunkt (x,yi) geändert werden. Mit anderen Werten dreht sich die und/oder ändert die Größe. Bis auf diese zwei Eigenschaften kann keine weitere Veränderung erkannt werden. Das imaginäre Koordinatensystem (grün) bleibt bestehen. Tatsächlich könnte statt des Nullpunktes auch der Mittelpunkt der als Variable eingeführt werden. Dann würde eine weitere Drehstreckung plus einer Verschiebung im Koordinatensystem möglich werden. Wenn diese zwei Werte nicht bei (0,0i) und (1,0i) liegen, dann müssen die Parameter aus Tabelle „Verhalten der Zahlenfolge“ entsprechend umgerechnet werden.

Im folgenden Programmcode für einen Bildpunkt wird die zeichnerische Konstruktion durch sinus() und cosinus() Funktionen nachgebildet.

Zugehöriger Programmcode (zum Ausklappen)

// Eingangsvariablen:
cr, ci		Koordinaten eines Bildpunktes (real und imaginär)
ipr, ipi	Koordinaten des Imaginärpunktes (normal bei (1,0) = 1 + 0i, veränderbar)

// Vorbereitung der Iterationsschleife:
double ipz = sqrt (ipr*ipr + ipi*ipi);
double cosi = ipr / ipz;
double sini = ipi / ipz;
double rmax = 2.5 * ipz;	// Fluchtradius ist abhängig vom Imaginärpunkt
double zr = 0, zi = 0;		// Koordinaten der Iterationsfolge (real und imaginär)
double r = sqrt (zr*zr + zi*zi);
double Count = 0;			// Iterationszähler

while (r < rmax) {
	if (r == 0) {
		c = s = 0;
		ry = 1;
	}
	else {
		c = zr / r;
		s = zi / r;
		ry = r*r / ipz;
	}
	crz = c*cosi - s*sini;
	srz = c*sini + s*cosi;
	zr = ry * (c*crz - s*srz) + cr;
	zi = ry * (c*srz + s*crz) + ci;
	r = sqrt (zr*zr + zi*zi);
    Count += 1;
}

Berechnungsgeschwindigkeit

Berechnungen nahmen beim Stand der Technik Ende der 1980er Jahre viel Zeit in Anspruch. Vergleichsweise zeigt dies eine Aufstellung durch die Anzahl der Iterationen, die verschiedene CPUs pro Sekunde durchführen konnten.

CPU Jahr Genauigkeit (Software)Geschwindigkeit
in Iterationen/sec
Rechendauer für
8,8 Mrd. Iterationen
Z80 @1,75 MHz 1987 32 bit Gleitkomma (1.)931 Jahre
Z80 @2,45 MHz 32 bit Integer (2.)2801 Jahr
80386 SX/20 +
IIT 3C87SX/20
1992 32 bit Integer (3.)130.00019 Stunden
80 bit Gleitkomma (FPU) (3.)75.00033 Stunden
80 bit Gleitkomma (Emulation Borland) (3.)2.00051 Tage
Pentium 90 1994 32 bit Integer (3.)1.450.0001 Stunde 40 Minuten
80 bit Gleitkomma (3.)2.900.00050 Minuten
Xeon E5-2623 v3
× 2 (Dual Socket)
2015 32 bit Gleitkomma (4.)50.000.000.0000,177 Sekunden
64 bit Gleitkomma (4.)25.000.000.0000,35 Sekunden
Bemerkungen (zum Ausklappen)

Eingesetzte Software
  1. BASIC-Interpreter des KC 85/3
  2. selbst geschriebener Assemblercode
  3. Borland C++ mit integriertem Assembler, die Gleitkomma-Emulation dieses Compilers war vergleichsweise langsam
  4. Visual Studio C++ mit Intel Intrinsics, Nutzung von AVX2 und Fused multiply-add, multithreaded, 2 Threads pro Core
Eingesetzte Prozessoren
  • Z80: 8-Bit-Prozessor ohne Hardware-Multiplikation
  • 80386: 32-Bit-Prozessor mit Hardware-Multiplikation und Gleitkomma-Koprozessor
  • Pentium: 32-Bit-Prozessor mit Hardware-Multiplikation und mit eingebautem Gleitkomma-Koprozessor
  • Xeon E5-2623: Vektorbefehle, 4 Kerne/8 Threads pro Sockel

Rezeption in der Öffentlichkeit

Außerhalb der Fachwelt wurde die Mandelbrot-Menge vor allem durch den ästhetischen Wert der Computergrafiken bekannt, der durch künstlerische Farbgestaltung des Außenbereichs, der nicht zur Menge gehört, unterstützt wird. Sie erlangte durch Publikationen von Bildern in den Medien Ende der 1980er Jahre einen für ein mathematisches Thema dieser Art ungewöhnlich großen Bekanntheitsgrad und dürfte bis heute (Stand 2023) das populärste Fraktal sein, sowie auch eines der populärsten Objekte der zeitgenössischen Mathematik.

Die Mandelbrot-Menge wird als das formenreichste geometrische Gebilde bezeichnet. Sie hat Computerkünstler inspiriert und zu einem Aufschwung fraktaler Konzepte beigetragen. Dabei finden zahlreiche Modifikationen des Algorithmus Anwendung, welcher der Mandelbrot-Menge zugrunde liegt.

Ein weiterer Aspekt ist der extreme Kontrast zwischen diesem und der Einfachheit des zugrunde liegenden Algorithmus, der an biologische Systeme erinnert, bei denen nach naturwissenschaftlicher Sicht ebenfalls aus einer vergleichsweise geringen Zahl von Regeln äußerst komplexe Systeme entstehen können, sowie die Nähe zur Chaosforschung, die ebenfalls in der Öffentlichkeit großes Interesse geweckt hatte.

Die Bezeichnung ,Apfelmännchen‘ leitet sich von der geometrischen Grobform einer um 90 Grad im Uhrzeigersinn gedrehten Mandelbrot-Menge her.

Der US-amerikanische Musiker Jonathan Coulton hat ein Lied über die Mandelbrot-Menge veröffentlicht, in dem Benoît Mandelbrot dafür gedankt wird, dass er Ordnung in das Chaos gebracht habe.

Anmerkungen

  1. Nach einer entsprechenden Koordinatentransformation. Für Details siehe die Bildbeschreibung.
  2. Eine Animation genau dieser Zoomfahrt befindet sich auf der Webseite Zoomfahrt in die Mandelbrot-Menge.
  3. der allerdings noch nicht das theoretische Limit darstellte, die verwendet Multiplikation war schnell, es gibt aber noch schnellere, siehe Multiplication 32 x 32 bit, base case
  4. Compiler, die direkte Bibliotheksaufrufe erzeugten und bei Vorhandensein einer 32-bit-CPU 32-bit-Befehle nutzten, waren deutlich schneller. Keine Messwerte mehr verfügbar.

Siehe auch

Literatur

  • Benoît Mandelbrot: Die fraktale Geometrie der Natur. ISBN 3-7643-2646-8.
  • John Briggs, F. David Peat: Die Entdeckung des Chaos. ISBN 3-446-15966-5.
  • Heinz-Otto Peitgen, Peter H. Richter: The Beauty of Fractals. ISBN 0-387-15851-0.
  • Heinz-Otto Peitgen, Dietmar Saupe: The Science of Fractal Images. ISBN 0-387-96608-0.
  • Karl Günter Kröber: Das Märchen vom Apfelmännchen – 1. Wege in die Unendlichkeit. ISBN 3-499-60881-2.
  • Karl Günter Kröber: Das Märchen vom Apfelmännchen – 2. Reise durch das malumitische Universum. ISBN 3-499-60882-0.
  • Dierk Schleicher: On Fibers and Local Connectivity of Mandelbrot and Multibrot Sets, in: M.Lapidus, M. van Frankenhuysen (eds): Fractal Geometry and Applications: A Jubilee of Benoît Mandelbrot. Proceedings of Symposia in Pure Mathematics 72, American Mathematical Society (2004), 477–507, 1999, pdf
Commons: Mandelbrot-Menge – Sammlung von Bildern, Videos und Audiodateien
Wiktionary: Mandelbrotmenge – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
Wikibooks: Das Apfelmännchen – Lern- und Lehrmaterialien

Einzelnachweise

  1. Robert Brooks, J. Peter Matelski: The dynamics of 2-generator subgroups of PSL(2,C). In: Riemann surfaces and related topics: Proceedings of the 1978 Stony Brook Conference. In: Annals of Mathematics Studies. Band 97, Princeton University Press, Princeton, N.J., 1981, S. 65–71. PDF.
  2. Benoît Mandelbrot: Fractal aspects of the iteration of for complex . In: Annals of the New York Academy of Sciences. 357, 249–259.
  3. Adrien Douady, John H. Hubbard: Etude dynamique des polynômes complexes. In: Prépublications mathémathiques d’Orsay. 2/4, 1984/1985 (PDF; 4,88 MB). (Memento vom 30. Januar 2017 im Internet Archive). Englische Übersetzung: OrsayEnglish.pdf.
  4. Robert P. Munafo: Escape Radius. In: Mu-Ency - The Encyclopedia of the Mandelbrot Set. 1997 (englisch).
  5. Lei Tan: Similarity between the Mandelbrot set and the Julia sets. In: Communications in Mathematical Physics. 1990, Band 134, Nr. 3, S. 587–617. PDF. Bei: ProjectEuclid.org.
  6. Mitsuhiro Shishikura: The Hausdorff Dimension of the Boundary of the Mandelbrot Set and Julia Sets. In: Annals of Mathematics. Band 147, Nr. 2, 1998, ISSN 0003-486X, S. 225–267, doi:10.2307/121009, JSTOR:121009.
  7. John H. Hubbard: Local connectivity of Julia Sets and bifurcation loci. Three Theorems of J.-C. Yoccoz. Hubbard zitiert in seiner Arbeit auf Seite 511 ein unveröffentlichtes Manuskript von J.-C. Yoccoz. PDF. 1993.
  8. Thorsten Förstemann: Numerical estimation of the area of the Mandelbrot set. (Nicht mehr online verfügbar.) In: Persönliche Homepage. 2012, archiviert vom Original am 15. Juli 2021 (englisch, PDF-Versionen: 2012, 2016, 2017).
  9. Inigo Quilez: Smooth iteration count for generalized Mandelbrot sets. In: iquilezles.org (persönliche Webseite). 2007 (englisch, zugehörige Animation auf shadertoy.com).
  10. Jussi Härkönen: On Smooth Fractal Coloring Techniques. Chapter 3: The Smooth Iteration Count Coloring. (Nicht mehr online verfügbar.) In: jussiharkonen.com (persönliche Webseite). 2007, S. 14–26, archiviert vom Original am 18. Juni 2014 (englisch).
  11. Javier Barrallo, Damien M. Jones: Coloring Algorithms for Dynamical Systems in the Complex Plane. II. Distance Estimators. In: Visual Mathematics. Mathematical Institute SANU, 1999 (englisch, zugehöriger Eintrag auf eudml.org).
  12. Arnaud Chéritat: The potential. In: Wiki-Seite von Arnaud Chéritat am Institut für Mathematik, Toulouse. 2016 (englisch).
  13. Arnaud Chéritat: Normal map effect. In: Wiki-Seite von Arnaud Chéritat am Institut für Mathematik, Toulouse. 2016 (englisch).
  14. David Madore: Mandelbrot set images and videos. In: madore.org (persönliche Webseite). 2008 (englisch).
  15. Robert P. Munafo: Exponential Map. In: Mu-Ency - The Encyclopedia of the Mandelbrot Set. 2010 (englisch).
  16. Thorsten Förstemann: Log(z)-Mandelbrot-Zooms. (Nicht mehr online verfügbar.) In: foerstemann.name (persönliche Webseite). 2013, archiviert vom Original am 15. Juli 2021 (zugehörige Animation auf youtube.com).
  17. Claude Heiland-Allen: Optimizing zoom animations again. In: mathr.co.uk (persönliche Webseite). 2020 (englisch, ergänzende Koordinatenanalyse auf mathr.co.uk).
  18. Kees van den Doel: Notes on Mandelbrot set (Draft). In: persianney.com (persönliche Webseite). 2018, S. 1–2 (englisch).
  19. Yumei Dang, Louis Kauffman, Daniel Sandin: Hypercomplex Iterations: Distance Estimation and Higher Dimensional Fractals. Chapter 3: Distance Estimation in Complex Space. In: Electronic Visualization Laboratory. 2002, S. 13–29 (englisch).
  20. Arnaud Chéritat: Boundary detection methods via distance estimators. In: Wiki-Seite von Arnaud Chéritat am Institut für Mathematik, Toulouse. 2016 (englisch).
  21. Mikael Hvidtfeldt Christensen: Distance Estimated 3D Fractals (V). The Mandelbulb & Different DE Approximations. In: Syntopia: Generative Art, 3D Fractals, Creative Computing. 2011 (englisch).
  22. Claude Heiland-Allen: Kalles Fraktaler 2 +. 28. Juni 2022.
  23. Geoffroy Billotey: Fractalshades documentation. Extended range floating points. In: GitHub. 2021 (englisch).
  24. Bartsch, Mathematische Formeln, VEB Fachbuchverlag Leipzig, 1972, 12. Ausgabe, Seite 17
  25. Norbert Treitz: Mandelbrots Apfelmännchen. In: spektrum.de. 2017.
  26. Peitgen, Jürgens, Saupe: Chaos, Bausteine der Ordnung. Rowohlt, ISBN 3-499-60551-1, S. 431.
  27. Jonathan Coulton: Mandelbrot Set. (Memento vom 25. Januar 2017 im Internet Archive)

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.