# Is there a technique to exactly calculate the Hausdorff dimension of the border of this fractal?

I came up with a self-similar fractal that fits into itself like a jigsaw puzzle. While the surface area is clearly 2-dimensional, it is unclear to me how to compute the Hausdorff dimension of the border. I could use the box counting method to find an approximation. But since I know how to construct the fractal, I was wondering if it were possible to exactly calculate it.

Above you can see the fractal I am talking about. I have divided it into colored areas to make its construction more clear. The red area is just a scaled down version (with scale factor 1/3) of the whole thing. The other colored areas are scaled down versions (with scale factor 1/3) as well, but are also rotated. The blue areas are rotated 90 degrees anti-clockwise. The green areas are rotated 180 degrees. The yellow area is rotated 90 degrees clockwise. The center of the fractal is inside the big gap area, which could be filled with the red area. If this gap area gets filled recursively with smaller and smaller red areas, then the center will remain outside the fractal after any finite amount of iterations. It may not look like it, but the 9 colored areas are placed in such a way that their centers form a grid pattern. To make the grid pattern more clear I've added the image below.

Unfortunately, I don't know how to give a formal mathematical definition of the fractal, so I hope the drawings I made and the description are clear enough. I want to make it clear that it's not important to me to know the Hausdorff dimension for this specific case, but rather how to generally calculate the Hausdorff dimension of the border of well defined closed areas. Is there some sort of technique for this?

• Your shape is self similar, so you can use the self similarity dimension (same as hausdorff when both exist) with epsilon=1/3 en.m.wikipedia.org/wiki/Fractal_dimension?wprov=sfla1 – Eddy Dec 29 '18 at 21:32
• Unfortunately, without a clear explanation of the iteration you're using to generate the fractal, it's hard to provide an $N$ appropriate for the boundary, but it's quite clear that for the interior $N=9$ and so that is 2D as you propose. – Eddy Dec 29 '18 at 21:35
• I read that the IFSTile software can solve this analytically, but it seems to be closed source... – Claude Apr 15 at 21:07

$$\DeclareMathOperator\unit{unit}$$Let's start with the dimension $$\Delta$$ of the area, which we already know to be $$\Delta=2$$. Let each of the colored squares have an area of $$1\text{ unit}^\Delta$$. Then the area of the template is: $$A_0=9\cdot\unit^\Delta$$ Now let's get more fine grained measuring equipment that is $$\eta$$ times more precise. That is, we will be measuring in $$(\frac 1\eta\cdot\unit)^\Delta$$ instead of $$\unit^\Delta$$. As it is we will find $$9$$ smaller squares inside each of the $$9$$ squares, so the total area is: $$A_1 = 9^2\cdot\left(\frac 1\eta\cdot\unit\right)^\Delta=9^2\cdot\eta^{-\Delta}\cdot\unit^\Delta$$

With the correct dimension $$\Delta=2$$, we must have $$A=A_0=A_1$$, and therefore: $$9=9^2\cdot\eta^{-\Delta}\quad\Rightarrow\quad \eta^\Delta=9\quad\Rightarrow\quad \eta^2=9\quad\Rightarrow\quad\eta=3$$ We measure on a $$3$$ times smaller scale in $$1$$ iteration.

Let $$D$$ be the dimension of the circumference. The circumference with the same $$\unit$$ is: $$C_0 = 20\cdot\unit^D$$ When we measure again with $$\frac 1\eta\cdot\unit$$ we find: $$C_1 = 112\cdot\left(\frac 1\eta\cdot\unit\right)^D = 112\cdot\eta^{-D}\cdot\unit^D$$

We get with $$C=C_0=C_1$$: $$20=112\cdot\eta^{-D}= 112\cdot 3^{-D}\quad\Rightarrow\quad 3^D=\frac{112}{20}\quad\Rightarrow\quad D=\log_3 \frac{112}{20}\approx 1.568$$ As expected this is a bit higher than Koch's curve that has $$D=1.268$$ and lower than $$2$$.

• Am i guessing correct that the 20 you are using is the amount of sides in the first iteration (which is shown in my second drawing). So 112 is the amount of sides you counted in the second iteration. I counted 116, so does that mean that D = log3(116 / 20) ≈ 1,6 – user3635700 Dec 30 '18 at 13:44
• Indeed @user3635700, I counted 29 horizontal upward oriented edges, 29 vertical rightward edges, 27 downward edges, and 27 leftward edges for a total of 112 edges. Your number suggests 29 edges in each direction. And yes, with 116 edges it becomes $D = \log_3(116 / 20)$. Nice picture btw! – Klaas van Aarsen Dec 30 '18 at 14:03
• I counted 29 of each of those. Also shouldn't their always be the same amount of leftward as rightward edges? And the same for upward and downward? You counted 2 less downward edges than upward and 2 less leftward edges than rightward edges. – user3635700 Dec 30 '18 at 19:43
• Isn't this the box counting method? If so, doesn't that mean we only approximated the Hausdorff dimension. I haven't counted the amount of edges in iteration 3, but I'm quite sure that it won't be exactly 672.8, because if we get some other value, then we will get that $D \neq \log_3(672.8/116) = \log_3(116/20)$ – user3635700 Dec 30 '18 at 19:59
• afaict $D = \lim_{n\to\infty} \log_3 \frac{N_{n+1}}{N_n}$ - taking the first two terms is a poor approximation – Claude Jan 9 at 17:41

You may be able to calculate a graph-directed IFS for the boundary of the tile, though the rotated tiles may make this tricky - I'm not sure whether this is classed as a self-affine tile, or whether it needs a multi-tile system.

Given a graph-directed IFS, the Hausdorff dimension of the fractal is $$s$$ such that the spectral radius of a special matrix $$M(s)$$ (constructed from the structure of the GDIFS) is $$1$$.

I have some numerical code (implemented in Javascript, see the function hausdorffDimension() in the source code of https://mathr.co.uk/blog/2007-10-03_graphgrow.svg) that computes this.

The freeware (closed source) software available at https://ifstile.com can

• extract boundary of self-affine tiles as directed graph IFS
• compute dimension of the boundary of self-affine tiles (numerically and analytically)

which seems to be what you want - I haven't tried it myself yet. It probably uses the methods from the last reference (by the author of IFSTile).

References:

You can definitely use IFStile package to define the tile, extract the boundary and calculate the boundary dimension.

Here the definition of the tile for IFStile:

########################################################
@G
$$dim=2 s=$$companion([1,0])
h0=[-3,0]*s
h1=[-2,0]*1
h2=[-1,0]*s
h3=[-1,2]*s
h4=[-1,1]*s^2
h5=[-1,-1]*s^2
h6=[0,1]*s^3
h7=[1,1]*s^2
h8=[1,0]*s
A=3^-1*(h0|h1|h2|h3|h4|h5|h6|h7|h8)*A
########################################################


The boundary is a graph-directed IFS

Hausdorff dimension:

log(x)/log(3)=1.565033324743844....


where

x^3-3x^2-11x-19=0