Computing a Julia set

In Ermentrout's book he computes the Julia set for $z \mapsto z^2 + c$ by starting with a point inside the unit circle and then randomly choosing iterates $z\mapsto \pm\sqrt{z-c}$. Since the Julia set is the separatrix between the fixed points at the origin and the one at infinity, how does this procedure compute the Julia set? I'm clueless about symbolic dynamics and can't see how this procedure could possibly work. Thanks in advance and hope you can shed some light on this.

To give some motivation for why this procedure might work, consider the following statement:

Suppose that $c\neq 0$ (since otherwise you already know the Julia set is the unit circle in $\mathbb{C}$). Then for any point $w\in \mathbb{C}$, the preimage sets $f^{-n}(w)$ for $n\geq 1$ cluster at every point of the Julia set.

Proof: Let $z_0$ be a point in the Julia set. Then proving that the sets $f^{-n}(w)$ cluster at $z_0$ is equivalent to proving that for every neighborhood $U$ of $z_0$, there is an $n$ such that $w\in f^n(U)$. So fix a neighborhood $U$ of $z_0$ in $\mathbb{C}$. Because $z_0$ is in the Julia set, you know by definition that the family of iterates $\{f^n|_U : U\to \mathbb{P}^1(\mathbb{C})\}$ is not equicontinuous. Now recall Montel's theorem, which says that if there are three distinct points of $\mathbb{P}^1(\mathbb{C})$ that don't lie in the image of any of the maps $f^n|_U\colon U\to \mathbb{P}^1(\mathbb{C})$, then the family is necessarily equicontinuous. Thus, by Montel, we know that at most two points of $\mathbb{P}^1(\mathbb{C})$ don't lie in the image of any $f^n|_U$. Of course, $\infty$ is one such point, since our map $f$ is a polynomial. That means there can be at most one other such point $\zeta\in \mathbb{C}$. But then if $\zeta$ exists, it must satisfy $f^{-1}(\zeta) = \{\zeta\}$. In particular, $\zeta$ must be critical, i.e., $\zeta = 0$. But then $\zeta = 0$ is a fixed point, which says exactly that $c = 0$. Since we assume $c\neq 0$, we can conclude that there is no such $\zeta$. This proves $\bigcup_{n\geq 0}f^n(U) = \mathbb{C}$, and in particular there is an $n$ such that $w\in f^n(U)$. QED.

From your description, it sounds like the procedure being used to compute the Julia set is the following:

1. Pick a random point $w\in \mathbb{C}$.
2. Choose a random preimage $w_1$ of $w$.
3. Choose a random preimage $w_2$ of $w_1$.
4. Continue, constructing a sequence $w_n$ such that $f(w_n) = w_{n-1}$ for each $n$.
5. Pray that this sequence clusters everywhere along the Julia set, giving you a way to compute it.

Of course, what was proved above doesn't say that the specific sequence $w_n$ will cluster along the Julia set, so it isn't a proof the procedure works. But in practice it will. There are some more high-powered theorems than the one above that guarantee that. The first such theorem (which applies in this setting) was proved by Hans Brolin in his Ph.D. thesis in the '60s:

Theorem (Brolin): Again, assume $c\neq 0$. Then there is a probability measure $\mu$ whose support is the Julia set with the property that for any point $w\in \mathbb{C}$, the preimage sets $f^{-n}(w)$ equidistribute to $\mu$.

As a consequence of this theorem, if you choose the sequence $w_i$ above truly randomly, it should cluster along every point of the Julia set (though it might cluster at some points of the Julia set more often than others....).

I should also point out, as far as procedures for computing the Julia set of quadratic polynomials go, this one is not very good. There are some well-established potential-theoretic methods that are not difficult and produce really great pictures. See this page for discussion of these methods.

1. Julia set is the closure of the set of repelling periodic points of a function f(z) = z^2 +c .
2. repelling points of f are attracting points of it's inverse function f^{-1}(z) = Sqrt(z-c)

so inverse ( backward ) orbit "allways" fall into Julia set