Computing a Dirichlet domain for a hyperbolic surface

The goal of this paper is to exhibit and analyze an algorithm that takes a given closed orientable hyperbolic surface and outputs an explicit Dirichlet domain. The input is a fundamental polygon with side pairings. While grounded in topological considerations, the algorithm makes key use of the geometry of the surface. We introduce data structures that reﬂect this interplay between geometry and topology and show that the algorithm ﬁnishes in polynomial time, in terms of the initial perimeter and the genus of the surface