# Quick reference for polyhedra in Sage¶

Author: Jean-Philippe Labbé <labbe@math.fu-berlin.de> Vincent Delecroix <vincent.delecroix@u-bordeaux.fr>

## List of Polyhedron methods¶

H and V-representation

 base_ring() ring on which the polyhedron is defined ambient_space() ambient vector space or free module Hrepresentation_space() vector space or free module used for the vectors of the H-representation Vrepresentation_space() vector space or free module used for the vectors of the V-representation n_Hrepresentation() number of elements in the H-representation (sum of the number of equations and inequalities) n_Vrepresentation() number of elements in the V-representation (sum of vertices, rays and lines) n_equations() number of equations n_inequalities() number of inequalities n_vertices() number of vertices n_rays() number of rays n_lines() number of lines n_facets() number of facets

Polyhedron boolean properties:

 is_empty() tests emptyness is_universe() tests whether a polyhedra is the whole ambient space is_full_dimensional() tests if the polyhedron has the same dimension as the ambient space is_combinatorially_isomorphic() tests whether two polyhedra are combinatorially isomorphic is_compact() tests compactness, or boundedness of a polyhedron is_lattice_polytope() tests whether a polyhedron is a lattice polytope is_inscribed() tests whether the polyhedron is inscribed in a sphere is_minkowski_summand() tests if the polyhedron can be used to produce another given polyhedron using a Minkowski sum. is_neighborly() tests whether the polyhedron has full skeleton until half of the dimension (or up to a certain dimension) is_reflexive() tests if the polar of a lattice polytope is also a lattice polytope (only for Polyhedron over ZZ) is_simple() checks whether the degree of all vertices is equal to the dimension of the polytope is_simplex() test whether a polytope is a simplex is_simplicial() checks whether all faces of the polyhedron are simplices is_lawrence_polytope() tests whether self is a Lawrence polytope is_self_dual() tests whether the polytope is self-dual is_pyramid() test whether the polytope is a pyramid over one of its facets is_bipyramid() test whether the polytope is combinatorially equivalent to a bipyramid over some polytope is_prism() test whether the polytope is combinatorially equivalent to a prism of some polytope

Enumerative properties

 ambient_dim() the dimension of the ambient vector space dim() the dimension of the polytope dimension() alias of dim f_vector() the $$f$$-vector (number of faces of each dimension) flag_f_vector() the flag-$$f$$-vector (number of chains of faces) neighborliness() highest cardinality for which all $$k$$-subsets of the vertices are faces of the polyhedron simpliciality() highest cardinality for which all $$k$$-faces are simplices simplicity() highest cardinality for which the polar is $$k$$-simplicial

Implementation properties

 backend() gives the backend used base_ring() gives the base ring used change_ring() changes the base ring

Transforming polyhedra

 minkowski_sum() Minkowski sum of two polyhedra minkowski_difference() Minkowski difference of two polyhedra minkowski_decompositions() Minkowski decomposition (only for Polyhedron over ZZ) product() cartesian product of two polyhedra intersection() intersection of two polyhedra join() join of two polyhedra convex_hull() convex hull of the union of two polyhedra affine_hull_projection() constructs an affinely equivalent full-dimensional polyhedron barycentric_subdivision() constructs a geometric realization of the barycentric subdivision dilation() scalar dilation face_truncation() truncates a specific face face_split() returns the face splitting of a face of self one_point_suspension() the one-point suspension over a vertex of self (face splitting of a vertex) stack() stack a face of the polyhedron lattice_polytope() returns an encompassing lattice polytope. polar() returns the polar of a polytope (needs to be compact) prism() prism over a polyhedron (increases both the dimension of the polyhedron and the dimension of the ambient space) pyramid() pyramid over a polyhedron (increases both the dimension of the polyhedron and the dimension of the ambient space) bipyramid() bipyramid over a polyhedron (increases both the dimension of the polyhedron and the dimension of the ambient) translation() translates by a given vector truncation() truncates all vertices simultaneously lawrence_extension() returns the Lawrence extension of self on a given point lawrence_polytope() returns the Lawrence polytope of self wedge() returns the wedge over a face of self

Combinatorics

 combinatorial_polyhedron() the combinatorial polyhedron face_lattice() the face lattice hasse_diagram() the hasse diagram combinatorial_automorphism_group() the automorphism group of the underlying combinatorial polytope underlying graph vertex_digraph() digraph (orientation of edges determined by a linear form) vertex_facet_graph() bipartite digraph given vertex-facet adjacency adjacency_matrix() adjacency matrix incidence_matrix() incidence matrix slack_matrix() slack matrix facet_adjacency_matrix() adjacency matrix of the facets vertex_adjacency_matrix() adjacency matrix of the vertices

Integral points

 ehrhart_polynomial() the Ehrhart polynomial for Polyhedron over ZZ ehrhart_polynomial() the Ehrhart polynomial for Polyhedron over QQ ehrhart_quasipolynomial() the Ehrhart quasipolynomial for Polyhedron over QQ h_star_vector() the $$h^*$$-vector for polytopes with integral vertices integral_points() list of integral points integral_points_count() number of integral points get_integral_point() get the i-th integral point without computing all interior lattice points has_IP_property() checks whether the origin is an interior lattice point and compactness (only for Polyhedron over ZZ) random_integral_point() get a random integral point

Getting related geometric objects

 boundary_complex() returns the boundary complex of simplicial compact polyhedron center() returns the average of the vertices of the polyhedron centroid() returns the center of the mass representative_point() returns the sum of the center and the rays a_maximal_chain() returns a maximal chain of faces face_fan() returns the fan spanned by the faces of the polyhedron face_generator() a generator over the faces faces() the list of faces facets() the list of facets normal_fan() returns the fan spanned by the normals of the supporting hyperplanes of the polyhedron gale_transform() returns the (affine) Gale transform of the vertices of the polyhedron hyperplane_arrangement() returns the hyperplane arrangement given by the defining facets of the polyhedron to_linear_program() transform the polyhedra into a Linear Program triangulate() returns a triangulation of the polyhedron fibration_generator() returns an iterator of the fibrations of the lattice polytope (only for Polyhedron over ZZ)

Other

 bounded_edges() generator for bounded edges bounding_box() returns the vertices of an encompassing cube contains() tests whether the polyhedron contains a vector interior_contains() tests whether the polyhedron contains a vector in its interior using the ambient topology relative_interior_contains() tests whether the polyhedron contains a vector in its relative interior find_translation() returns the translation vector between two translation of two polyhedron (only for Polyhedron over ZZ) integrate() computes the integral of a polynomial over the polyhedron radius() returns the radius of the smallest sphere containing the polyhedron radius_square() returns the square of the radius of the smallest sphere containing the polyhedron volume() computes different volumes of the polyhedron restricted_automorphism_group() returns the restricted automorphism group lattice_automorphism_group() returns the lattice automorphism group. Only for PPL Lattice Polytope