Dedekind tessellation or circles all the way down

“Turtles all the way down” is an expression of the infinite regress problem in cosmology posed by the “unmoved mover” paradox. The metaphor in the anecdote represents a popular notion of the model that Earth is actually flat and is supported on the back of a World Turtle, which itself is propped up by a column of turtles.[1] Questioning what the final turtle might be standing on, the anecdote humorously concludes that it is “turtles all the way down”

The above quote comes from the Wikipedia entry Turtles all the way down

It is illustrated by the following story

Turtles all the way down

After a lecture on cosmology and the structure of the solar system, William James was accosted by a little old lady.

“Your theory that the sun is the centre of the solar system, and the earth is a ball which rotates around it has a very convincing ring to it, Mr. James, but it’s wrong. I’ve got a better theory,” said the little old lady.

“And what is that, madam?” Inquired James politely.

“That we live on a crust of earth which is on the back of a giant turtle,”

Not wishing to demolish this absurd little theory by bringing to bear the masses of scientific evidence he had at his command, James decided to gently dissuade his opponent by making her see some of the inadequacies of her position.

“If your theory is correct, madam,” he asked, “what does this turtle stand on?”

“You’re a very clever man, Mr. James, and that’s a very good question,” replied the little old lady, “but I have an answer to it. And it is this: The first turtle stands on the back of a second, far larger, turtle, who stands directly under him.”

“But what does this second turtle stand on?” persisted James patiently.

To this the little old lady crowed triumphantly. “It’s no use, Mr. James – it’s turtles all the way down.”
—J. R. Ross, Constraints on Variables in Syntax 1967

The Dedekind tessellation is a mathematical version of the flat Earth and turtles all the way down. Instead of the flat Earth we have the Poincaré disk, and instead of turtles we have circles – all the way down.

It is beautifully shown in the graphics taken from web pages of prof. J. Kocik from Department of Mathematics Southern Illinois University at Carbondale.

Dedekind tessellation on the Poincaré disk

I have mentioned this subject at the end of Geodesics on the upper half-plane – parametrization, two days ago. In the meantime prof. Kocik was kind enough to send me his unpublished paper “A note on the Dedekind tessellation“. Looking inside I have found that I have made a mistake in my Mathematica program that was supposed to create my own version of the tessellation. After fixing my mistake (I have forgotten one term in my formula for the centers of the circles) I was able to create my own poor man version of the Dedekind tessellation (Kocik gives a simple method of computing the centers and the radii of all circles in the Dedekind tessellation!), and here I am going to explain, in details, how I did it.

Here is my final result that is a poor imitation of the beautiful and clever Kocik’s interactive graphics:

Fig. 1: Dedekind tessellation. Click on the image to open the full size version.

Instead of the disk it is better to use the upper half-plane, where the group SL(2,R) acts by fractional linear transformations. Let me recall the action. With

(1)   \begin{equation*}A=\begin{bmatrix}\alpha&\beta\\ \gamma&\delta\end{bmatrix}\end{equation*}

the action on the upper half-plane, the set of complex numbers z with \mathrm{Im}(z)>0, is given by

(2)   \begin{equation*}A:z\mapsto A\cdot z=\frac{\delta z+\gamma}{\beta z+\alpha}.\end{equation*}

Remark: In many places a different convention is being used, with A\cdot z defined as (\alpha z+\beta)/(\gamma z +\delta). There is a simple relation between the two actions: we can obtain one action from another by composing it with the similarity transformation A\mapsto \left[\begin{smallmatrix}0&1\\1&0\end{smallmatrix}\right]A\left[\begin{smallmatrix}0&1\\1&0\end{smallmatrix}\right].

The group SL(2,R) has a discrete subgroup SL(2,Z), often called the modular group, the group of 2\times 2 matrices with entries that are integers. For instance the following two matrices:

(3)   \begin{equation*}S=\begin{bmatrix}0&-1\\1&0\end{bmatrix},\quad T=\begin{bmatrix}1&0\\1&1\end{bmatrix}.\end{equation*}

