Posts Tagged ‘fractals’

Fractal Holiday/Solstice/Christmas Cards!

December 24, 2011

It’s that time of the year again: I’m making my fractal Holiday cards! I slacked last year and only made a few, but I’m back at it.

Christopher Olah's fractal Christmas cards from 2011

Previous years, I’d made up fractals for my cards. This year I just explored the Mandelbrot set and found cool looking regions. Since I obsessed over my choice of pictures, it took me a while to make them  — I’ve made about twenty so far, and still need to make more! (more…)


The Real 3D Mandelbrot Set

August 8, 2011

Perhaps more than any other area of serious mathematics, fractals and more specifically the Mandelbrot set, have attracted a great deal of public interest. Continuing this pattern, the Mandelbulb set caused a great deal of excitement. As the Mandelbulb website it says, however, “there’s good reason to believe that it isn’t the real McCoy.” And so the question is left hanging, what is the real 3D Mandelbrot Set? In this essay, I will present the fractal that I believe deserves this position and why this is the case. (more…)

Mandelbrot Set on the Riemann Sphere

March 5, 2011
Mandelbrot on the projection of the bottom of the Rienman sphere straight down. The mandelbrot st on the projection of the top half of the Riemman sphere straight down.

The mappings are B_1(0) \to \hat{\mathbb{C}}:

\phi^- (z) = \frac{z}{2-|z|}

\phi^+(z) = \frac{1}{z(2-|z|)}

For most practical purposes you’ll want to (as seen in above picture) restrict the domain of \phi^+ to not include some neighborhood of 0 to make it a bounded function on \mathbb{C}.

Variations of the Mandelbrot Set

April 23, 2010

Here’s some variations of the Mandelbrot Set I’ve been looking at. They aren’t terribly interesting from a mathematical perspective, but their pretty!


The Mandelbrot Set: Compact?

March 28, 2010

Several weeks ago, I read something on Wikipedia that shocked me: “The Mandelbrot set is a compact set.

At first I didn’t believe it. How could the Mandelbrot set, in its infinite complexity, be compact? (more…)

Why are there mini sets in the Mandelbrot Set?

March 10, 2010

One of the most interesting properties of the Mandelbrot Set is that we can find what appear to be miniature Julia Sets and mini Mandelbrot Sets.

It’s easier to look at a different question first: why is it that the Julia sets associated with a point on a Mandelbrot set tend to be similar to that region of the Mandelbrot set?

Consider the functions that create them:

Julia: \lim_{n\to\infty}(z\to z^2+k)^n(x)

Mandelbrot: \lim_{n\to\infty}(z\to z^2+x)^n(x)

And the question is: why is the region of the Mandelbrot set around a point x similar to a the Julia set where k=x?

It’s obvious that at that point, the two functions are the same, but, given that we’re studying chaos it seems odd that the slight variations in the region around it wouldn’t produce a totally different appearance.

There are a couple ways to approach this problem. The first is to note that this isn’t, at the vary least, necessarily true as demonstrated by the following experiment. I constructed a sequence of fractals formed by the function \lim_{n\to\infty} (z\to z^2 +0.3 +x/m)^n(x) where I varied m from one to a hundred along the integers:

(You may need to click to see the animation!)

(Images created with gnofract4d and animated with imagemaick.)

That only goes to dividing by a hundred, but the influence is pretty negligible at the end. I could divide by more until the influence was arbitrarily negligible.

The second way of looking at this is that Julia sets of similar k values tend to be similar and therefore the associated region of the Mandelbrot set is similar.

Finally, we can look at the fact that the Mandelbrot set is T_2 and thus, provided a point is not right on the edge of a sudden change, we can construct a set containing it and no the change (ie. select an arbitrarily small neighbourhood such that the change is negligible, as said previously).

The “mini-Julia sets” form when we get a miniature, often deformed, plane (let’s dub it a microplane, because making up terms is fun!). The microplane will have a root of the Mandelbrot set in its center.

If the microplane is small enough, it may be contained in one of the previously described neighbourhoods in which the iterated function is essentially a Julia function and thus form what appears to be a Julia set, though it is different in some respects (eg. connected, joined to the Mandelbrot, et cetera).

But the really odd things are the “mni Mandelbrot Sets”. What is going on with them?

I don’t really have a satisfactory answer. I do have a few observations, however:

