curver.kernel.lamination module¶
A module for representing laminations on Triangulations.
-
class
curver.kernel.lamination.
Lamination
(triangulation, geometric)[source]¶ Bases:
object
This represents an (integral) lamination on a triangulation.
Users should create these via Triangulation(…) or Triangulation.lamination(…).
-
dual_weight
(edge)[source]¶ Return the number of component of this lamination dual to the given edge.
Note that when there is a terminal normal arc then we record this weight with a negative sign.
-
intersection
(lamination)[source]¶ Return the geometric intersection number between this lamination and the given one.
-
is_filling
()[source]¶ Return if this Lamination fills the surface, that is, if it intersects all curves on the surface.
- Note that this is equivalent to:
- it meets every non S_{0,3} component of the surface, and
- its boundary is peripheral.
Furthermore, if any component of this lamination is a non-peripheral curve then it cannot fill.
-
is_short
()[source]¶ Return whether this lamination is short.
A lamination is short if all of its non-peripheral components are parallel to edges of the triangulation that it is defined on. This makes computing its components very easy.
-
no_common_component
(lamination)[source]¶ Return that self does not share any components with the given Lamination.
-
non_peripheral
(promote=True)[source]¶ Return the lamination consisting of the non-peripheral components of this Lamination.
-
parallel_components
()[source]¶ Return a dictionary mapping component |–> (multiplicity, edge) for each component of self that is parallel to an edge.
-
peripheral
(promote=True)[source]¶ Return the lamination consisting of the peripheral components of this Lamination.
-
peripheral_components
()[source]¶ Return a dictionary mapping component |–> (multiplicity, vertex) for each component of self that is peripheral around a vertex.
-
side_weight
(edge)[source]¶ Return the number of component of this lamination dual to the given edge.
Note that when there is a terminal normal arc then we record this weight with a negative sign.
-
topological_type
()[source]¶ Return the topological type of this lamination..
Two laminations are in the same mapping class group orbit if and only their topological types are equal. These are labelled graphs and so equal means ‘label isomorphic’, so we return a custom class that uses networkx.is_isomorphic to determine equality.
-
trace
(edge, intersection_point, length)[source]¶ Return the sequence of edges encountered by following along this lamination.
We start at the given edge and intersection point for the specified number of steps. However we terminate early if the lamination closes up before this number of steps is completed.
-