In his online notes on SL(2,Z) Keith Conrad ( I recommend watching the great illusion on one of his web pages) shows that these two matrices generate (by taking inverses and products) the whole group SL(2,Z). In fact his T is transposed to the one above, but that does not matter.

Dedekind tessellation of the upper half-plane is an analogue of the tessellation of the usual Euclidean plane into squares of unit side length. All the plane can be nicely covered by translations of just one square, namely by translations by an integer amount in horizontal and vertical direction. In the case of the upper half-plane instead of a square we have a triangle, so called fundamental domain. In the picture below, taken from Condrad’s \mathrm{SL}_2(\mathbf{Z}) paper, we see the (grayed) standard fundamental domain consisting of complex numbers z with |z|\geq 1 and -1/2\leq \mathrm{Re}(z)\leq 1/2.

Fundamental domain for SL(2,Z)

Sure it does not look like a triangle, but it is a triangle, with the top vertex at infinity! The bottom side is a part of the unit circle – therefore a geodesic in the hyperbolic geometry we are dealing with.

By acting on this one triangle with matrices from the group SL(2,Z) we can nicely triangulate the whole upper half-plane – that is called the Dedekind tessellation. In Wikipedia article on Modular Group, in the section on Tessellation of the hyperbolic plane, it is accompanied with the following image:

Wikipedia Dedekind tessellation

Looking at this image it occurred to me that instead of acting on the fundamental domain I can as well act on the unit half-circle and on the two vertical lines. In order to do this I need a formula how elements of SL(2,Z) transform the unit circle and the two vertical lines. And I am interested in the resulting circles, I do not care about vertical lines as they do not add much to the tessellation. Using mathematical software (I use Mathematica most of the time) the task was not too difficult.

Suppose we have a circle of radius r_0 with center at x_0 on the real axis. We apply the transformation z\mapsto A\cdot z to this circle using matrix A in SL(2,R). The result is, as it can be verified without much difficulty using any computer algebra software, the circle (x_1,r_1) with

(4)   \begin{equation*}x_1= \frac{-\alpha  \gamma +\beta  \delta  r_0^2-\beta  \delta  x_0^2-\alpha  \delta  x_0-\beta  \gamma  x_0}{-\alpha ^2+\beta ^2 r_0^2-\beta ^2 x_0^2-2 \alpha  \beta x_0},\end{equation*}

(5)   \begin{equation*} r_1=\frac{r_0}{|\alpha^2+\beta^2 \left(x_0^2-r_0^2\right)+2 \alpha  \beta  x_0|} \end{equation*}

We are interested in transformations of one particular circle with x_0=0 and r_0=1. Then the formulas simplify:

(6)   \begin{equation*} x_1=\frac{\beta  \delta -\alpha  \gamma }{\beta ^2-\alpha ^2}, \end{equation*}

(7)   \begin{equation*} r_1=\frac{1}{|\alpha ^2-\beta ^2|}. \end{equation*}

Of course we are interested only in the cases where the denominator is non zero.

Now suppose we have a vertical line at x_0. It is transformed into a circle (x_1,r_1) with

(8)   \begin{equation*}x_1=\frac{\alpha  \delta +\beta  \gamma +2 \beta  \delta  x_0}{2 \beta  (\alpha +\beta  x_0)},\end{equation*}

(9)   \begin{equation*} r_1=\frac{1}{2 |\beta (\alpha +\beta  x_0)|}. \end{equation*}

We are interested in two cases x_0=\pm 1/2, and only when the denominator is non zero.

Using generators S,T above, taking their inverses and products, in different orders, I generated 35416 SL(2,Z) matrices. They can be downloaded as the file The file has the format:

\{\{\{0, 1\},	\{-1, -17\}\},....,\}

Separate matrices look as \{\{\alpha, \beta\},\{\gamma,\delta\}\}.

I will describe now, step by step, how i have created Fig. 1 above, using Mathematica. It is certainly not an optimal way, but my description may help to understand how to create Dedekind tessellation using different methods.



