Mandelbrot Inner Estimation

Mandelbrot Images generated with “optimized_Fractal_inner_estimate.py”
r(N)r(N) calculated with “rN_List.py”

Introduction

The Mandelbrot set M0M_0 is the set of complex numbers such that for f(z,c)=z2+cf(z,c)=z^2+c the sequence z0(c)=f(0,c),z1(c)=f(f(0,c),c),,zk(c)=f(zk1,c),z_0(c)=f(0,c),z_1(c)=f(f(0,c),c),\dots,z_k(c)=f(z_{k-1},c),\dots doesn’t diverge to infinity.
A starting value cc is not in M0M_0 if |zk(c)|>2|z_k(c)|>2 for some k0k\in \mathbb N_0.
When approximating this set using a computer, we give each Pixel a coordinate in the complex numbers and calculate the sequence up to some Iteration NN and look at all numbers cc such that k0\forall k\in \mathbb{N}_0 we have |zk(c)|2|z_k(c)|\le 2.

Since |zk(c)|>2|zk+1(c)|>2|z_k(c)|>2\Rightarrow|z_{k+1}(c)|>2 it suffices to discard any points cc at iteration 0nN0\le n\le N for which |zn(c)|>2|z_n(c)|>2 holds.
Therefore the following definitions are justified:

M0={c:k0 |zk(c)|2} and M0(N)={c:k[N]0 |zk(c)|2}M_0=\{c\in\mathbb{C}:\forall k\in\mathbb{N}_0\ |z_k(c)|\le 2\} \text{ and } M_0(N)=\{c\in\mathbb{C}:\forall k\in[N]_0\ |z_k(c)|\le 2\}

where M0M0(N+1)M0(N)B2(0)M_0\subset M_0(N+1)\subset M_0(N)\subseteq \overline{B}_2(0).


We know, that M0M_0 is compact and connected (Douady and Hubbard, or Topological proof by Jeremy Kahn), and simply connected. We here assume that M0(N)M_0(N) is also compact, connected (which follows from the proof of Jeremy Kahn) and simply connected.
For our (bad) Optimization on finding points inside the set we define

RN:=RNM0:={r>0:c Br(c)M0(N)cM0}R_N:=R_N^{M_0}:=\{r>0:\forall c\in\mathbb{C}\ \overline{B}_r(c)\subset M_0(N)\Rightarrow c\in M_0\}

and r(N):=rM0(N):=infRNr(N):=r^{M_0}(N):=\inf R_N. We note, that N0\forall N\in\mathbb N_0 we get 0<r(N)20<r(N)\le 2
If r(N)=0r(N)=0 for some NN, then M0(N)=M0M_0(N)=M_0. For a variable xx zk(x)z_k(x) is a Polynomial and therefore holomorphic (and continuous).

Lemma 1.
M0M0M0(N+1)M0(N)B2(0)\partial M_0 \subset M_0\subsetneq M_0(N+1)\subsetneq M_0(N)\subseteq \overline{B}_2(0)

Proof.
We know {zk(c):k[N]}{zk(c):k[N+1]}zk(c):k0\{z_k(c):k\in [N]\}\subset \{z_k(c):k\in [N+1]\}\subset {z_k(c):k\in \mathbb N_0} and M0(0)=B2(0)M_{0}(0)=\overline{B}_2(0).

M0M0\partial M_{0}\subset M_{0} follows from M0M_{0} being compact.

Now, to show that M0(N+1)M0(N)M_0(N+1)\subsetneq M_0(N), we can construct a sequence of points such that xkM0(k)xk∉M0(k+1)x_k\in M_0(k)\land x_k\not\in M_0(k+1) as follows:
We use the fact that since zk(x)z_k(x) is a polynomial, so holomorphic it is continuous and therefore for every iteration and any point x1M0+x_1\in M_0\cap\mathbb R_+, for example 0 or 0.5 and x2∉M0+x_2\not\in M_0\cap\mathbb R_+, for example 4, we have some point y[x1,x2]y\in [x_1,x_2] such that |zk(y)|=zk(y)=2|z_k(y)|=z_k(y)=2.
Now since |y|>0|y|>0 we get, that zk+1(y)=zk(y)2+y=4+y>2z_{k+1}(y)=z_k(y)^2+y=4+y>2, so yM0(k)y\in M_0(k) and y∉M0(k+1)y\not\in M_0(k+1)\square

