[Math] Symbolic coordinates for a hyperbolic grid

discrete mathematicshyperbolic-geometry

Rephrasing     (one year later)    (original question is below)


Apparently the original question wasn't clear, or nobody knows an answer (or both). So I will try to rephrase it.

Look at your favorite hyperbolic grid. This question asks for a labeling system for the points.

Of course we could draw the grid on the Poincare disk, and use real numbers (the (x,y) coordinates of each point), but in practice that would raise all sorts of precision issues that could surely be avoided if one had a proper symbolic coordinate system. You shouldn't need real numbers if you're staying on grid points!

Just like (2,3)+(0,1) is trivial to do by hand (or in your head) for the square grid, we'd like some form of symbolic coordinates (i.e. consisting of finite sequences of symbols) for a hyperbolic grid, in which simple operations on small grid vectors are similarly easy.

If you take some sequence of left and right turns in a hyperbolic grid city, what should you keep track of in your head so you can take the optimal route back to your starting point? In a Euclidean square grid, it is {(int)X, (int)Y, (enum)direction you are facing}, and we all know how to use this. Is there any hyperbolic grid where this question has a nice answer?


Original Question

If we consider the Euclidean plane, then a square grid works well with using two integers (the coordinates) as a representation for vectors that lie on the grid.

Does anybody know of a similarly nice representation for working in the hyperbolic plane?

Desirable features of any such system:

$-$
It should be easy to add two vectors.

$-$
It should be easy to see if two vectors are the same.

$-$
It should be easy to see if two vectors are close.

$-$
It should be easy to rotate a vector by an angle that is a symmetry of the grid.

$-$
Every point in the plane should be near some vector. (The grid shouldn't have large empty regions.)

Note that "addition" using continuous coordinates would most naturally be defined in terms of parallel transport, and it is neither commutative nor associative. On a grid, however, the issue of orientation needs to be addressed differently, since parallel transport along arbitrary grid vectors will introduce rotations that are not a symmetry of the grid, so to remain on the grid, addition will need to be defined using something other than parallel transport.

Since hyperbolic grids have an exponential number of points (as a function of distance from the origin), our symbolic coordinates will need to have a length proportional to the length of the vector.

Don Hatch has a web page which gives some possible grids.

("Easy" means an efficient algorithm that is doable by hand, like how the algorithms for addition and subtraction using the standard digit-sequence representation of integers can be used for the Euclidean square grid.
Using hyperbolic functions of real numbers, always keeping track of enough digits to identify the nearest grid point, does not count as easy!)


Addendum:
Many readers seem to be disturbed by a little voice saying "But vectors don't make sense in the hyperbolic plane!": What that voice is really saying is that the hyperbolic plane doesn't give you all the nice properties you are used to in Euclidean space or in vector spaces. So if you define vectors as objects having specific properties you are used to (such as having a direction that is unaffected by parallel transport), then that definition may not correspond to anything in the hyperbolic world. You could use the term isometry, but that is typically a fixed mapping from the space to itself, and in the hyperbolic plane the isometry corresponding to a vector would depend on the starting point. (However, isometries will be central to any solution, I assume.) And a geodesic is a fixed path within the space, no different from a hyperbolic line or segment. The paper "What is a vector in hyperbolic geometry?" offers one solution. Gyrovectors offer another. I deliberately leave them undefined in this question, as I am looking for any workable system.

Best Answer

Where concepts break

There is no such thing as a parallel transport isometry in hyperbolic geometry. You can have a translation along a geodesic axis, but points off that axis will be transported along a curve. The curve has constant distance to the axis, but is itself not a geodesic. Therefore, your concept of a vector as a combination of length and direction won't translate to the hyperbolic plane.

Transformations as building blocks

The other formulation you use in that comment, “what takes you from A to B”, is more readily applicable. You can think of vectors as prepresentants for specific isometries, and you can think of the grid points as the oribit of a given point under these isometries. You can come up with isometries of the hyperbolic plane which yield similar results. Instead of a vector you'd describe this class the way you'd describe an arbitrary isometry of the hyperbolic plane. How you do that very much depends on preferences and the model you employ, but for the Poincaré disc model you'd probably use 4 complex numbers to describe a Möbius transformation. You can reduce this to 4 real numbers by using the upper half plane, or by expliting the specific class of possible Möbius transformations, and perhaps even 3 numbers only if you dehomogenize in some way. Expressed in $\mathbb{CP}^1$, the complex projective line, concatenation of Möbius transformations is simply a multiplication of matrices, so that's what would become of your vector addition.

Congruent polygons

Or you can think of integer grid in the Euclidean plane as a grid made up from squares, and generalize that. In general you have regular $m$-gons, and at each corner $n$ of them meet. Take $2m+2n<mn$ and you are in hyperbolic geometry. The numbers $m$ and $n$ define all the angles and therefore all the lengths as well, as there isn't a global scaling isometry in hyperbolic geometry either. This paragraph will give you a good intuition as to what grids can look like, while the paragraph before this gives you an idea of how to do computations. Together I believe these two concepts should give you as good a toolbox as you can hope for, given the nature of the question and the time it has remained unanswered.

Representation as a group

Here is something I do in practice: take the polygons described above, and split them along their axes of symmetry to obtain elementary right triangles. Now you can take a single of these triangles, label its edges $a$, $b$ and $c$, and obtain any triangle from your tessalation using a combination of these reflections (see my current avatar). This corresponds to a finitely presented group: $$\left<a,b,c\;\middle|\;1=a^2=b^2=c^2=(ab)^2=(bc)^m=(ca)^n\right>$$ After that, you can do computations in that group. The problem of comparing two labels corresponds to the word problem in this group, which can in fact be solved by computing a canonical form using a deterministic finite state automaton obtained from a string rewrite system by applying the Knuth-Bendix procedure. There might be a slight modification required if you want to label vertices instead of triangles, but in general this approach should work for the tessalations you referred to (i.e. those by Don Hatch). I'm writing up large portions of this as part of my PhD, so I'll likely post a follow-up on this one day.

Related Question