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

graph(), vertex_graph()

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

affine_hull()

returns the smallest affine subspace containing the polyhedron

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

join_of_Vrep(), least_common_superface_of_Vrep()

smallest face containing specified Vrepresentatives

meet_of_Hrep(), greatest_common_subface_of_Hrep()

largest face contained in specified Hrepresentatives

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