Regina Calculation Engine
This documentation describes the functions, classes and related entities in the C++ calculation engine, as well as how these can be accessed through Python.
This API documentation is written in terms of C++. However, Python programmers can use exactly the same functions, classes, methods and so on. If the Python version of a function differs from the C++ version, you will see a bold Python: note telling you how it differs.
If you find Regina useful in your research, please consider citing it as you would any other paper that you use. A suggested form of reference is:
Benjamin A. Burton, Ryan Budney, William Pettersson, et al., "Regina: Software for 3-manifold topology and normal surface theory", http://regina.sourceforge.net/, 1999-2012.
The primary developers of Regina are:
Many others have been of assistance with this project, be it through time, knowledge, testing or code. Please see the full list of acknowledgements in the users' handbook.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
Regina includes portions of the SnapPea kernel, which it uses for some geometric calculations. SnapPea was written by Jeff Weeks, and is now maintained by both Jeff Weeks and Nathan Dunfield. The SnapPeaKernel is distributed under the terms of the GNU General Public License, version 2 or any later version, as published by the Free Software Foundation.
Regina also includes code from SnapPy, the successor to SnapPea. SnapPy was written by M. Culler, N. M. Dunfield and J. R. Weeks, and is also released under the terms of the GNU General Public License.
Regina includes a copy of libnormaliz, which it uses to help with the enumeration of fundamental normal surfaces. Normaliz was written by Winfried Bruns, Bogdan Ichim and Christof Soeger. It is distributed under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Regina includes snippets of code from Orb, for use in importing and exporting files in Orb / Casson format. Orb is based on SnapPea (see above) with additional code written by Damian Heard, who has also given permission for his code to be distributed under the terms of the GNU General Public License.