# # Interior Point

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

\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:

$\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 = 1$$, $$\theta = \frac{1}{3}$$, $$p = 1$$ \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}