Regina: Software for low-dimensional topology

Latest version: 7.3 (March 2023)
Updated packages: 23 June 2023

ContentsMoving to Regina 7.x
News
What does Regina do?
Screenshots
Download
Documentation
What's new in version 7.3?
Announcement mailing list
License and citation
Contact
Important changes
Detailed C++/Python guide
Other pages
Supporting data
Building from source
GitHub repository
Past important bugs
Troubleshooting and FAQ

News

Two bugs have been found: these affect only C++/Python users, and only in very specific scenarios. One bug affects splitting disconnected normal surfaces into connected components; the other affects the identification of normalised triangle/tetrahedron links. See the bugs page for full details, plus workarounds that you can use until Regina 7.4 comes out.

23 June 2023: Added packages for openSUSE Leap 15.5. This follows from last month's packages for Debian 12 (Bookworm), Fedora 38, and Ubuntu 23.04 (Lunar Lobster). Follow the install links for details.

18 March 2023: Regina 7.3 is out! You can read all about what's new, or just go ahead and download it.

10 December 2021: Regina 7.0 is out! This is possibly the biggest overhaul that Regina has had in its 20+ year history. You should read these important notes regarding backward-incompatible changes in the new release.

(Back to contents...)

What is Regina?

Regina is a software package for 3-manifold and 4-manifold topologists, with a focus on triangulations, knots and links, 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. For knots and links, Regina can perform combinatorial manipulation, compute knot polynomials, and work with several import/export formats.

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 detailed list of features.

(Back to contents...)

Screenshots

Click on each thumbnail below for a full-sized version of the screenshot.

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

(Back to contents...)

Download

The following downloads are available:

Mac
Windows
GNU/Linux
PyPI / SageMath
iPad
Source code

All direct downloads come with SHA-1 checksums and SHA-256 checksums, signed with Ben Burton's GPG key.

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

Regina runs natively on both Intel and Apple Silicon machines. It ships with its own copy of Python 3, which is bundled inside Regina's macOS app.

You can download Regina either from this website, or via the App Store (for free of course). Not sure which? Start with the App Store version (but read below).

macOS version Website download App store
Ventura (13)
Monterey (12)
Big Sur (11)
Catalina (10.15)
Download here Download on the Mac App Store

There are some minor differences between the website and App Store versions. The App Store version:

Sandboxing is a security measure that comes with all App Store downloads: it ensures that apps only access files that you explicitly choose through the graphical file dialogs (Open, Save, etc.). For Regina, this means that when you open a Python console or run command-line tools (regina-python, regfiledump, etc.), the only personal files you can access are those in your Downloads folder. You can still access world-readable files, such as those in your Applications folder.

Windows

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

Regina now only supports 64-bit Windows, and only on Intel/AMD64 chipsets. Almost all modern Windows installations are of this type, and so this is almost certainly the version that you want.

If you still have an ancient 32-bit Windows system and you need to get Regina running on it, please let Ben know. If your machine has an ARM64 chipset (e.g., you have a Mac with Apple Silicon), you will need to run Regina under a different operating system (e.g., macOS or GNU/Linux).

Windows version Installer
Windows 11
Windows 10
Download

When running the installer you may see a security warning, such as “Microsoft Defender SmartScreen prevented an unrecognized app from starting ...”, or a message from SmartScreen Filter that “This program might harm your computer”. This is because Microsoft has not added Regina to its database of known applications. Click More info or More options and you should be able to run the installer anyway.

GNU/Linux

You can download ready-made packages for several GNU/Linux distributions through Regina's online package repositorites. These repositories integrate with your native package manager (apt, dnf/yum, zypper, etc.) to help you keep Regina up-to-date automatically.

For instructions on setting up Regina's package repositories, click on the Install link for your system in the table below.

Regina's GNU/Linux packages are named regina-normal (to avoid conflicting with the other Regina).

Distribution Versions Architectures Instructions
Arch Linux Rolling release x86_64 Install
Debian 12.x (bookworm)
11.x (bullseye)
amd64
arm64
i386
Install
unstable (sid) Everything
Fedora 38
37
36
aarch64
x86_64
Install
openSUSE Leap 15.5
Leap 15.4
aarch64
x86_64
Install
Ubuntu 23.04 (lunar)
22.10 (kinetic)
22.04 LTS (jammy)
20.04 LTS (focal)
amd64
arm64
Install

Architectures:

For older versions of GNU/Linux:

For newer versions of GNU/Linux:

For other GNU/Linux distributions:

PyPI / SageMath

Marc Culler, Nathan Dunfield and Matthias Goerner have kindly prepared a PyPI package that allows Regina to be used with SageMath. This includes the Python interface to Regina's mathematical engine, but does not include Regina's graphical user interface or command-line tools.

SystemInstructions
PyPI Install

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

iPad

The iPad app is currently in hiatus. It has not been updated since before the pandemic began, and there is a lot of rewriting to do. Hopefully Ben will have time to do this some time during 2023.

Source code

For other systems not listed above, you will need to build Regina from its source code.

You can download the source code here.

Please see the separate page on building Regina for instructions on how to build Regina and what libraries and tools you will need to have installed.

(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:

(Back to contents...)

What's new in version 7.3?

Regina 7.3 is primarily a maintenance release.

Bugs fixed:

Other improvements:

(Back to contents...)

Announcement Mailing List

You are welcome to subscribe to the announcement list regina-announce@lists.sourceforge.net (this list is still hosted on SourceForge, and will transition at a later date). 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-normal.github.io/, 1999–2023.
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-normal.\allowbreak github.\allowbreak io/}},
    year = {1999--2023}}

Copying & modification

Regina is copyright © 1999–2023, 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.

(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...)

Privacy Policy

Regina does not collect any data.

(Back to contents...)