# Is there an efficient way to visualize the bifurcation locus of this family of functions?

I have been trying to help out with this question from math.stackexchange. It concerns the family of functions:

$$f_\alpha(z,w) = \frac{\alpha + z}{1 + w}.$$

and an iteration scheme:

$$z_{n+1} = f_\alpha(z_n, z_{n - 1}).$$

If I fix any parameter $\alpha$ (and, arbitrarily, set $z_0$ equal to $0$) then I can iterate starting from any point $z_1$ and look for cycles. This procedure yields Julia sets, or at least something very similar. I'm not sure what the correct name is in this context. For those running modern WebKit based browsers, here is an OpenGL Shading Language program for exploring the Julia sets of $f_\alpha$. Dragging the mouse changes the parameter.

I would like to get a look at the parameter space. My question is:

What is the correct way to visualize the bifurcation locus of the family $f_\alpha$?

The technique that I suggested in my answer to the other question is to render a Julia set for every parameter $\alpha$ and to render a second Julia set for a perturbed parameter $\alpha + \epsilon$, and then to measure the average color change per pixel, to approximate the stability or instability of the Julia set for that parameter.

The technique does work, but it has at least two very serious shortcomings:

• It is extremely slow.
• It yields muddy, unsatisfying renderings of the bifurcation locus.

Here is the bifurcation locus of $f_\alpha$, rendered by directly comparing Julia sets on a GPU (and even on dedicated graphics hardware I had to constrain the comparison region to keep the running time down). The bounding box runs from $-2$ to $+2$ on both the real and imaginary axes.

To demonstrate that the procedure is doing something reasonable here is the result for the family of quadratics $z\to z^2 + \alpha$.

I think the "usual" strategy is to identify the critical points of $f_\alpha$ and to iterate those points, then to color $\alpha$ according to the long term behavior of the critical points under iteration, but it isn't clear to me how to apply that strategy for this family, or even if that is a valid strategy for this type of multi-variable iteration scheme.

For example, both partial derivatives blow up when $w = -1$ and both partial derivatives are equal to zero when $w = \infty$, but iteration starting from $(z_0, z_1) = (0, -1)$ leads to a cycle between $(0, \infty)$ and $(\infty, 0)$, and starting from $(z_0, z_1) = (0, \infty)$ obviously leads to the same cycle. The parameter has no effect in either case.

Update: I was able to get some cleaner images by revising the algorithm slightly. The basic idea is the same, to directly compare colors in a rendering of the Julia set for $\alpha$ with colors (at the same points) in a rendering of the Julia set for a perturbed parameter, but now colors are compared for several perturbed parameters in a small neighborhood around $\alpha$. The resulting renderings show much better detail, but the additional Julia set color calculations exacerbate the algorithm's speed issues.

Update 2: I guess it's worth noting that I can produce a visualization of a set whose boundary is the bifurcation locus of the family $f_\alpha$, by iterating $(z_0, z_1) = (-\alpha, 0)$ or by iterating $(z_0, z_1) = (0, -\alpha)$ and looking for cycles. The "justification" for iterating starting at $(-\alpha, 0)$ is that one (but not the other) partial derivatives is zero at $(-\alpha, 0)$ so maybe it's "sort of like a critical point." The justification for iterating starting at $(0, -\alpha)$ is that I made a typo and noticed that I got the same picture anyway… I feel I'm missing something obvious.

To be precise, by computational experiments I have convinced myself that if $S$ is the set of parameters, $\alpha$, such that $(-\alpha, 0)$ is attracted to a cycle under iteration of $f_\alpha$, then $\partial S$ is the bifurcation locus of $f_\alpha$. I have no satisfying mathematical justification for this observation. In the following image the brightness of a point indicates the speed of convergence of $(-\alpha, 0)$ on a cycle. Brighter pixels indicate faster convergence (though I do not think there is much shading visible in the image).

• It might be useful to consider the Julia set of the 2-dimensional dynamical system given by $(z,w)\mapsto (f_\alpha(z,w),z)$. – Adam Epstein Dec 17 '14 at 12:39
• @AdamEpstein I believe that is the system I'm considering. The images I linked at the top of the question are produced by choosing a fixed $\alpha$ and iterating $(z,w)\to (f_\alpha(z,w), z)$ looking for cycles in the two dimensional system. I (arbitrarily) set $z_0 = 0$ so I could map any given pixel to a starting point $(0, w)$, but the iterative function is exactly as you describe. – Aaron Golden Jan 7 '15 at 4:22