A convex polytope is a special case of a polytope, having the additional property that it is also a convex set of points in the ndimensional space R^{n}.^{[1]} Some authors use the terms "convex polytope" and "convex polyhedron" interchangeably, while others prefer to draw a distinction between the notions of a polyhedron and a polytope.
In addition, some texts require a polytope to be a bounded set, while others^{[2]} (including this article) allow polytopes to be unbounded. The terms "bounded/unbounded convex polytope" will be used below whenever the boundedness is critical to the discussed issue.
Convex polytopes play an important role both in various branches of mathematics and in applied areas, most notably in linear programming.
A comprehensive and influential book in the subject, called Convex Polytopes, was published in 1967 by Branko Grünbaum. In 2003 the 2nd edition of the book was published, with significant additional material contributed by new writers.^{[1]}
In Grünbaum's book, and in some other texts in discrete geometry, convex polytopes are often simply called "polytopes". Grünbaum points out that this is solely to avoid the endless repetition of the word "convex", and that the discussion should throughout be understood as applying only to the convex variety.
A polytope is called fulldimensional, if it is an ndimensional object in R^{n}.
Contents 
A convex polytope may be defined in a number of ways, depending on what is more suitable for the problem at hand. Grünbaum's definition is in terms of a convex set of points in space. Other important definitions are; as the intersection of halfspaces (halfspace representation), as the convex hull of a set of points (vertex representation).
In his book Convex polytopes, Grünbaum defines a convex polytope as a compact convex set:
This is equivalent to defining a finite convex polytope as the convex hull of a finite set of points, where the finite set must contain the set of extreme points of the polytope. Such a definition is called a vertex representation (Vrepresentation or Vdescription).^{[1]} There exist infinitely many Vdescriptions of a convex polytope. However, for a fulldimensional convex polytope, the minimal Vdescription is in fact unique and is given by the set of the vertices of the polytope.^{[1]}
A convex polytope may be defined as an intersection of a finite number of halfspaces. Such definition is called a halfspace representation (Hrepresentation or Hdescription).^{[1]} There exist infinitely many Hdescriptions of a convex polytope. However, for a fulldimensional convex polytope, the minimal Hdescription is in fact unique and is given by the set of the facetdefining halfspaces.^{[1]}
A closed halfspace can be written as a linear inequality:^{[1]}
where n is the dimension of the space containing the polytope under consideration. Hence, a closed convex polytope may be regarded as the set of solutions to the system of linear inequalities:
where m is the number of halfspaces defining the polytope. This can be concisely written as the matrix inequality:
where A is an m×n matrix, x is an n×1 column vector of variables, and b is an m×1 column vector of constants.
An open convex polytope is defined in the same way, with strict inequalities used in the formulas instead of the nonstrict ones.
The coefficients of each row of A and b correspond with the coefficients of the linear inequality defining the respective halfspace. Hence, each row in the matrix corresponds with a supporting hyperplane of the polytope, a hyperplane bounding a halfspace that contains the polytope. If a supporting hyperplane also intersects the polytope, it is called a bounding hyperplane (since it is a supporting hyperplane, it can only intersect the polytope at the polytope's boundary).
The foregoing definition assumes that the polytope is fulldimensional. If it is not, then the solution of Ax ≤ b lies in a proper affine subspace of R^{n} and discussion of the polytope may be constrained to this subspace.
In general the intersection of arbitrary halfspaces need not be bounded. However if one wishes to have a definition equivalent to that as a convex hull, then bounding must be explicitly required.
The finite basis theorem^{[2]} is an extension of the notion of Vdescription to include infinite polytopes. The theorem states that a convex polyhedron is the convex sum of its vertices plus the conical sum of the direction vectors of its infinite edges.
Every (bounded) complex polytope is the image of a simplex, as every point is a convex combination of the (finitely many) vertices. However, polytopes are not in general isomorphic to simplices. This is in contrast to the case of vector spaces and linear combinations, every finite dimensional vector space being not only an image of, but in fact isomorphic to, Euclidean space of some dimension (or analog over other fields).
Given a convex polytope P defined by the matrix inequality , if each row in A corresponds with a bounding hyperplane and is linearly independent of the other rows, then each facet of P corresponds with exactly one row of A, and vice versa. Each point on a given facet will satisfy the linear equality of the corresponding row in the matrix. (It may or may not also satisfy equality in other rows). Similarly, each point on a ridge will satisfy equality in two of the rows of A.
In general, an (n − j)dimensional face satisfies equality in j specific rows of A. These rows form a basis of the face. Geometrically speaking, this means that the face is the set of points on the polytope that lie in the intersection of j of the polytope's bounding hyperplanes.
The faces of a convex polytope thus form a lattice called its face lattice, where the partial ordering is by set containment of faces. To ensure that every pair of faces has a join and a meet in the face lattice, the polytope itself and the empty set are also considered 'faces'. The whole polytope is the unique maximum element of the lattice, and the empty set, considered to be a (−1)dimensional face (a null polytope) of every polytope, is the unique minimum element of the lattice.
Two polytopes are called combinatorially isomorphic if their face lattices are isomorphic.
The polytope graph (polytopal graph, graph of the polytope) is the set of vertices and edges of the polytope only  higher dimensional faces are ignored. In fact, for a simple polytope the face lattice is completely determined by its polytope graph (Blind & ManiLevitska (1987), a simple proof by Kalai (1988))^{[3]}. The latter fact is instrumental in the proof that from the point of view of computational complexity, the problem of deciding whether two convex polytopes are combinatorially isomorphic is equivalent to the graph isomorphism problem, even when restricted to the class of simple or simplicial polytopes. ^{[4]}
See also "Polyhedral graph".
All bounded convex polytopes in R^{n}, being topological (n − 1)spheres, have a Euler characteristic of 0 for odd n and 2 for even n. Hence, they may be regarded as tessellations of (n − 1)dimensional elliptic space.
A convex polytope can be decomposed into a simplicial complex, or union of simplices, satisfying certain properties.
Given a convex rdimensional polytope P, a subset of its vertices containing (r+1) linearly independent points defines an rsimplex. It is possible to form a collection of subsets such that the union of the corresponding simplices is equal to P, and the intersection of any two simplices is either empty or a lowerdimensional simplex.
Different representations of a convex polytope have different utility, therefore the construction of one representation given another one is an important problem. The problem of the construction of a Vrepresentation is known as the vertex enumeration problem and the problem of the construction of a Hrepresentation is known as the facet enumeration problem. While the vertex set of a bounded convex polytope uniquely defines it, in various applications it is important to know more about the combinatorial structure of the polytope, i.e., about its face lattice. Various convex hull algorithms deal both with the facet enumeration and face lattice construction.
In the planar case, i.e., for a convex polygon, both facet and vertex enumeration problems amount to the ordering vertices (resp. edges) around the convex hull. It is a trivial task when the convex polygon is specified in a traditional for polygons way, i.e., by the ordered sequence of its vertices . When the input list of vertices (or edges) is unordered, the time complexity of the problems becomes O(m log m).
