flipper package¶
Flipper is a program for computing the action of mapping classes on laminations on punctured surfaces using ideal triangulation coordinates.
It can decide the Nielsen–Thurston type of a given mapping class and, for pseudo-Anosov mapping classes, construct a layered, veering triangulation of their mapping torus, as described by Agol.
Get started by starting the GUI:
> import flipper.app
> flipper.app.start()
or by creating a Triangulation using the helper function:
> flipper.create_triangulation(...)
or from an isomorphism signature:
> flipper.create_triangulation_from_iso_sig(...)
or by loading one of the provided EquippedTriangulations using:
> flipper.load(...)
Subpackages¶
flipper.kernel¶
The flipper kernel.
Some of the functions and methods have assumptions on them. We denote in a functions docstring:
- Assumes that …
If the assumptions are met then this function is guaranteed to terminate correctly. If not then this function will either:
- terminate correctly, OR
- a flipper.AssumptionError will be raised.
- Assumes (and checks) that …
If the assumptions are met then this function is guaranteed to terminate correctly. If not then this a flipper.AssumptionError will be raised.
Classes
Bundle |
This represents a triangulation of a surface bundle over the circle. |
Encoding |
This represents a map between two Triagulations. |
EquippedTriangulation |
This represents a triangulation along with a collection of named laminations and mapping classes on it. |
AbortError |
An exception for aborting computations with. |
ApproximationError |
An exception for when a calculation has been done to insufficient accuracy. |
AssumptionError |
An exception for when an assumptions is false. |
ComputationError |
An exception for when computations fail. |
FatalError |
An exception for when we reach something mathematically impossible. |
FlatStructure |
This represents a triangulation with a flat structure. |
Vector2 |
This represents a point in RR^2. |
Lamination |
This represents a lamination on an triangulation. |
Matrix |
This represents a matrix. |
EdgeFlip |
Represents the change to a lamination caused by flipping an edge. |
Isometry |
This represents an isometry from one Triangulation to another. |
LinearTransformation |
Represents the change to a lamination caused by a linear map. |
Move |
This represents an abstract move between triangulations and provides the framework for subclassing. |
Permutation |
This represents a permutation in Sym(n). |
SplittingSequence |
This represents a sequence of flips of an Triangulation. |
SplittingSequences |
This represents a sequence of flips of an Triangulation. |
Corner |
This represents a corner of a triangulation |
Edge |
This represents an oriented edge, labelled with an integer. |
Triangle |
This represents a triangle. |
Triangulation |
This represents a triangulation of a punctured surface. |
Vertex |
This represents a vertex, labelled with an integer. |
Tetrahedron |
This represents a tetrahedron. |
Triangulation3 |
This represents triangulation, that is a collection of tetrahedra. |