26

I'm a programmer and have recently played around a bit with rendering Mandelbrot fractals / zooming into them.

What I can't grasp: How can such infinite, complex shapes come out of somewhat 10 lines of deterministic code?

How is it possible that when zooming ever deeper and deeper, there are still completely new shapes coming up, while the algorithm remains the same?

Does the set maybe give us some deep insight into our universe or even other dimensions, as it involves complex numbers?

M. Niesla
  • 277
  • Niesla, algorithm is the same but its configuration is different. Zooming means choosing a window and computing the algorithm for that window. So, you are in fact asking how the for loop for(i=0;;i++) generates many many numbers. – niyazi Apr 10 '11 at 10:31
  • No, I mean how the resulting image looks so diverse. Normally, it should produce some highly repetitive image but this one is apparently different – M. Niesla Apr 10 '11 at 10:33
  • 1
    A sketch of the explanation is given in this thread. – Raskolnikov Apr 10 '11 at 12:59

4 Answers4

31

Let $m(z,c) = z^2 + c$, consider the sequence of polynomials: $m(z,z),\,$ $m(m(z,z),z)$, ... , which are $$z^2+z,\quad z^4 + 2z^3 + z^2 + z,\quad z^8 + 4z^7 + 6z^6 + 6z^5 + 5z^4 + 2z^3 + z^2 + z,\quad...\quad.$$

Note that in terms of complex numbers the transformation $z \mapsto m(z,c)$ can be seen a way of twisting and squashing the sphere over itself.. if you keep kneading something you are bound to get tearing and crumpled filaments and such like.

Here are graphs of the first seven (produced by the software here):

m1 m2 m3 m4 m5 m6 m7

John Bentin
  • 18,454
quanta
  • 12,425
17

As discussed at the Wikipedia page, the Mandelbrot set $M$ is not by definition a dynamical object. Instead it is a subset of parameter space. That is, each point $c$ of $M$ corresponds to a quadratic polynomial $f_c(z) = z^2 + c$.

Recall that the Julia set $J_c$ for $f_c$ is a dynamical object, and we expect it to be self-similar, ie a fractal. By definition, if $c \in M$ then $J_c$ is connected. When $c \notin M$ the Julia set is homeomorphic to a Cantor set. So in some sense all of these Julia sets "look the same" and the corresponding maps $f_c$ "have similar dynamics".

On the other hand, as we move $c$ inside of $M$ we find quadratic maps $f_c$ with markedly different dynamics. Thus, as we change $c$ we find very different looking Julia sets, each living in its own dynamical plane. Now we return to your original question: why does $M$ (a subset of parameter space) have so many different-looking regions?

The answer is deeply shocking: for many values of $c$

  • the region of $M$ about $c$ and

  • a part of the Julia set $J_c$

will look the same! (In fact, they are related by a quasi-conformal map - a homeomorphism that distorts angles by at most a bounded amount.) The fastest way to convince yourself of this unlikely story is to zoom in to a few different points $c \in M$ and plot the resulting Julia set. Here are some webpages that will draw both $M$ and $J_c$ at the same time.

http://math.bu.edu/DYSYS/applets/Quadr.html

http://aleph0.clarku.edu/~djoyce/cgi-bin/expl.cgi

http://www.gingerbooth.com/flash/mandel9/mandleAS9.html

http://gingerbooth.com/coursewareCBC/mandeljulia.html

So - one answer to your question "why is $M$ so rich?" is that $M$ is reproducing the richness of the various Julia sets. This leads to many other questions, such as "why should dynamical pictures be reproduced in parameter space?" but I think that I will stop here.

Here is the relevant part of the Wikipedia page. The linked paper of Tan Lei "Similarity Between the Mandelbrot Set and Julia Sets" is perhaps one of the earlier results in this area. See the more recent work of Wolf Jung, as well as many others...

Sam Nead
  • 4,063
9

I would resume it in one sentence:

ITERATION (OR FEEDBACK) CREATES COMPLEXITY

Julia sets and the Mandelbrot set all come from the iteration of the family of functions $q_c(z)=z^2+c$. What could be simpler that such a second degree polynomial? The complexity comes from the iteration $$ z_{n+1}=q_c(z_n). $$ Even if the function $q_c$ is simple, the behaviour of the sequence $\{z_n\}$ may be very complex. In fact, it may be chaotic.

