flipper.kernel.moves.Isometry

class flipper.kernel.moves.Isometry(source_triangulation, target_triangulation, label_map)[source]

Bases: flipper.kernel.moves.Move

This represents an isometry from one Triangulation to another.

Triangulations can create the isometries between themselves and this is the standard way users are expected to create these.

applied_geometric(lamination, action)[source]

Return the action and condition matrices describing the PL map applied to the geometric coordinates of the given lamination after post-multiplying by the action matrix.

apply_algebraic(vector)[source]

Return the list of algebraic intersection numbers corresponding to the image of the given lamination under self.

apply_geometric(vector)[source]

Return the list of geometric intersection numbers corresponding to the image of the given lamination under self.

encode()

Return the Encoding induced by this isometry.

extend_bundle(triangulation3, tetra_count, upper_triangulation, lower_triangulation, upper_map, lower_map)[source]

Modify triangulation3 to extend the embedding of upper_triangulation via upper_map under this move.

inverse()[source]

Return the inverse of this isometry.

package()[source]

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

pl_action(index, action)[source]

Return the action and condition matrices describing the PL map applied to the geometric coordinates by the cell of the specified index after post-multiplying by the action matrix.