Compressed data structures for Heegaard splittings
Heegaard splittings provide a natural representation of closed 3-manifolds by gluing two handlebodies along a common surface. These splittings can be equivalently given by two finite sets of meridians lying on the surface, which define a Heegaard diagram. We present a data structure to effectively represent Heegaard diagrams as normal curves with respect to triangulations of a surface, where the complexity is measured by the space required to express the normal coordinates' vectors in binary. This structure can be significantly more compact than triangulations of 3-manifolds, yielding exponential gains for certain families. Even with this succinct definition of complexity, we establish polynomial-time algorithms for comparing and manipulating diagrams, performing stabilizations, detecting trivial stabilizations and reductions, and computing topological invariants of the underlying manifolds, such as their fundamental and homology groups. We also contrast early implementations of our techniques with standard software programs for 3-manifolds, achieving faster algorithms for the average cases and exponential gains in speed for some particular presentations of the inputs.