curver.kernel.crush module

A module for representing more advanced ways of changing triangulations.

class curver.kernel.crush.Crush(source_triangulation, target_triangulation, curve, matrix)[source]

Bases: curver.kernel.moves.Move

This represents the effect of crushing along a curve.

apply_homology(homology_class)[source]

Return the homology class obtained by mapping the given homology class through this move.

apply_lamination(lamination)[source]

Return the lamination obtained by mapping the given lamination through this move.

inverse()[source]

Return the inverse of this move.

package()[source]

Return a small amount of data such that self.source_triangulation.encode([data]) == self.encode().

class curver.kernel.crush.Lift(source_triangulation, target_triangulation, curve, matrix)[source]

Bases: curver.kernel.moves.Move

This represents the inverse of crushing along a curve.

apply_homology(homology_class)[source]

Return the homology class obtained by mapping the given homology class through this move.

apply_lamination(lamination)[source]

Return the lamination obtained by mapping the given lamination through this move.

inverse()[source]

Return the inverse of this move.