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)[source]¶
- Bases: - 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)) - >>> from sage.all import * >>> from sage.geometry.polyhedron.ppl_lattice_polytope import LatticePolytope_PPL, C_Polyhedron >>> from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement >>> M = LatticeEuclideanGroupElement([[Integer(1),Integer(2)],[Integer(2),Integer(3)],[-Integer(1),Integer(2)]], [Integer(1),Integer(2),Integer(3)]) >>> M The map A*x+b with A= [ 1 2] [ 2 3] [-1 2] b = (1, 2, 3) >>> M._A [ 1 2] [ 2 3] [-1 2] >>> M._b (1, 2, 3) >>> M(vector([Integer(0),Integer(0)])) (1, 2, 3) >>> M(LatticePolytope_PPL((Integer(0),Integer(0)),(Integer(1),Integer(0)),(Integer(0),Integer(1)))) A 2-dimensional lattice polytope in ZZ^3 with 3 vertices >>> _.vertices() ((1, 2, 3), (2, 4, 2), (3, 5, 5)) - codomain_dim()[source]¶
- 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 - >>> from sage.all import * >>> from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement >>> M = LatticeEuclideanGroupElement([[Integer(1),Integer(2)],[Integer(2),Integer(3)],[-Integer(1),Integer(2)]], [Integer(1),Integer(2),Integer(3)]) >>> M The map A*x+b with A= [ 1 2] [ 2 3] [-1 2] b = (1, 2, 3) >>> 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 - >>> from sage.all import * >>> zero_map = LatticeEuclideanGroupElement([[Integer(0),Integer(0)],[Integer(0),Integer(0)],[Integer(0),Integer(0)]], [Integer(0),Integer(0),Integer(0)]) >>> zero_map.codomain_dim() 3 
 - domain_dim()[source]¶
- 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 - >>> from sage.all import * >>> from sage.geometry.polyhedron.lattice_euclidean_group_element import LatticeEuclideanGroupElement >>> M = LatticeEuclideanGroupElement([[Integer(1),Integer(2)],[Integer(2),Integer(3)],[-Integer(1),Integer(2)]], [Integer(1),Integer(2),Integer(3)]) >>> M The map A*x+b with A= [ 1 2] [ 2 3] [-1 2] b = (1, 2, 3) >>> M.domain_dim() 2 
 
- exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeError[source]¶
- Bases: - Exception- Base class for errors from lattice polytopes 
- exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopeNoEmbeddingError[source]¶
- Bases: - LatticePolytopeError- Raised when no embedding of the desired kind can be found. 
- exception sage.geometry.polyhedron.lattice_euclidean_group_element.LatticePolytopesNotIsomorphicError[source]¶
- Bases: - LatticePolytopeError- Raised when two lattice polytopes are not isomorphic.