Lattice Euclidean Group Elements

The classes here are used to return particular isomorphisms of PPL lattice polytopes.

class sage.geometry.polyhedron.lattice_euclidean_group_element.LatticeEuclideanGroupElement(A, b)

Bases: sage.structure.sage_object.SageObject

An element of the lattice Euclidean group.

Note that this is just intended as a container for results from LatticePolytope_PPL. There is no group-theoretic functionality to speak of.

EXAMPLES:

sage: from sage.geometry.polyhedron.ppl_lattice_polytope import LatticePolytope_PPL, C_Polyhedron
sage: from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement
sage: M = LatticeEuclideanGroupElement([[1,2],[2,3],[-1,2]], [1,2,3])
sage: M
The map A*x+b with A=
[ 1  2]
[ 2  3]
[-1  2]
b =
(1, 2, 3)
sage: M._A
[ 1  2]
[ 2  3]
[-1  2]
sage: M._b
(1, 2, 3)
sage: M(vector([0,0]))
(1, 2, 3)
sage: M(LatticePolytope_PPL((0,0),(1,0),(0,1)))
A 2-dimensional lattice polytope in ZZ^3 with 3 vertices
sage: _.vertices()
((1, 2, 3), (2, 4, 2), (3, 5, 5))
codomain_dim()

Return the dimension of the codomain lattice

EXAMPLES:

sage: from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement
sage: M = LatticeEuclideanGroupElement([[1,2],[2,3],[-1,2]], [1,2,3])
sage: M
The map A*x+b with A=
[ 1  2]
[ 2  3]
[-1  2]
b =
(1, 2, 3)
sage: M.codomain_dim()
3

Note that this is not the same as the rank. In fact, the codomain dimension depends only on the matrix shape, and not on the rank of the linear mapping:

sage: zero_map = LatticeEuclideanGroupElement([[0,0],[0,0],[0,0]], [0,0,0])
sage: zero_map.codomain_dim()
3
domain_dim()

Return the dimension of the domain lattice

EXAMPLES:

sage: from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement
sage: M = LatticeEuclideanGroupElement([[1,2],[2,3],[-1,2]], [1,2,3])
sage: M
The map A*x+b with A=
[ 1  2]
[ 2  3]
[-1  2]
b =
(1, 2, 3)
sage: M.domain_dim()
2
exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeError

Bases: Exception

Base class for errors from lattice polytopes

exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeNoEmbeddingError

Bases: sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeError

Raised when no embedding of the desired kind can be found.

exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopesNotIsomorphicError

Bases: sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeError

Raised when two lattice polytopes are not isomorphic.