These are the definitions of x_1,r_1 as in Eqs. (6,7). The last one is the inverse of the radius. We want it to be >0. Thus we create a sublist m1:

m1=Select[m, r1i[#]>0 &]

Then m1 has 35350 elements. We now use the first two lines to create the list of centers and radii:

mc = Table[{x1[m1[[i]]], r1[m1[[i]]]}, {i, 1, Length[m1]}];

But now there will be repeated elements in the list. To get rid of them I use

mc = Union[mc];

And I care only about circles with radius, say, >1/100:

mc100 = Select[mc, #[[2]] > 1/100 &];

There are only 1923 such circles.

We can already do the plot:

Dedekind tessellation Mathematica plot

The rest is optional. I added to these circles 12 circles obtained from the two vertical lines. Then I used paintnet software to invert the colors. The end result is in the Fig. 1 above.

Real magic – space-time in Lie algebra

We start with a partial recall of events as they transpired so far. A month ago we became hyperbolic. The post Getting hyperbolic started with this sentence:

Without knowing it, during the last three posts (Our first field expedition, Our second field expedition, The Third Expedition) we became hyperbolic. Hyperbolic and conformal. Conformal and relativistic, relativistic and non-Euclidean.

Then we introduced the group SU(1,1) and its action on the disk. Then, in From SU(1,1) to the Lorentz group we realized that the disk can be considered as a projection of a hyperboloid in 2+1 dimensional space-time, where the hyperboloid is inside the future light cone. We were contemplating the image below

Space-time hyperboloid and the Poincare disk models

and we have shown that there is a group homomorphism from SU(1,1) to the Lorentz group SO(2,1) of 2+1 dimensional special relativity. We have calculated the formula explicitly in Eq. (7) there. If A=\left[\begin{smallmatrix}\lambda&\mu\\ \bar{\mu}&\bar{\lambda}\end{smallmatrix}\right] is a complex matrix from SU(1,1) with \lambda=\lambda_r+i\lambda_i,\,\mu=\mu_r+i\mu_i split into real and imaginary parts, then the real 3\times 3 matrix L(A) from SO(2,1) is given by the formula:

(1)   \begin{equation*}L(A)=\begin{bmatrix}  -\lambda_i^2+\lambda_r^2-\mu_i^2+\mu_r^2 & 2 \lambda_i \lambda_r-2 \mu_i \mu_r & 2 \lambda_r \mu_r-2 \lambda_i \mu_i \\  -2 \lambda_i \lambda_r-2 \mu_i \mu_r & -\lambda_i^2+\lambda_r^2+\mu_i^2-\mu_r^2 & -2 \lambda_r \mu_i-2 \lambda_i \mu_r \\  2 \lambda_i \mu_i+2 \lambda_r \mu_r & 2 \lambda_i \mu_r-2 \lambda_r \mu_i & \lambda_i^2+\lambda_r^2+\mu_i^2+\mu_r^2 \end{bmatrix}.\end{equation*}

The map A\mapsto L(A) is a group homomorphism, that is L(I)=I and L(A_1A_2)=L(A_1)L(A_2). ( Of course in L(I)=I we denote by the same symbol "I" identity matrices of different sizes.)

After that, in Getting real, we used Cayley transform that defines group isomorphism between the complex matrix group SU(1,1) and the real matrix group SL(2,R). With

(2)   \begin{equation*}\mathcal{C}=\frac{1}{1+i}\begin{bmatrix}i&1\\-i&1\end{bmatrix}.\end{equation*}

(3)   \begin{equation*}\mathcal{C}^{-1}=\frac{1}{1-i}\begin{bmatrix}-i&i\\1&1\end{bmatrix}.\end{equation*}

we have that if A'=\left[\begin{smallmatrix}\alpha&\beta\\ \gamma&\delta\end{smallmatrix}\right] is a real matrix from SL(2,R) (i.e. \det A'=\alpha\delta-\beta\gamma=1), then \mathcal{C}A'\mathcal{C}^{-1} is in SU(1,1). If we calculate explicitly \lambda and \mu in terms of \alpha,\beta,\gamma,\delta, the result is:

(4)   \begin{eqnarray*} \lambda_r&=&\frac{\alpha+\delta}{2},\\ \lambda_i&=&\frac{\beta-\gamma}{2},\\ \mu_r&=&\frac{\delta-\alpha}{2},\\ \mu_i&=&\frac{\beta+\gamma}{2}. \end{eqnarray*}

Combining it with L(A) we obtain group homomorphism from SL(2,R) to SO(2,1). Explicitly

(5)   \begin{equation*}L(A')=\begin{bmatrix}  \frac{\alpha ^2-\beta ^2-\gamma ^2+\delta ^2}{2} & \alpha  \beta -\gamma  \delta  & \frac{-\alpha ^2-\beta ^2+\gamma ^2+\delta ^2}{2} \\  \alpha  \gamma -\beta  \delta  & \beta  \gamma +\alpha  \delta  & -\alpha  \gamma -\beta  \delta  \\  \frac{-\alpha ^2+\beta ^2-\gamma ^2+\delta ^2}{2} & -\alpha  \beta -\gamma  \delta  & \frac{\alpha ^2+\beta ^2+\gamma ^2+\delta ^2}{2} \end{bmatrix}.\end{equation*}

So far, so good, but now there comes real magic!

Real magic

We do not have to travel around the world, through SU(1,1) and hyperboloids. We will derive the last formula directly using a method that is similar to the one we used when deriving the map from quaternions to rotation matrices in Putting a spin on mistakes.

The Lie algebra sl(2,R) of the Lie group SL(2,R) consists of real 2\times 2 matrices of zero trace – we call them “generators”. We already met three particular generators X_1,X_2,X_3, for instance in SL(2,R) generators and vector fields on the half-plane, and I will skip this time primes as they have been denoted previously

(6)   \begin{eqnarray*} X_1&=&\begin{bmatrix}0&1\\1&0\end{bmatrix},\\ X_2&=&\begin{bmatrix}-1&0\\0&1\end{bmatrix},\\ X_3&=&\begin{bmatrix}0&-1\\1&0\end{bmatrix}. \end{eqnarray*}

Every element of sl(2,R) is a real linear combination of these three. So, X_1,X_2,X_3 can be considered as a basis of sl(2,R). For instance in SL(2,R) generators and vector fields on the half-plane we constructed a particular generator Y_+ and Y_- defined as

(7)   \begin{eqnarray*}Y_+&=&\frac{1}{2}(X_1+X_3)=\begin{bmatrix}0&0\\1&0\end{bmatrix},\\ Y_-&=&\frac{1}{2}(X_1-X_3)=\begin{bmatrix}0&1\\0&0\end{bmatrix}. \end{eqnarray*}

The Lie algebra sl(2,R) is a three-dimensional real vector space. But it is more than just a vector space. The group SL(2,R) acts on this space by what is called “the adjoint representation”. This is true for the Lie algebra of any Lie group. Here we have a particular case. Namely, if X is in sl(2,R), that is if X has trace zero, and if A is in SL(2,R), that is the determinant of A is one, then AXA^{-1} is also of zero trace (we do not need the property of determinant one for this). The map X\mapsto AXA^{-1} is a linear map. Thus we have action, let us call it \mathcal{L}, of SL(2,R) on sl(2,R):

(8)   \begin{equation*} \mathcal{L}(A)X\mapsto AXA^{-1}.\end{equation*}

Remark: I will now be skipping primes that I was using to distinguish matrices from SL(2,R) from matrices from SU(1,1).

Evidently (from associativity of matrix multiplication) we have


Usually instead of \mathcal{L}(A) one writes \mathrm{Ad}(A) and uses the term “adjoint representation”. In short: the group acts on its Lie algebra by similarity transformations. Similarity transformation of a generator is another generators. Even more, by expanding exponential into power series we can easily find that

(9)   \begin{equation*}e^{t AXA^{-1}}=Ae^{tX}A^{-1}.\end{equation*}

So sl(2,R) is a three dimensional real vector space and SL(2,R) acts on it by linear transformations.

But that is not all. In sl(2,R) we can define a very nice scalar product (X,Y) as follows

(10)   \begin{equation*}(X,Y)=\frac{1}{2}\mathrm{tr} (XY),\end{equation*}

where \mathrm{tr} (XY) is the trace of the product of matrices X and Y.

Why is this scalar product “nice”? What is so nice about it? It is nice, because with this scalar product the transformations \mathcal{L}(A) are all isometries – they preserve this scalar product:

(11)   \begin{equation*}(\mathcal{L}(A)X,\mathcal{L}(A)Y)=(X,Y).\end{equation*}

The derivation of this last property follows from the definitions and from the property that similarity transformations do not change the trace.

So sl(2,R) is a three dimensional real vector space with a scalar product. But in sl(2,R) we have our basis X_i,\,(i=1,2,3). It is easy to calculate scalar products of the basis vectors. We get the following matrix for the matrix G with entries

(12)   \begin{equation*}G_{ij}=(X_i,X_j):\end{equation*}

(13)   \begin{equation*}G=\begin{bmatrix}1&0&0\\0&1&0\\0&0&-1\end{bmatrix}.\end{equation*}

Thus sl(2,R) has all the properties of the Minkowski space with two space and one time dimensions. The generator X_3 has “time direction”, while X_1,X_2 are “space directions”.

Once we have a basis there, we can calculate the components of the transformations \mathcal{L}(A) in this basis:

(14)   \begin{equation*}\mathcal{L}(A)X_i=\sum_{j=1}^3 \mathcal{L}(A)_{ji}X_j,\,(i=1,2,3).\end{equation*}

I used Mathematica to calculate \mathcal{L}(A)_{ji} for A=\left[\begin{smallmatrix}\alpha&\beta\\ \gamma&\delta\end{smallmatrix}\right]. Here is the result:

(15)   \begin{equation*} \mathcal{L}(A)=\begin{bmatrix}  \frac{\alpha ^2-\beta ^2-\gamma ^2+\delta ^2}{2} & \alpha  \beta -\gamma  \delta  & \frac{-\alpha ^2-\beta ^2+\gamma ^2+\delta ^2}{2} \\  \alpha  \gamma -\beta  \delta  & \beta  \gamma +\alpha  \delta  & -\alpha  \gamma -\beta  \delta  \\  \frac{-\alpha ^2+\beta ^2-\gamma ^2+\delta ^2}{2} & -\alpha  \beta -\gamma  \delta  & \frac{\alpha ^2+\beta ^2+\gamma ^2+\delta ^2}{2} \end{bmatrix}.\end{equation*}

Here I admit that in this last formula I did copy and paste from Eq. (5) above. Because indeed that is what happened in the calculation – the result came identical. And that is the real magic. We do not need external space-time and hyperboloids. Everything is already contained in the group itself and in its Lie algebra!

Geodesics on the upper half-plane – parametrization

The last note ended with the following problem:

Thus: geodesics are circles. Or better: straight lines are circles! In fact: half-circles, because their centers are on the x-axis, and our arena is only upper half-plane.

Except that we have missed some solutions. In Conformally Euclidean geometry of the upper half-plane there was a sentence:

In the next note we will start calculating “straight lines”, or “geodesics” of our geometry. Some of them are almost evident candidates: vertical lines, perpendicular to the real line. But what about the other ones?

Well, we have these other ones, but how the vertical lines fit our reasoning above?

If \gamma(t)=(x(t),y(t)) is a vertical line, then x(t)=x_0, therefore \dot{x}=0. In Geodesics on the upper half-plane – Part 2 circles we arrived at equations

(1)   \begin{equation*} (\dot{\gamma}(t),K_1(\gamma(t)))=\frac{\dot{x}}{y^2(t)}=\mathrm{const},\end{equation*}

(2)   \begin{equation*} (\dot{\gamma}(t),K_2(\gamma(t)))=\frac{\dot{x}(t)x(t)+\dot{y}(t)y(t)}{y^2(t)}=\mathrm{const},\end{equation*}

and took the ratio of the second to the first. But for vertical lines taking the ratio is not allowed. The first equation is satisfied with the constant on the right hand side equal to zero. The second equation reduces to

(3)   \begin{equation*}(\dot{\gamma}(t),K_2(\gamma(t)))=\frac{\dot{y}(t)}{y(t)}=\mathrm{const}.\end{equation*}

If we now recall Eq. (2) from Conformally Euclidean geometry of the upper half-plane :

(4)   \begin{equation*}ds=\sqrt{\frac{dx^2+dy^2}{y^2}}=\sqrt{\frac{\dot{x}^2+\dot{y}^2}{y^2}}dt,\end{equation*}

we see that ds and dt on the vertical line must be proportional:

(5)   \begin{equation*}s=ct+s_0.\end{equation*}

Whenever this last equation holds, one says that t is an “affine parameter”: it is proportional to the arc length, possibly translated. In fact that is part of the definition of the geodesic that enters the “Noether’s theorem” that we are using. Usually we choose the proportionality constant equal to one.

Of course we can use Eq. (3) in order to determine the parameter t. Choosing the constant equal to 1, we have

(6)   \begin{equation*}\frac{dy}{y}=dt,\end{equation*}


(7)   \begin{equation*}\log y=t+t_0.\end{equation*}

To my surprise Bjab has discovered this all by himself – see the discussion under the previous post

Therefore, when discussing geodesics, we will assume that they are always parametrized by their arc length or, in other words, that the tangent vector \dot{\gamma}(t) is of unit length. In our case that is equivalent to

(8)   \begin{equation*}(\dot{\gamma}(s),\dot{\gamma}(s))_{\gamma(s)}=\frac{\dot{x}(s)^2+\dot{y}(s)^2}{y(s)^2}=1.\end{equation*}

Remark: There are many important examples of pseudo-Riemannian metrics, that are not positive definite. In such a case “length square” along a geodesic line is normalized to +1 or -1 or 0, so that there are three kinds of geodesics. In physics this happens for space-time metrics with Minkowski signature, and in multi-dimensional Kaluza-Klein theories. We will discuss another such case in the following posts.

We can now use these insights also in the case of circular geodesics. Before we have taken the ratio of two “conservation law” equations (1,2). Now, that we know we have a circle, we can write circle equation

(9)   \begin{eqnarray*}x&=&r\cos (\phi)+x_0,\\ y&=&r\sin( \phi),\label{eq:yr}\end{eqnarray*}

where \phi is some function of the arc length parameter s, and substitute into Eqs. (1,2).

We have

(10)   \begin{eqnarray*}\dot{x}&=&-r\sin (\phi)\, \dot{\phi}\\ \dot{y}&=&r\cos (\phi)\,\dot{\phi},\label{eq:dy}\end{eqnarray*}

therefore Eq. (8) reduces to

(11)   \begin{equation*} \frac{\dot{\phi}}{\sin\phi}=\pm 1.\end{equation*}

It is now a straightforward exercise to verify that with Eqs. (911) equations (1,2) are satisfied automatically.

Now that we know geodesics on the upper half-plane, we can draw them for pleasure. There is a famous pattern known as Dedekind’s tesselation

Dedekind tessellation

I was able to reproduce a part of it, namely the part described on p. 3 in the paper on SL(2,Z) by Keith Conrad

SL(2,Z) tessellation

But I would like to be able to reproduce the pretty image from website of Jerzy Kocik from Southern Illinois University

Dedekind tessellation Click on the image to view it full size

And I do not know yet how to do it.

Update: After several hours I managed to produce this:

My poor version – very primitive