Lattice parametrization

We came to the point where we have already seen how lattices appear naturally in problems arising from number theory. In this post we construct a nice space which parametrize the set of all lattices of a certain dimension, with particular emphasis on 2-dimensional lattices.

We already encountered the first step in the construction of these spaces in this post. Recall, that if we want to describe a lattice L\leq \mathbb{R}^n, then we only need to specify its basis v_1,...,v_n \in \mathbb{R}^n (written as columns). Thus, if g=[v_1 \mid \cdots \mid v_n] is the matrix with columns v_i, then the lattice is exactly g\cdot \mathbb{Z}^n (i.e. linear combinations of the columns with integral coefficients). Thus, we have a map GL_n(\mathbb{R})\to Y_n to the space of lattices g\mapsto g \cdot \mathbb{Z}^n which is surjective.

This surjective map already makes Y_n into a quotient space of GL_n(\mathbb{R}). Since GL_n(\mathbb{R}) is not just a set but also has a group structure, we can ask what extra structure do we have on Y_n. If L\leq \mathbb{R}^n is a lattice and h\in GL_n(\mathbb{R}), then h\cdot L is again a subset of \mathbb{R}^n and it can be easily checked that it is also a lattice. Indeed, writing it as L=g\mathbb{Z}^n for some g\in GL_n(\mathbb{R}) we obtain that hL=h(g\mathbb{Z}^n)=(hg)\mathbb{Z}^n is the lattice with basis (the columns of) hg. In other words, we have just defined a GL_n(\mathbb{R})-group action on the space Y_n. The fact that every lattice can be written as g\cdot \mathbb{Z}^n just means that the orbit of the standard lattice \mathbb{Z}^n is all of Y_n, namely the action is transitive. The stabilizer Stab(\mathbb{Z}^n)=\{g\in GL_n(\mathbb{R})\;\mid\; g\mathbb{Z}^n=\mathbb{Z}^n\} of \mathbb{Z}^n is exactly GL_n(\mathbb{Z}) so we conclude that:

Claim: There is a one to one surjective map GL_n(\mathbb{R})/GL_n(\mathbb{Z}) \to Y_n defined by g\mapsto g\mathbb{Z}^n.

Remark: This entire discussion can be made with row vectors instead of column vectors (using the transpose), and then the action is from the right so that the space of lattice is identified with GL_n(\mathbb{Z})\backslash GL_n(\mathbb{R}) .

The identification of the space of lattices Y_n with the quotient GL_n(\mathbb{R})/GL_n(\mathbb{Z}) automatically induces extra structure on Y_n. The fact that this action is transitive should be thought of as a symmetry condition on the space – all the points in the space look “the same” up to an automorphism arising from GL_n(\mathbb{R}). Moreover, since GL_n(\mathbb{R}) has a topological (and metric) structure, this quotient space inherit such a structure as well. We shall consider this structure in a future post, but for now let us consider one important topological invariant – the dimension. The space of all n\times n matrices has dimension n^2. The invertible matrices are almost the entire space, so that the dimension of GL_n(\mathbb{R}) is also n^2 (the reason is that a matrix is invertible if and only if its determinant is not zero, so considering only the determinant, instead of having any determinant in \mathbb{R} we need to be in \mathbb{R}\backslash \{0\} which is still one dimensional). Finally, since GL_n(\mathbb{Z}) is discrete in GL_n(\mathbb{R}) the space Y_n=GL_n(\mathbb{R})/GL_n(\mathbb{Z}) has also dimension n^2 (the intuition here arises from the spaces \mathbb{R} and \mathbb{R}/\mathbb{Z} which are the real line and the circle, both of which are 1-dimensionals).

The n^2 dimension should not be too surprising, but it is very hard to manage even for n=2, and we can ask whether we can decrease it to a more manageable space. We have already seen that we can normalize lattices so that they have covolume one by sending a lattice L to \alpha L for a suitable scalar \alpha \in \mathbb{R}^\times. Under our identification with GL_n(\mathbb{R})/GL_n(\mathbb{Z}) this can be done in two ways. The first is to identify two lattices L\sim \alpha L, which means that we consider orbits of the subgroup of scalars A=\{\alpha I \; \mid \; \alpha\in \mathbb{R}^\times \}=Z(GL_n(\mathbb{R})). This leads us to the space PGL_n(\mathbb{R})/PGL_n(\mathbb{Z}). Another way is to only consider lattices of covolume one which leads us to the space SL_n(\mathbb{R})/SL_n(\mathbb{Z}). A little bit of thought shows that these two spaces are the same.

Claim: Let X_n be the space of unimodular n-dimensional lattices. Then X_n \cong PGL_n(\mathbb{R}) / PGL_n(\mathbb{Z}) \cong SL_n(\mathbb{R})/SL_n(\mathbb{Z}).