Firstly, these `mini Mandelbrot Sets’ are quite different from the Mandelbrot Set. They seem to form on roots. They seem to have bulb-like Julia sets around them…

Here’s a visualisation of the formation of one:

It’s completely different from the formation of the Mandelbrot Set!

Finally, I’d like to put forward a theory: there is a natural propensity for an iterated function to form self-similarity.

Gamma Fractals

February 12, 2010

There doesn’t seem to have been much done in the way of studying fractals of iterated functions involving gamma. At least nothing that I could find.

So I started playing around with it. It’s a bit difficult to work with as sage (4.3.2) keeps crashing when I try to plot it (try to run complex_plot(gamma(gamma(x)), [-10,10], [-10,10]) or complex_plot(gamma(gamma(gamma(x))), [-5,5], [-5,5]) ), but I still got some pictures…


Gamma Function

Fractals with non-Integer powers

February 11, 2010

I mess around with fractals a lot, and sometimes stumble on some interesting things. Recently I came across some odd jagged/discontinuous fractals:

This tends to happen in fractals as soon as I involved non-Integer powers.

Why is this happening? To understand this, we need to look at some basic complex analysis.

Recall that a complex number can be interpreted as a vector like (real, imaginary). But we can also think if a vector in terms of direction and magnitude. For our purposes, we will think of vectors as a magnitude and an angle from the positive portion of the real number line (sometimes called the `argument,’ we will just call it the angle).

Complex numbers have the interesting property that when we multiply them their magnitudes multiply like normal numbers but their angles add. For example, -1 has an angle of \pi so when we multiply two of them we end up with a magnitude of 1 and an angle of 2\pi and thus 1.

When we raise a value to a real power, the angle is multiplied by that value. We can visualise this as:

z \to z^2

It’s fairly clear that for the inverse, for any value, there are two valid answers.

z^2\to z

We can also look at it with an alternative visualisation I just cooked up:

Notice that the angle of the ray of discontinuity is arbitrary, but its existence is inevitable.

(For more on complex analysis, I recommend Visual Complex Analysis by Tristan Needham (Google Books, Amazon). It’s awesome!)

(Sage users: Here is a generalised version of the function I used to make the above image. It takes a value n and returns a visualisation of the nth root:

def root_visualize(n):
 for j in range(n*8):
 l.append(complex_plot(lambda x: (x*exp(-sqrt(-1)*j*pi/4))^(1/n)*exp(sqrt(-1)*j*pi/n/4),[-5,5],[-5,5]))
 print j
 return animate(l)

Be warned: it is slow)

Now, notice that z^{1.5} is the same as z\sqrt{z}. Thus, it has the same discontinuity. That seems like a reasonable answer to “why is this so jagged?”

But it leads to some interesting questions. The intuitive reaction is (for me at least): part of the fractal is missing. You’re cutting apart the nice, smooth mutlifunction and thus are only seeing part of the fractal. Well, at n iterations there 2^n possible ways to have cut this hypothetical super-fractal (as I will refer to it).

Let’s look at the Julia super-fractal of z\to \pm z^{1.5}+0.3 for four iterations…

If you stare at all the possibilities of the forming set you will notice some patterns and what look like reciprocals and other patterns. One may intuitively wish to add them to extract a single fractal, but this isn’t possible since they’d cancel… Perhaps adding the absolute values?

(For more on the formation of fractals, see my previous post.)

Of course, one really should look at a larger number of iterations than I am. There is the small problem of this being O(n*2^n), but it should be easy to parallelize…

So that’s the extent that I’ve explored this to so far. I’d be thrilled to get some feedback. Do you have any thoughts about this? Know of similar things that have been studied? (I’ve never formally studied Chaos Theory and suspect I have lots of holes in my knowledge. Reminder to self: take/audit course on chaos theory next year…)

Fractal Christmas Cards and More

January 4, 2010

For Christmas, I was handing out fractal Christmas Cards (they had images made in gnofract4d with the equation beneath… I gave my mom a handbound book with pictures of fractals made in sage in it since I didn’t get the latest revision of the math textbook done in time to get that). Thus, I made many fractals. At the end, I noticed something.

First I’ll make a (IMHO, reasonable) conjecture:

\forall n \in \mathbb{R}, n > 2; k \in \{x|x\in \mathbb{C}; \lim_{N\to\infty} (z\to z^n+x)^N(x) \neq \pm \infty\}


