The Regina Handbook

Benjamin Burton

Revision 4.5 (2008-05-17)

This program is licensed under the terms of the GNU General Public License.

Regina is a suite of mathematical software for 3-manifold topologists. It deals with the study of 3-manifold triangulations and includes support for normal surfaces and angle structures.

This handbook is current as of 17 May 2008 for Regina 4.5.


Table of Contents

1. Introduction
Getting Started
What does Regina do?
Triangulations
Census Creation
Normal Surfaces
Angle Structures
Splitting Surfaces
Scripting
Interfaces
Documentation
Data Files
Genealogy
Citing Regina
Who is Regina?
2. Working with Packets
The Packet Tree
Available Packet Types
Container
Text
Triangulation
Normal Surface List
Surface Filter
Angle Structure List
Script
The Packet Tree Menu
Creating New Packets
Cloning
Viewing and Editing
Renaming
Deleting
Refreshing a Subtree
3. Triangulations
Creation
New Triangulations
Imported Triangulations
Census Creation
Analysis
Basic Properties
Face Gluings
Skeletal Information
Algebraic Properties
Combinatorial Composition
Properties of Normal Surfaces
SnapPea Calculations
Census Lookup
Modification
Editing Face Gluings
Elementary Moves
Global Subdivision
Global Simplification
Extensions
0-Efficiency
Double Cover
Crushing Normal Surfaces
Decomposition
Component Decomposition
Connected Sum Decomposition
4. Normal Surfaces
Creation
Analysis
List Properties
Individual Surface Coordinates
Individual Surface Properties
Original Matching Equations
Crushing and Cutting
Crushing a Surface
Cutting Along a Surface
Filtering
Creating Filters
5. Angle Structures
Creation
Analysis
List Properties
Individual Angle Structures
Individual Structure Properties
6. Importing and Exporting Data
Importing
Regina Data File
SnapPea Triangulation
Orb / Casson Triangulation
Dehydrated Triangulation List
Python Script
Exporting
Regina Data File
Regina Data File (Uncompressed)
SnapPea Triangulation
C++ Source
CSV Surface List
Python Script
7. Python Scripting
Scripting Overview
Invoking Scripting
Using Python
Documentation
Caveats
Cooperating with the GUI
Ownership Concerns
International Characters
Sample Python Sessions
Working with a triangulation
Working with a packet tree
Reporting progress of long operations
8. Configuration
General Options
Triangulation Options
Normal Surface Options
Census Options
Python Options
Python Libraries
SnapPea Options
9. Using Regina in Other Code
Installing the Development Files
Other Required Software
Compiler and Linker Flags
10. Troubleshooting and FAQ
11. Bug Tracking and Mailing Lists
12. License and Acknowledgements
License Details
Citation
Copying and Modification
SnapPea Kernel
Orb Kernel
Acknowledgements
I. Main Applications
regina-kde - Regina KDE user interface
regina-python - Regina command-line Python interface
II. Specialised Utilities
regconcat - Combine several Regina data files
regconvert - Convert between different Regina file formats
regfiledump - Dump the contents of a Regina data file
regfiletype - Identify the formats of Regina data files
sigcensus - Form a census of splitting surface signatures
tricensus - Form a census of 3-manifold triangulations
tricensus-manager - Distribute a triangulation census amongst several machines
tricensus-mpi - Distribute a triangulation census amongst several machines using MPI
tricensus-mpi-status - Summarise the log file of an MPI census of triangulations
trisetcmp - Compare triangulations between two Regina data files
III. Data File Format
abeliangroup - An abelian group
allowstrict - Does an angle structure list span a strict structure?
allowtaut - Does an angle structure list span a taut structure?
cancrush - Can a normal surface be safely crushed?
compact (filter) - A constraint on compactness
compact (surface) - Is a normal surface compact?
connected - Is a normal surface connected?
euler (filter) - A constraint on Euler characteristic
euler (surface) - The Euler characteristic of a normal surface
filter - A normal surface filter
filter (combination) - A logical combination surface filter
filter (properties) - A surface filter that uses basic properties
flags - An arbitrary set of flags
fundgroup - The fundamental group of a triangulation
group - A group presentation
H1 - The first homology group of a triangulation
H1Bdry - The first homology group of the boundary of a triangulation
H1Rel - The relative first homology group of a triangulation
H2 - The second homology group of a triangulation
line - A single line of text
op - A single logical operation
orbl (filter) - A constraint on orientability
orbl (surface) - Is a normal surface orientable?
packet - A single packet in a data file
packet (angle structure list) - An angle structure list packet
packet (container) - A container packet
packet (normal surface list) - A normal surface list packet
packet (script) - A script packet
packet (surface filter) - A surface filter packet
packet (text) - A text packet
packet (triangulation) - A triangulation packet
params - Parameters for a normal surface enumeration
realbdry (filter) - A constraint on real boundary
realbdry (surface) - Does a normal surface have real boundary?
reginadata - An entire Regina data file
reln - A relation in a group presentation
splitsfce - Does a triangulation have a splitting surface?
struct - A single angle structure
surface - A single normal surface
tag - An individual packet tag
tet - A single tetrahedron in a triangulation
tetrahedra - The tetrahedra forming a triangulation
text - An arbitrary amount of text
turaevviro - A single Turaev-Viro invariant for a triangulation
twosided - Is a normal surface two-sided?
var - A single script variable
zeroeff - Is a triangulation 0-efficient?
A. Version History
Bibliography
Index