Lemma 2. Let N0N\in\mathbb N_0, then RNR_N\ne\emptyset

Proof. Let r>2r>2 and cc\in \mathbb C, then Br(c)(B2(0)c)B_r(c)\cap (\overline{B}_2(0)^c)\ne \emptyset, because else Br(c)B2(0)B_r(c)\subseteq \overline{B}_2(0).
Therefore Br(c)⊄M0(N)B_r(c)\not\subset M_0(N), so (Br(c)M0(N)cM0)(B_r(c)\subset M_0(N)\Rightarrow c\in M_0) holds trivially.  \square

This also shows, that r(N)r(N) is well-defined and 0r(N)20\le r(N)\le 2

Lemma 3. M0(N)M0(N+1)=2\partial M_0(N)\cap\partial M_0(N+1)={-2}

Proof. Let c:=rceiφcM0(N)M0(N+1)c:=r_c e^{i\varphi_c}\in \partial M_0(N)\cap \partial M_0(N+1) and zk(c):=reiφz_k(c):= re^{i\varphi}.
So |zk(c)|=r=2=|zk+1(c)|=|zk(c)2+c|=|r2eiφ+rceiφc|=|4eiφ+rceiφc|4rc|z_k(c)|=r=2=|z_{k+1}(c)|=|z_k(c)^2+c|=|r^2e^{i\varphi}+r_ce^{i\varphi_c}|=|4e^{i\varphi}+r_ce^{i\varphi_c}|\ge 4-r_c.
And therefore rc=2r_c=2. Since cM0(N)c\in M_0(N) N[k+1]\forall N\in [k+1], so cM0(1)c\in M_0(1) we get c=2c=-2

