Computational topology with Regina: Algorithms, heuristics and   implementations
  Regina is a software package for studying 3-manifold triangulations and normal surfaces. It includes a graphical user interface and Python bindings, and also supports angle structures, census enumeration, combinatorial recognition of triangulations, and high-level functions such as 3-sphere recognition, unknot recognition and connected sum decomposition.   This paper brings 3-manifold topologists up-to-date with Regina as it appears today, and documents for the first time in the literature some of the key algorithms, heuristics and implementations that are central to Regina's performance. These include the all-important simplification heuristics, key choices of data structures and algorithms to alleviate bottlenecks in normal surface enumeration, modern implementations of 3-sphere recognition and connected sum decomposition, and more. We also give some historical background for the project, including the key role played by Rubinstein in its genesis 15 years ago, and discuss current directions for future development. 
Benjamin A. Burton
math.GT cs.CG cs.MS