Curver Package API

Curver is a program for computations in the curve complex.


The curver kernel.


Arc A MultiArc with a single component.
MultiArc An IntegralLamination in which every component is an Arc.
Crush This represents the effect of crushing along a curve.
Lift This represents the inverse of crushing along a curve.
Curve A MultiCurve with a single component.
MultiCurve An IntegralLamination in which every component is a Curve.
CurveGraph This represents the curve complex of a surface.
Encoding This represents a map between two Triangulations.
Mapping An Encoding where every move is a FlipGraphMove.
MappingClass A Mapping from a Triangulation to itself.
HomologyClass This represents a homology class of a triangulation (relative to its vertices).
Lamination This represents a lamination on a triangulation.
MappingClassGroup This represents a triangulation along with a collection of named mapping classes on it.
EdgeFlip Represents the change to a curve caused by flipping an edge.
FlipGraphMove A Move between two triangulations in the same flip graph.
Isometry This represents an isometry from one Triangulation to another.
Move A basic move from one triangulation to another.
Permutation This represents a permutation on 0, 1, …, N-1.
Edge This represents an oriented edge, labelled with an integer.
Triangle This represents a triangle.
Triangulation This represents a triangulation of a punctured surface.
HalfTwist This represents the effect of half-twisting a short arc.
Twist This represents the effect of twisting a short curve.

curver.load module

curver.load.S_g_n(g, n)[source]

Return the requested example MappingClassGroup.

The mapping class group can either be specified by:

  • a pair (g, n) in which case the Lickorish generating set is returned (see Figures 4.5 and 4.10 of [FarbMarg12]), or
  • a string ‘S_g_n’ in which case the corresponding flipper / Twister generating set is returned.