We are in the presence of sensitive dependence on initial conditions (a.k.a. the butterfly effect.) Iterations that begin at two very close initial points, may separate after a sufficiently large number of iterations. The Mandelbrot set is the set of complex nmbers $c$ such that the sequence $$ 0,\ q_c(0)=c,\ q_c(q_c(0))=c^2+c,\ q_c(q_c(q_c(0)))=(c^2+c)^2+c,\dots $$ remains bounded. The behaviour of that sequence may me very different for two very close values of $c$. That is the reason why you see that complex behaviour when zooming up on a small region.

  • I think it's a step in the good direction, but it's not enough. Take for example the same iteration process with $c=0$, then what you do is repeatedly square numbers. It has the same butterfly type effect, take for instance $2$ and $2+0.001i$ as seeds and soon they are flying off in two totally different directions. However, the associated "fractal" is a simple disk with radius 1. So the butterfly effect in and of itself doesn't capture what makes the Mandelbrot set so interesting. – Raskolnikov Apr 10 '11 at 11:18
  • $q_0(z)=z^2$ is not chaotic. The Julia set is the unit disk. For all $z$'s innside de unit circle, the iterations converge to $0$. If $z$ is outside the unit circle, the iterations converge to $\infty$. It may seem that the iterations of $2$ and $2+0.001i$ are very different. This is so because you are thinking complex plane; but in the Riemann sphere, both sequences of iterations converge to the North pole. – Julián Aguirre Apr 10 '11 at 11:36
  • 1
    @Julián: The same is true for points outside of the Mandelbrot set. Your argument doesn't hold water, I'm sorry. – Raskolnikov Apr 10 '11 at 11:51
  • The Mandelbrot set is compact, and its complement is therefore open. Thus, if $c$ is not in the Mandelbrot set, all sufficiently close points aren't either; the corresponding Julia sets are Cantor sets, known as Cantor dust. Similarly, $c$'s that are in the cardiod or one of the bulbs of the Mandelbrot set, have a similar behaviour; the coresponding Julia sets are connected, and have a similar shape. The extremely complex patterns that you observe in blowups all happen near the boundary. – Julián Aguirre Apr 10 '11 at 12:12
  • 1
    @Raskolnikov: do you think a connected filled in julia set can hold water? – niyazi Apr 10 '11 at 12:16
  • 2
    You guys are missing the point. What I'm saying is that $z^2$ is as a dynamical map as sensitive to initial conditions as $z^2-1$ is. Just because something is sensitive to initial conditions it does not need to deliver the same intricacy as a Mandelbrot fractal. Saying "it's the butterfly effect" doesn't explain anything. – Raskolnikov Apr 10 '11 at 12:24
  • 2
    $z^2$ is not sensitive to initial conditions under any definition I know of such concept. – Julián Aguirre Apr 10 '11 at 13:24
  • 3
    Actually, the restriction of $z^2$ to the unit circle (its Julia set!) produces a map isomorphic to the classic shift map $x\rightarrow 2x\pmod 1$ which is almost the canonical example of sensitivity to initial conditions. – Steven Stadnicki Apr 10 '11 at 15:55
  • 1
    @Steven: I was refering to $z^2$ on $\mathbb{C}$ or the Riemann sphere. – Julián Aguirre Apr 10 '11 at 17:50
  • 2
    @Julian - the map $f(z) = z^2$ is sensitive to initial conditions on the unit circle. It is not sensitive off of the unit circle. This is true for quadratic polynomials generally. Recall that the Julia set and the filled Julia set are generally not equal: on the Julia set the map $f_c$ is chaotic while off of the Julia set the map $f_c$ is not chaotic. – Sam Nead Apr 10 '11 at 18:38
1

The link http://www.fractalsciencekit.com/types/classic.htm gives the basic algorithm for Mandelbrot, Julia, Newton, and Orbit Trap based fractals. While the process is very simple, the iterative nature of the process leads to very different results depending on the point on the complex plane at which you start. Since a fractal image is colored by processing each point on the complex plane to determine that points color, as you zoom in, the set of points changes, and based on the nature of the equation you are using, the image can be quite complex.