curver.kernel.encoding.Mapping

class curver.kernel.encoding.Mapping(sequence)[source]

Bases: curver.kernel.encoding.Encoding

An Encoding where every move is a FlipGraphMove.

Hence this encoding is a sequence of moves in the same flip graph.

flip_mapping()[source]

Return a Mapping equal to self that only uses EdgeFlips and Isometries.

homology_matrix()[source]

Return a matrix describing the action of this mapping on first homology (relative to the punctures).

The matrix is given with respect to the homology bases of the source and target triangulations.

intersection_matrix()[source]

Return the matrix M = {signed_intersection(self(e_i), e’_j)}_{ij}. Here e_i and e’_j are the edges of self.source_triangulation and self.target_triangulation respectively.

Except when on S_{1,1}, this uniquely determines self.

inverse()

Return the inverse of this encoding.

package()

Return a small amount of info that self.source_triangulation can use to reconstruct this triangulation.

pl_action(multicurve)[source]

Return the PartialLinearFunction that this Mapping applies to the given multicurve.

promote()

Return this Encoding in its finest form.

self_image()[source]

Return the image of self.source_triangulation under self.

simplify()[source]

Return a new Mapping that is equal to self.

This is obtained by combing the image of the source triangulation under self and so is (hopefully) simpler than self since it depends only on the endpoints.

vertex_map()[source]

Return the dictionary (vertex, self(vertex)) for each vertex in self.source_triangulation.

When self is a MappingClass this is a permutation of the vertices.