Regina: Software for low-dimensional topology

Latest version: 5.0 (September 2016)
Updated packages: 21 November 2016

ContentsExtracts from the users' handbook
News
What is Regina?
Screenshots
Download
Documentation
What's new in version 5.0?
Announcement mailing list
License and citation
Contact
What does Regina do?
Troubleshooting
Genealogy
Who is Regina?
Other pages
Census data and related articles
Building from source
Python & C++: moving from 4.x to 5.x
Important bugs

News

21 November 2016: Ubuntu 16.10 (Yakkety Yak) and OpenSUSE Leap 42.2 packages are now available.

15 November 2016: Regina has moved! It now lives at regina-normal.github.io. This SourceForge site will go offline in the near future, but in the meantime you can update your bookmarks now.

17 October 2016: Mac users can now get Regina from the Mac App Store (for free, of course). There are minor differences between the App Store version and the direct download; see the download section for details.

26 September 2016: Version 5.0 is out! This is a big release—it adds 4-manifolds, normal hypersurfaces, tree decompositions and more, and includes a major overhaul for C++ and Python users as well. Packages are available for MacOS, Windows and GNU/Linux, and there are also customised versions of Regina for the iPad and Sage. You can read more about what's new, or go ahead and download the new version.

5 September 2016: An issue has been found in Regina 4.94–4.96 that affects programmers who enumerate normal surfaces directly in C++. See the bugs page for a discussion and a workaround.

(Back to contents...)

What is Regina?

Regina is a software package for 3-manifold and 4-manifold topologists, with a focus on triangulations, normal surfaces and angle structures.

For 3-manifolds, it includes high-level tasks such as 3-sphere recognition, connected sum decomposition and Hakenness testing, comes with a rich database of census manifolds, and incorporates the SnapPea kernel for working with hyperbolic manifolds. For 4-manifolds, it offers a range of combinatorial and algebraic tools, plus support for normal hypersurfaces.

Regina comes with a full graphical user interface, as well as Python bindings and a low-level C++ programming interface.

See the users' handbook for a full list of features.

(Back to contents...)

Screenshots

All of the screenshots below were taken with Regina 5.0 running on MacOS X. Click on each thumbnail for a full-sized version.

Screenshot thumbnail Studying 3-manifold triangulations
Screenshot thumbnail Normal surfaces and angle structures
Screenshot thumbnail In-built Python scripting

(Back to contents...)

Download

Regina is available for Mac, Windows, GNU/Linux, iPad, and Sage.

If you encounter any problems when you run Regina, you can check the troubleshooting page to see if your problem is discussed there. You also most welcome to contact us for help.

Mac

You have two options for Mac: either download direct from this website, or from the Mac App Store. If you're not sure, then try using the Mac App Store.

MacOS VersionDirect Download Mac App Store
Sierra (10.12)
El Capitan (10.11)
Yosemite (10.10)
Mavericks (10.09)
Download from the
Regina website
Download on the Mac App Store

There are some minor differences between the two versions. The Mac App Store version:

Sandboxing is a security measure that comes with the Mac App Store: it ensures that apps only access files that users themselves choose through the MacOS graphical file dialogs (Open, Save, etc.). For Regina, this means that when you open a Python console through the graphical user interface, you cannot access arbitrary files using Python commands. If this causes you difficulties, then remember:

Windows

Regina on Windows uses a standard point-and-click installer.

Windows VersionInstaller
Windows 8
Windows 7
Download

Notes for Windows:

GNU/Linux

You can download ready-made packages for several GNU/Linux distributions. All of these packages are named regina-normal (to avoid conflicting with the other Regina). Please click on the Download link for your system in the table below.

To keep the installation simple, most packages do not include the MPI (high-performance computing) utilities. If you need these, let Ben know and he can build you an MPI-enabled package.