Since Z(GL_n(\mathbb{R}))\cong \mathbb{R}^\times =\mathbb{R}-\{0\} is one dimensional, a similar argument to the one before the claim shows that PGL_n(\mathbb{R}) / PGL_n(\mathbb{Z}) is n^2-1 dimensional. We shall now concentrate on the case n=2 which has a very nice parametrization. We remark here that while there are similarities with the spaces of lattices in higher dimensions, there are many properties which drastically change when we go from n=2 to n\geq 3.

2-dimensional lattices:

Let L be a two dimensional lattice. We already have the equivalence relation L\sim \alpha L for \alpha \in \mathbb{R}^\times, since once we “understand” the lattice L, it is usually very easy to understand \alpha L as well. Another such equivalence relation is induced by rotating the lattice. In the picture below the left and right lattices are the stretching and rotation respectively of the middle lattice.


Let us view L as a lattice in L\leq \mathbb{R}^2\cong \mathbb{C}. Under this identification, the equivalence coming from stretching is just L\sim r L for r\in \mathbb{R}^\times and the equivalence from rotation is L\sim \alpha L for some \alpha \in \mathbb{T}=\{z\in \mathbb{C} \mid |z|=1\}. Putting these two together we get the equivalent L\sim z L for any z\in \mathbb{C}^\times. We started with a 4-dimensional space, and the equivalence relation “kills” a 2-dimensional space (1-dimension for stretching and 1-dimension for rotation), thus the quotient space is 2^2-2=2-dimensional which is much more manageable.

Suppose that L=span_{\mathbb{Z}}(z,w) where z,w\in \mathbb{C}. Using the equivalence relations that we just mentioned, we can “normalize” it to be z^{-1}L=span_{\mathbb{Z}}(1,w\cdot z^{-1}), so that L corresponds to the point wz^{-1}\in \mathbb{C} (and \mathbb{C} is 2-dimensional). The problem is that this map is not well defined – if we start with a different basis for L, then we can get a different point in \mathbb{C} and the question is what is the connection between these points.

Let us consider 3 types of basis change. Denoting p=wz^{-1}, we have the following bases.

  • L=span_{\mathbb{Z}}(z,-w) corresponds to the point -p.
  • L=span_{\mathbb{Z}}(z,w\pm z) corresponds to the point (w\pm z)z^{-1}=p\pm 1.
  • L=span_{\mathbb{Z}}(w,z) corresponds to the point zw^{-1}=p^{-1}.

In general, if z',w' is another basis for L, then we can always find a matrix g=\left(\begin{smallmatrix}a & b\\c & d\end{smallmatrix}\right)\in GL_2(\mathbb{Z}) such that \left(\begin{smallmatrix}w'\\z'\end{smallmatrix}\right) = \left(\begin{smallmatrix}a & b\\c & d\end{smallmatrix}\right)\left(\begin{smallmatrix}w\\z\end{smallmatrix}\right). The corresponding point in \mathbb{C} is then \frac{w'}{z'}=\frac{aw+bz}{cw+dz}=\frac{ap+b}{cp+d} which is a Möbius transformation applied to the point p. Note that the three basis changes above correspond to the matrices \left(\begin{smallmatrix}-1 & 0\\0 & 1\end{smallmatrix}\right)\, , \left(\begin{smallmatrix}1 & \pm 1\\0 & 1\end{smallmatrix}\right)\, , \left(\begin{smallmatrix}0 & 1\\1 & 0\end{smallmatrix}\right)\,, which generate GL_2(\mathbb{Z}). We conclude the following:

Corollary: Let L=span_{\mathbb{Z}}(z,w) and set p=\frac{w}{z}. Then the points corresponding to the different bases of L are exactly the orbit \{\gamma(p)\,\mid\, \gamma\in GL_2(\mathbb{Z})\} where the action is by Möbius transformations.

For example, the middle lattice in the pictures above is generated by 1,\frac{1}{2}(1+i), so that p=\frac{1}{2}(1+i) is one of its corresponding points. Some of the other points (with positive imaginary part) under the action of GL_2(\mathbb{Z}) appear in the picture below. Let’s do a sanity check -note that after rotation and stretching of that lattice we can get the square-lattice, namely \mathbb{Z}^2. The point which correspond to this lattice is i (because \{1,i\} is a basis), and this point indeed appears in the picture below.


The corollary above should not surprize us – we already know that lattices correspond to orbits of GL_2(\mathbb{Z}) inside GL_2(\mathbb{R}). Note that in the picture above there are no points on the x-axis, because such a point p corresponds to a set \{1,p\} which is not linearly independent. Thus, if p is one of the points corresponding to L then either p or -p is in the upper half plane (positive imaginary part), so we can restrict our attention to this half plane. In the language of group orbits, we simply used the fact that SL_2(\mathbb{Z}) is an index two subgroup of GL_2(\mathbb{Z}) and we restrict our attention to its orbits.

The fundamental domain of 2-dimensional lattices:

As usual, when we have an equivalence relation (i.e. we identify points on the same SL_2(\mathbb{Z})-orbit), we would like to find a nice set of representatives F. Suppose that L=span_{\mathbb{Z}}\{z,w\} where we choose the basis so that z has minimal length. You should prove to yourself why we can always find such a basis. Letting p=\frac{w}{z}, the basis change L=span_{\mathbb{Z}}\{z,w+kz\} corresponds to the point p'=p+k, and by a suitable choice of k we may assume that |Re(p')|\leq \frac{1}{2}. Furthermore, since z has minimal length out of the nonzero vectors in the lattice, we also get that |p'|=\frac{|w+kz|}{|z|}\geq 1. Thus, setting F=\{z\in \mathbb{C} \mid Im(z)>0, |Re(z)|\leq \frac{1}{2}, |z|\geq 1\}, we obtain that any SL_2(\mathbb{Z}) orbit has a point in F. We claim that this point is also unique (up to points on the boundary). The sketch of the proof is as follows:

  1. Let p_i\in F for i=1,2 such that \gamma(p_1)=p_2 for some \gamma \in SL_2(\mathbb{Z}). Set L_i=span_{\mathbb{Z}}(1,p_i).
  2. Show that the shortest vector in both L_1,L_2 is 1 (=1+0\cdot i). Since L_1,L_2 should be the same lattice up to rotation and stretching, this shows that the stretching must be trivial.
  3. Show that covol(L_i)=Im(p_i), and since rotation doesn’t change the covolume, we get that Im(p_1)=Im(p_2).
  4. If |p_1|>1 (not on the lower boundary of F), then this implies that p_2 = p_1 + n for some integer n. If |p_1|=1, then we also have the possibility that p_2=n-\bar{p}. (In this step use the SL_2(\mathbb{Z}) action).
  5. Use the definition of F to show that the distinct points in the interior are in distinct SL_2(\mathbb{Z})-orbits, and find what happens on the boundary.

Below we see the orbit of the point \frac{1+6i}{4} under SL_2(\mathbb{Z}), and we can see that it is the only point in F. It then follows that for any \gamma\in SL_2 (\mathbb{Z}), the point \gamma(\frac{1+6i}{4}) is the only point in \gamma(F).


Remark: The fact that the lower we get there are more points from the orbit, is connected to the non Euclidean geometry of the upper half plane – the closer we are to the x-axis, small Euclidean lines get much longer in this new geometry. This hyperbolic geometry is of much interest, but I will not go into it here.

The set F is called a fundamental domain for the action of SL_2(\mathbb{Z}) on the upper half plane \{z\in \mathbb{C} \mid Im(z)>0\}. We had the same object when we first talked about lattices. We can always view a lattice L\leq \mathbb{R}^n as a group acting on \mathbb{R}^n, and then the fundamental domain is a set of representatives for the orbits of L which is “nice” (i.e. measureable). Usually we will relax the conditions a bit so that we can take fundamental domains which are close or open by ignoring their boundaries (in the hope that they have measure zero, as it is in all the examples that we saw so far).

To summarize, in order to specify a 2-dimensional lattice, we only need to chose a point p in F and construct the lattice L=span_{\mathbb{Z}}\{1,p\}, and we might rotate or stretch it to get more lattices.

What really happened:

Before we finish, let’s try to understand what exactly happened as we tried to understand the space of (2-dimensional) lattices. We started with the presentation  SL_2(\mathbb{R}) / SL_2(\mathbb{Z}) – we had a transitive action of SL_2(\mathbb{R}) on the space of unimodular lattices with stabilizer SL_2(\mathbb{Z}). Since this space is difficult to understand, we instead looked on the action of SL_2(\mathbb{R}) on the upper half plane via the Möbius transformations. This space appears in many other areas of mathematics (and outside) and we consider it as “easier” to work with (because we can actually visualize and draw it). One of the first thing we learn about this action is that it is transitive – indeed, any complex number with positive imaginary part can be written as \frac{ai+b}{ci+d}=\left(\begin{smallmatrix}a&b\\c&d\end{smallmatrix}\right)(i) where ad-bc=1 and a,b,c,d\in \mathbb{R}. The stabilizer of i for this action is exactly the group SO_2(\mathbb{R}) of orthogonal 2\times 2 matrices with determinant 1 – which is a complicated way of saying “all the rotation matrices”. Thus, the upper half plane is SL_2(\mathbb{R}) / SO_2(\mathbb{R}). This should not be too surprising – using SL_2 instead of GL_2 is in order to overcome the equivalence of stretching the lattice, and moding out the group of rotations is because of the equivalence relation of rotating lattices. Finally, we still need to mod out SL_2(\mathbb{Z}) so we just acted with this group on the upper half plane and we found a fundamental domain for this action, which led to a parametrization of the space of lattices.

In a future post we shall see where the dynamics come in, i.e. if H\leq SL_n(\mathbb{R}) is a “nice” subgroup, what can we say about its group action\ orbits on the space X_n = SL_n(\mathbb{R})/SL_n(\mathbb{Z}).

This entry was posted in Uncategorized and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s