Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have been working with Ricci flow in the euclidean and hyperbolic space but have been having considerable trouble determining how to generate a universal covering space for complex hyperbolic meshes.

Given a fundamental domain which is embedded into the Poincaré disk; I am unsure how to go about determining multiple levels of the UCS.

The primary issue that I am having is the inability to understand how to programmically go about using complex Möbius generating functions.

Any help understanding the following would be great help:

Let $\{ρ(a_k),ρ(a_k^{−1})\} ⊂ ∂ D$ be two boundary curve segments. We want to find a Möbius transformation $β_k$, such that $β_k(ρ(a^{−1}_k)) = ρ(a_k)$. Let their starting and ending vertices be $∂ρ(a^{−1}_k) = \{q_0, p_0\}$ and $∂ρ(a_k) = \{p_1, q_1\}$, then the Möbius transformation $β_k$ maps $(p_0, q_0)$ to $(p_1, q_1)$. $β_k$ is the Fuchsian generator corresponding to $b_k$. Similarly, we can compute $α_k$ which maps $ρ(b_k)$ to $ρ(b^{−1}_k)$. Therefore, we can compute a set of canonical Fuchsian group generators $\{α_1,β_1,α_2,β_2,\ldots,α_g,β_g\}$.

share|cite|improve this question
I've added LaTeX formatting to your question; hopefully I have interpreted things correctly. – Zev Chonoles Dec 16 '11 at 7:00
thank you yes, that is clearer. i was actually able to find a solution: – COner Dec 16 '11 at 20:29
You can write up your solution and accept it, so that the whole web can get the benefit of the answer. This is explicitly encouraged by the SE network of sites; see here and here. – Zev Chonoles Dec 22 '11 at 12:53
essentially that site provides source code for hyperbolic tessellations given an already embedded fundamental domain. this is useful because we can use the cut edges of the FD to use as the tessellation borders. These borders are then defined as hyperbolic lines by using the start/end vertex of the cut and once that is calculated the hyperbolic reflection must then be computed recursively until the set level of depth has been reached. Full details of how to implement the reflection / poincare disk / hyperbolic space can be found in the code at that website (java). – COner Dec 27 '11 at 18:29

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.