Distribution Version 32-bit package (i386 or i586) 64-bit package (amd64 or x86_64)
Debian 8.x (jessie) Install Install
unstable (sid) Install Install
Fedora 24 Download Download
23 Download Download
Mageia 5 Download Download
openSUSE Leap 42.2 n/a Download
Leap 42.1 n/a Download
13.2 Download Download
Ubuntu 16.10 (yakkety) Install Install
16.04 LTS (xenial) Install Install
14.04 LTS (trusty) Install Install

For older versions of GNU/Linux:

For newer versions of GNU/Linux:

For other GNU/Linux distributions:

iPad

The iPad app offers most but not all of Regina's functionality. In particular, it does not support Python scripting or manifolds of dimension ≥ 5, and it does not work with some of the more exotic import/export formats. If you need these features then please download one of the desktop versions listed above.

iOS VersionInstaller
iOS 8 and above Download on the App Store

Sage

Matthias Goerner has kindly prepared Sage packages for Regina. These offer a Python-only interface to Regina's mathematical engine—they do not include Regina's graphical user interface or command-line tools. If you need these features then please download one of the desktop versions listed above.

Sage VersionInstaller
Any Instructions

Of course, whilst the packages are written to work with any modern version of Sage, your experiences might vary (particular with an older Sage and/or operating system). Follow the instructions link above for details.

(Back to contents...)

Documentation

Regina comes with rich documentation for both users and developers.

Users' Handbook

The Regina Handbook is full of screenshots, and walks you through the different things that Regina can do.

You can read the handbook from within Regina by selecting Help → Regina Handbook from the menu. You can also read it here online.

Python/C++ API Documentation

If you are doing Python scripting or C++ programming with Regina, there is extensive API documentation for Regina's mathematical engine. This describes the various objects, classes and functions that Regina makes available to you.

You can read the API documentation by selecting Help → Python API Reference from the menu. You can also read it here online.

(Back to contents...)

What's new in version 5.0 (September 2016)?

Some of the main highlights in version 5.0:

Features

Python and C++

Optimisations

(Back to contents...)

Announcement Mailing List

You are welcome to subscribe to the announcement list regina-announce@lists.sourceforge.net. This is a moderated list with extremely low traffic, and is only used for major announcements such as new releases of Regina. You can subscribe or unsubscribe here.

(Back to contents...)

License and Citation

The primary developers of Regina are Benjamin Burton, Ryan Budney, and William Pettersson.

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.

Citation

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 low-dimensional topology,
http://regina.sourceforge.net/, 1999–2016.
Or, in BibTeX:
@misc{regina,
    author = {Benjamin A. Burton and Ryan Budney and William Pettersson and others},
    title = {Regina: Software for low-dimensional topology},
    howpublished = {{\tt http://\allowbreak regina.\allowbreak sourceforge.\allowbreak net/}},
    year = {1999--2016}}

Copying & modification

Regina is copyright © 1999–2016, The Regina development team.

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.

Some of this code comes with additional permissions, which allow it to be distributed through online repositories such as Apple's App Store or Google Play. See the full license in the users' handbook for details.

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.

Detailed License

Regina includes portions of external software for specialised tasks (such as code from SnapPea and SnapPy for some geometric calculations, and code from Normaliz for computing Hilbert bases).

For complete license details, including the full GNU General Public License and information on external software that Regina uses, see the full license in the users' handbook.

Project Hosting

SourceForge We are grateful to SourceForge.net for hosting this project on their servers.

(Back to contents...)

Contact

If you have any suggestions, problems, bugs, wishes, frustrations or otherwise miscellaneous comments, we would really love to hear them. This program is permanently under development and we would like to know what people want out of it.

If you have written your own extensions that you think could be worth putting in the main release, please do write and let us know.

Even if you have no comments to make, it's always nice to hear from people using Regina, even if it's just to say hi. We're always interested to hear how this software is being used.

You can contact us by email: our websites are linked to our names in the author list above.

(Back to contents...)