\{x|x\in \mathbb{C}; \lim_{N\to\infty} (z\to z^n+k)^N(x) \neq \pm \infty\} \in \{\text{connected}\}

Now, it’s often interesting to look at julia sets when they fracture, thus they make good pictures. And it is easy to find the point of fracture on the positive real number line.

The (z\to z^n+x)-orbits of these points exhibit a rather simple behaviour: z converges to a value that satisfies z=z^n+x if it is possible.

So we want to find the maximum value of z-z^n (ie. M\cdot (z\to z-z^n)^{\to}(\mathbb{R}^+) where M is the supreumum).

This is trivial to find: z|_{\frac{d}{dz}z-z^n=0}=\sqrt[n-1]{\frac{1}{n}} and if we plug that into z-z^n we get \sqrt[n-1]{\frac{1}{n}} -(\sqrt[n-1]{\frac{1}{n}})^n

Formation of Escape-Time Fractals

December 19, 2009

We’ve all seen images of escape-time fractals. But have you ever wondered how they form? I was playing around with sage‘s complex_plot function and got some interesting images…

For reference, here is the identity function (notice that it is also the zeroth iteration: f^0(x)=x).

Identity Function

Mandelbrot Set Example

Recall that the definition of the Mandelbrot set is \left\{x|x\in \mathbb{C}; \lim_{n\to\infty}(z\to z^2+x)^n(x)\neq\pm\infty\right\}. (If this is notation confuses you, you may wish to refer to my previous post on anonymous functions.)

Iteration 1

(z\to z^2+x)^1(x) (equivalent to x^2+x)

Iteration 2

Iteration 2

(z\to z^2+x)^2(x) (equivalent to (x^2+x)^2+x)

Iteration 3

(z\to z^2+x)^3(x) (equivalent to ((x^2+x)^2+x)^2+x)

Iteration 4

Iteration 4

(z\to z^2+x)^4(x) (equivalent to (((x^2+x)^2+x)^2+x)^2+x)

Iteration 5

Iteration 5

(z\to z^2+x)^5(x) (equivalent to ((((x^2+x)^2+x)^2+x)^2+x)^2+x)
Iteration 6

Iteration 6

(z\to z^2+x)^6(x) (equivalent to (((((x^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)
Iteration 7

Iteration 7

(z\to z^2+x)^7(x) (equivalent to ((((((x^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)
Iteration 8

Iteration 8

(z\to z^2+x)^8(x) (equivalent to (((((((x^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)
Iteration 9

Iteration 9

(z\to z^2+x)^9(x) (equivalent to ((((((((x^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)

Iteration 10

Iteration 10

(z\to z^2+x)^10(x) (equivalent to (((((((((x^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)^2+x)+x)

Julia Set of 0.3 Example

We can do this with other fractals. Recall that the Julia Set of 0.3 is defined as \left\{x|x\in \mathbb{C}; \lim_{n\to\infty}(z\to z^2+0.3)^n(x)\neq\pm\infty\right\}.
Iteration 1 of the Julias Set of 0.3

Iteration 1 of the Julias Set of 0.3

(z\to z^2+0.3)^1(x)  (equivalent to x^2+0.3)
Iteration 2 of the Julia Set of 0.3

Iteration 2 of the Julia Set of 0.3

(z\to z^2+0.3)^2(x)  (equivalent to (x^2+0.3)^2+0.3)
Iteration 3 of the Julia Set of 0.3

Iteration 3 of the Julia Set of 0.3

(z\to z^2+0.3)^3(x)  (equivalent to ((x^2+0.3)^2+0.3)^2+0.3)
Iteration 4 of the Julia Set of 0.3

Iteration 4 of the Julia Set of 0.3

(z\to z^2+0.3)^4(x)  (equivalent to (((x^2+0.3)^2+0.3)^2+0.3)^2+0.3)
And so on…
Here is a far more developed and higher resolution image of the Julia set of 0.3.I don’t know what the red is.
Julia Set of 0.3

Complex plot of the Julia Set of 0.3

Here is a animation of the transition of generalised Mandelbrot set from the power of -4 to 4, inspired by this Youtube video:
Generalized Mandlebrot from the power of -4 to 4

Generalized Mandlebrot from the power of -4 to 4

Update 2:

Here are animations of the forming Mandlebrot set and Julia set respectivly:

Formation of the Mandlebrot Set

Formation of the Mandlebrot Set

The Formation of the Julia Set

The Formation of the Julia Set