2=|c2+c|=|rc2ei2φc+rceiφc|=|4(cos(2φc)+isin(2φ)+2(cos(φ)+isin(φ)|2=|c^2+c|=|r_c^2 e^{i2\varphi_c}+r_c e^{i\varphi_c}|=|4 (\cos(2\varphi_c)+i\sin(2\varphi) +2 (\cos(\varphi) + i\sin(\varphi)|
4=4(2cos(2φc)+cos(φc))2+4(2sin(2φc)+sin(φc))2=16cos(φc)+20\iff 4 = 4(2\cos(2\varphi_c) + \cos(\varphi_c))^2+4(2\sin(2\varphi_c) + \sin(\varphi_c))^2=16\cos(\varphi_c)+20
1=cos(φc)φc=2kπ+π:kc=2    \iff -1=\cos(\varphi_c)\iff \varphi_c=2k\pi+\pi: k\in\mathbb Z \iff c=-2\ \ \ \ ◻

Lemma 4. Let N0N\in\mathbb N_0, then M0(N)M0M_0(N)\setminus M_0\ne \emptyset

Proof. Assume M0(N)M0=M_0(N)\setminus M_0 = \emptyset, then M0M0(N+1)M0(N)M0M_0\subseteq M_0(N+1)\subseteq M_0(N)\subseteq M_0, which is a contradiction to M0(N)M0(N+1)=2\partial M_0(N)\cap\partial M_0(N+1)={-2}\square

Lemma 5. Let N0N\in\mathbb N_0, then 0<r(N)0<r(N)

Proof. Assume r(N)=0r(N)=0 for some NN, we want to show M0(N)M0(N+1){2}\partial M_0(N)\cap \partial M_0(N+1)\supsetneq \{-2\} which is a contradiction.
By definition r>0, cM0(N): Br(c)M0(N)cM0\forall r>0,\ c\in M_0(N):\ \overline{B}_r(c)\subset M_0(N)\Rightarrow c\in M_0.
So cM0(N)M0, r>0\forall c\in M_0(N)\setminus M_0,\ r>0 we know, that Br(c)⊄M0(N)\overline{B}_r(c)\not\subset M_0(N), so cM0(N)c\in \partial M_0(N).
So M0(N)M0M0(N)M_0(N)\setminus M_0 \subset \partial M_0(N).
Let zM0(N+1)M0z\in M_0(N+1)\setminus M_0\ne \emptyset, then zM0(N+1)M0(N+1)M0(N)z\in \partial M_0(N+1)\subset M_0(N+1)\subset M_0(N), so zM0(N)M0M0(N)z\in M_0(N)\setminus M_0\subset \partial M_0(N), so zM0(N)M0(N+1)z\in \partial M_0(N)\cap \partial M_0(N+1), but z2z\ne -2 which is a contradiction to the boundaries only intersecting in 2-2\square

Lemma 6. Let N0N\in\mathbb N_0, then r(N)>r(N+1)r(N)>r(N+1)

Proof. r(N)r(N+1)r(N)\ge r(N+1) as M0(N)M0(N+1)M_0(N)\supset M_0(N+1).
Assume r(N)=r(N+1)r(N)=r(N+1), we want to show r(N)=0r(N)=0 which is a contradiction.
Then there is a cM0c\in \partial M_0 such that B:=Br(N)(c)M0(N+1)B:=\overline{B}_{r(N)}(c)\subset M_0(N+1) and zM0(N+1)B\exists z\in \partial M_0(N+1)\cap B with BM0(N)B\subset M_0(N) and zM0(N)Bz\in \partial M_0(N)\cap B.
We get, that zM0(N+1)M0(N)z\in \partial M_0(N+1)\cap \partial M_0(N), so z=2z=-2 and therefore r(N)=0r(N)=0, which is a contradiction to r(N)>0r(N)>0\square

Lemma 7. r(N)N0r(N)\overset{N\to\infty}{\longrightarrow}0

Proof. Since r(N)r(N) is strictly decreasing and at least 00, we know, that it must converge.
Assume there is some ε>0\varepsilon>0 such that R(N)εR(N)\to \varepsilon, so R(N)>εR(N)>\varepsilon for all N0N\in\mathbb N_0.
Then there exists some cM0cc\in M_0^c such that d(c,M0)=εd(c,M_0)=\varepsilon and cM0(N)c\in M_0(N) for all N0N\in\mathbb N_0, which is a contradiction. \square

Conjecture 8. Let N0N\in \mathbb N_0, then 0.75cM0:Br(N)(c)M0(N)-0.75\in {c\in \partial M_0: \overline{B}_{r(N)}(c)\subset M_0(N)}

The goal of this project is to find upper and lower bounds for r(N)r(N).
Upper bounds are useful, because with them, we know, that any point that hasn’t escaped at iteration N is within at most r(N)r(N) distance from M0M_0, and assuming infinite Resolution, we can take any point inside M0(N)M_0(N) with a distance to M0(N)\partial M_0(N) of at least r(N)r(N) (or at least our upper bound) and know they are in the set M0M_0, therefore leaving them out of any further computing. Of course we do not have infinite Resolution, but it still gives us a good approximation and optimization. (Which is worse then border tracing, as border tracing doesn’t check any points of M0M_0 apart from the border)

Conjecture 9. For N12N\ge 12 it holds, that 3Nr(N)πN\frac{3}{N}\le r(N)\le \frac{\pi}{N}
a more precice, though still rough upper bound would be:

r(N)rupp(N):=11+Nπ0.02623f(N) where f(N):={2.14NN1mod2 1.402NN0mod2r(N)\le r^\text{upp} (N):=\frac{1}{\frac{1+N}{\pi} – 0.02623 – f(N)} \text{ where } f(N):=\begin{cases} \frac{2.14}{N} & N\equiv 1 \mod2\ \frac{1.402}{N} & N\equiv 0 \mod 2 \end{cases}

While trying to prove the theorems, and optimizing the code, I encountered the following equivalent formulations/characterizations of r(N)r(N). I use the next characterization in my code because it is easier to work with, though I couldn’t prove it yet.

r(N)=r2(N):=max{ε>0:cM0 with Bε(c)M0(N)}\begin{aligned} r(N)=r_2(N):=\max \{\varepsilon>0:\exists c\in \partial M_0\text{ with }\overline{B}_\varepsilon(c)\subset M_0(N)\} \end{aligned}

Here is the direction that I could prove:

Proof. Assume the set is empty, then ε>0,cM0\forall \varepsilon>0, \forall c\in \partial M_0 we get, that

Bε(c)⊄M0(N)\overline{B}_\varepsilon(c)\not\subset M_0(N), since M0(N)M_0(N) is compact we would get M0M0(N)\partial M_0\subseteq \partial M_0(N) which is a contradiction to M0(N){2}\partial M_0(N)\ne \{-2\}:

Let cM0{2}c\in\partial M_0\setminus\{-2\}, then cM0(N)c\in M_0(N), we show cM0(N)c\in\partial M_0(N) by constructing a sequence xmx_m of elements in M0(N)cM_0(N)^c that converge to cc.

We know, that m1,B1m(c)M0(N)c\forall m\ge 1, \overline{B}_{\frac{1}{m}}(c)\cap M_0(N)^c\ne \emptyset.

So let xmB1m(c)M0(N)cx_m\in \overline{B}_{\frac{1}{m}}(c)\cap M_0(N)^c, then since 1mm0\frac{1}{m}\overset{m\to\infty}{\longrightarrow} 0, that xmmcx_m\overset{m\to\infty}{\longrightarrow} c, therefore cM0(N)c\in\partial M_0(N), but c2c\ne -2 which is a contradiction.

Let r:=max{ε>0:cM0 with Bε(c)M0(N)}r:=\max \{\varepsilon>0:\exists c\in \partial M_0\text{ with }\overline{B}_\varepsilon(c)\subset M_0(N)\}. To show: rr(N)r\le r(N): Assume r>r(N)r> r(N).

Then there exists some cM0 s.t. Br(c)M0(N)c\in\partial M_0 \text{ s.t. } \overline{B}_r(c)\subset M_0(N) and some cM0cBrr(N)(c)c’\in M^c_0\cap \overline{B}_{r-r(N)}(c)

(because cM0, so ε>0 cM0cBε(c)c\in\partial M_0\text{, so } \forall \varepsilon>0\ \exists c’\in M_0^c\cap B_\varepsilon(c)),

but Br(N)(c)Br(c)M0(N)\overline{B}_{r(N)}(c’)\subset \overline{B}_r(c)\subset M_0(N), so cM0c’\in M_0 which is a contradiction. \square

The direction we would still need to show is rr(N)r\ge r(N). or equivalently

rsup{ε>0:cM0c:Bε(c)M0(N)}r\ge \sup \{\varepsilon >0: \exists c \in M_0^c: \overline{B}_\varepsilon(c)\subset M_0(N)\}
so cM0c,ε>0:Bε(c)M0(N) then  r>ε.\text{so }\forall c\in M_0^c, \varepsilon>0: \overline{B}_\varepsilon(c)\subset M_0(N)\text{ then }\ r > \varepsilon.

To give some experimental “evidence” for Conjecture 8 using code: “Dist_local_maxima.py”.
In the code, we look at the distance of any Point in M0(N)M_0(N) to M0(N)\partial M_0(N). (More accurately, we look at the distance to M0(N)Im\partial M_0(N)\cap Im, where ImIm is the Box of our Image).
We then take locally maximal Points in M0int(M0)M_0\setminus int(M_0) and M0M_0 and colour them accordingly.
(for M0(N)int(M0)M_0(N)\setminus int(M_0) we colour them orange to red increasingly, for M0M_0, we colour them blue to violet).
Also visible in the following Images is the violetly coloured circle (that is maximal in M0(N)M_0(N)) around the mouse-cursor, here positioned on 0.75-0.75.

Looking at the images, we can see, that any point that connects two sections (so a point, such that removing it disconnects the set) is a local maximizer of the distance function. The “larger” the “shapes”, the greater its distance value. 0.75-0.75 is the point that connects the largest two shapes, the main cardioid, and 1/41/4 sphere around 1-1.

Now to give some experimental “evidence” for Conjecture 9 using code: “rN_List.py”.
The algorithm without optimizations works like this:
given the Iteration NN, we want to approximately calculate r(N)r(N).
We do a Binary search of the radius between rl, rhr_l,\ r_h Given, that the Conjecture 8 holds, and our characterization r2(N)r_2(N) does too, we check if Br(0.75)M0(N)\partial B_r(-0.75)\subset M_0(N) for a radius r:rlrrhr:r_l \le r \le r_h.

If it is, we try a bigger radius, if it is not, we try a smaller radius (using Binary Search, we half our step each time until it is smaller then our threshold ε\varepsilon).
Since we can only calculate finite Points on Br(0.75)\partial B_r(-0.75), we have a step_amount, and take step_amount many evenly spaced samples of (αl,αh)(\alpha_l, \alpha_h).

In the following graphs, we can see, that 1r(N)1rupp(N)0\frac{1}{r(N)}-\frac{1}{r^{upp}(N)}\ge 0, so therefore we know, that rupp(N)r(N)0r^{upp}(N)-r(N)\ge 0, so rupp(N)r^{upp} (N) is an upper bound for r(N)r(N), and that it goes towards 00.

Leave a Reply

Your email address will not be published. Required fields are marked *