# Interior Point

The interior point bb at internal angle θ\theta measured in turns and internal radius r[0,1]r \in [0,1] within a hyperbolic component of period pp satisfies:

Fp(w,b)=wzFp(w,b)=re2πiθ=t\begin{aligned} F^p(w,b) &= w \\ \frac{\partial}{\partial z}F^p(w,b) &= r e^{2 \pi i \theta} = t \end{aligned}

Applying Newton’s method in two complex variables:

(zFp(wm,bm)1cFp(wm,bm)zzFp(wm,bm)czFp(wm,bm))(wm+1wmbm+1bm)=(Fp(wm,bm)wmzFp(wm,bm)t)\begin{split} \left(\begin{matrix} \frac{\partial}{\partial z}F^p(w_m,b_m) - 1 & \frac{\partial}{\partial c}F^p(w_m,b_m) \\ \frac{\partial}{\partial z}\frac{\partial}{\partial z}F^p(w_m,b_m) & \frac{\partial}{\partial c}\frac{\partial}{\partial z}F^p(w_m,b_m) \end{matrix}\right)\left(\begin{matrix} w_{m+1} - w_m \\ b_{m+1} - b_m\end{matrix}\right) \\ = -\left(\begin{matrix} F^p(w_m,b_m) - w_m \\ \frac{\partial}{\partial z}F^p(w_m,b_m) - t \end{matrix}\right) \end{split}

# 1 C99 Code

#include <complex.h>

void m_interior_point
( double _Complex *z_out, double _Complex *c_out
, double _Complex z0, double _Complex c0
, double _Complex t, int p, int n
)
{
    double _Complex cc = c0;
    double _Complex zz = z0;
    for (int m = 0; m < n; ++m)
    {
        double _Complex c = cc;
        double _Complex z = zz;
        double _Complex dz = 1;
        double _Complex dc = 0;
        double _Complex dzdz = 0;
        double _Complex dcdz = 0;
        for (int i = 0; i < p; ++i)
        {
            dcdz = 2 * (z * dcdz + dc * dz);
            dzdz = 2 * (z * dzdz + dz * dz);
            dc = 2 * z * dc + 1;
            dz = 2 * z * dz;
            z = z * z + c;
        }
        double _Complex det =
            (dz - 1) * dcdz - dc * dzdz;
        cc = cc - ((dz - 1) * (dz - t)
            - dzdz * (z - zz)) / det;
        zz = zz - (dcdz * (z - zz)
            - dc * (dz - t)) / det;
    }
    *z_out = zz;
    *c_out = cc;
}

# 2 Examples

r=1r = 1, θ=13\theta = \frac{1}{3}, p=1p = 1 w0=0b0=0w1=0.24999999999999989+0.43301270189221935ib1=0.24999999999999989+0.43301270189221935iw2=0.24999999999999989+0.43301270189221935ib2=0.12499999999999978+0.64951905283832900i\begin{aligned} w_0 &= 0 \\ b_0 &= 0 \\ w_1 &= -0.24999999999999989 + 0.43301270189221935 i \\ b_1 &= -0.24999999999999989 + 0.43301270189221935 i \\ w_2 &= -0.24999999999999989 + 0.43301270189221935 i \\ b_2 &= -0.12499999999999978 + 0.64951905283832900 i \end{aligned}