# Size Estimate

MSet e-notes “Windows of periodicity scaling” (2013) presents a method to estimate the size of a hyperbolic component:

Under iterations the critical orbit of period \(p\) consecutively cycles through \(p\) narrow intervals \(S_1 \to S_2 \to \ldots \to S_1\) each of width \(s_j\) (we choose \(S_1\) to include the critical point \(z = 0\)). We expand \(F^p(z, c)\) for small \(z\) (in the narrow central interval \(S_1\)) and \(c\) near its value \(c_0\) at superstability of period-\(p\) attracting orbit. We see that the \(s_j\) are small and the map in the intervals \(S_2, S_3, \ldots S_n\) may be regarded as approximately linear; the full quadratic map must be retained for the central interval. One thus obtains \[z_{n+p} \approx L_p (z_n^2 + b (c - c_0))\] where \(L_p = l_2 l_3 \ldots l_p\) is the product of the map slopes, \(l_n = 2 z_n\) in \(p-1\) noncentral intervals and \(b = 1 + l_2^{-1} + (l_2 l_3)^{-1} + ... + L_n^{-1}\). We take \(L_n\) at \(c = c_0\) and treat it as a constant in narrow window. Introducing \(Z = L_n z\) and \(C = b L_n^2 (c - c_0)\) we get quadratic map \(Z_{n+p} = Z_n^2 + C\). Therefore the window width scales like \((b L_n^2)^{-1}\).

Note that the \(p-1\) values of \(z\) are all non-zero.

# 1 C99 Code

#include <complex.h>

double _Complex m_size_estimate
    (double _Complex c, int p)
{
    double _Complex b = 1;
    double _Complex l = 1;
    double _Complex z = 0;
    for (int i = 1; i < p; ++i)
    {
        z = z * z + c;
        l = 2 * z * l;
        b = b + 1 / l;
    }
    return 1 / (b * l * l);
}

# 2 Examples

Cardioid \(c = 0\), \(p = 1\): \[|s| = 1\]

Circle \(c = -1\), \(p = 2\): \[|s| = \frac{1}{2}\]

Cardioid \(c = -1.7548776662466927\), \(p = 3\): \[|s| = 0.019035515913132451\]

Cardioid \(c = -0.15652016683375508 + 1.0322471089228318 i\), \(p = 4\): \[\begin{aligned} |s| &= 0.0084828587005172946 \\ \arg s &= -0.61719885061563229 \end{aligned}\]