In Renormalizing the Mandelbrot Escape, Linas Vepstas derives the normalized (smooth, continuous) escape-time formula for the exterior of the Mandelbrot set. On the page is also written:

Iterating Different Equations The above formulas apply only to the Mandelbrot iterate. Other iterates require modified equations. The corresponding results are easy to get. If the iterated equation is of the form $$Z_n = Z_{n-1} ^ p + O(Z_{n-1}^{p-1})$$ where $p$ is the highest power of $Z$ occurring in the iterated equation, then $$\mu = n + 1 - \frac{\log (\log |Z_n|)}{\log p}$$

where $|Z_n| \ge R \gt |Z_{n-1}|$ for $R$ a sufficiently large escape radius.

I am interested in "hybrid" formulas, where (for example) the formula alternates between $z \to z^2 + c$ and $z \to z^3 + c$ at each iteration step (so the two-step iteration formula is $z \to (z^2+c)^3+c$). Here the power $p$ for use in the formula for $\mu$ must be somewhere between $2$ and $3$, but I'm not sure how to reach the exact value. The power for the two-step formula is $6$, I suspect the average might be $\sqrt{6} \approx 2.45$ but I'm not sure how to justify it.

Question: given a hybrid of $m$ formulae whose large-$z$ behaviour approximate $z \to z^{p_k}$ for $2 \le p_k \in \mathbb{N}$, what is the correct way to take an average power $p=f_p(p_1, p_2, \ldots, p_m)$ for use in the formula for $\mu$?


1 Answer 1


Suppose that instead of alternating, that instead, you just took the two-steps, and counted that as a single-step. Then, in this example, $p=6$, as you point out. For the purpose of counting until you escape, its sufficient to iterate the two-steps, and count those -- you get the same results as counting alternating single-steps, except that your count is half as large. And that gives you the clue to the desired answer: if the two-step count gives

$$\mu_{twostep}=n_{twostep}−\frac{\log(\log|Z_n|)}{\log 6}$$

then the single-step count must be twice this:

$$\mu_{altstep}=n_{altstep}−2\frac{\log(\log|Z_n|)}{\log 6}$$

since, in general, either $n_{altstep} = 2n_{twostep}$ or $n_{altstep} = 2n_{twostep}+1$ -- and, for large counts, the extra 1 should not matter: it disappears as long as the escape radius is large. And you may as well take the escape radius to be large: a few billion, or even 1e20 - the extra steps taken to get to this radius cost a very small amount of extra cpu time (a few percent, typically), especially for deep zooms.

The other way to look at this is that you replaced $\log p$ by $\frac{\log p}{2}$ .. but well, golly:

$$\frac{\log p}{2} = \log\sqrt p$$

so your guess was right, and that is the reason that it works. In general: $\log p^a = a\log p$.

For the general case, take $p=p_1+p_2+\cdots+p_m$ and count m-steps. Alternately count single-steps, and use $p_{single}=p^{1/m}$

I'm assuming that you always rigorously alternate every step. If not: if you only alternate sometimes, then you will have to keep track of a running average. The "obvious" way to count would then be to "cnt += p_k" if you took the k'th alternate, and adjust accordingly.

  • $\begingroup$ I found that a per-pixel running average method gave discontinuities/seams between iteration bands with some colouring methods; using a per-image power worked better. $\endgroup$
    – Claude
    May 28, 2020 at 3:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .