Polyhedra vs Polytope I am having a hard time understanding what is the main difference between a polyhedron and a polytope. Could anyone explain me what is the difference between these two structures?
 A: In his classic text on Convex Polytopes, Grünbaum gave three incompatible definitions of a polyhedron, each used in a different branch of mathematics. There are plenty more. He later wrote somewhat resignedly that a polyhedron "means whatever you want it to mean".
Definitions of a polytope also vary, though thankfully not quite as much.
In the original sense, a polytope was an n-dimensional generalization of a 3-dimesional polyhedron or 2-dimesional polygon (whatever those are).
Some branches of mathematics find it convenient to distinguish them in kind, with say one being a bounded n-space and the other either unbounded or the bounding (n−1)-surface. Some insist on convexity, others do not.
Authors are often lax in specifying which kinds they are referring to and this sometimes leads to them incorrectly drawing on results derived for another kind. If the document you are reading is not clear what it means, be wary of its validity.
A: A polyhedron is a special case of a polytope, or, equivalently, a polytope is a generalization of a polyhedron. A polytope has a certain dimension $n$, and when $n=3$ we say that the polytope is a polyhedron. (Similarly when $n=2$ we say that the polytope is a polygon.)
This is analogous to how we can define a general $n$-dimensional sphere, and how we call the $n=1$ case a "circle".
EDIT: Indeed I should mention that this definition is not universal. Some people say "polyhedron" to mean "polytope" as I've used it above, and say "polytope" to mean "bounded polyhedron".
A: According to Section 3.5 of the book Integer Programming by Conforti, Cornuejols and Zambelli, a subset $P\in \mathbb{R}^n$ is a polyhedron if there exists a positive integer $m$, an $m\times n$ matrix $A$ and a vector $b\in\mathbb{R}^m$ such that
$$
P=\{x\in \mathbb{R}^n: Ax\le b\}
$$
For polytopes, the book says a subset $Q$ is a polytope if $Q$ is the convex hull of a finite set of vectors in $\mathbb{R}^n$.
To understand their relation, I think the Minkowski-Weyl Theorem makes a very clear claim. But before the Theorem, we need another definition called polyhedral cone (or finitely generated cone, these terms are equivalent) which is defined as the intersection of a finite number of half-spaces containing the origin on the boundaries, that is
$$
C := \{x\in\mathbb{R}^n:Ax\le 0\}
$$
With these definitions,
(Minkowski-Weyl Theorem, Theorem 3.13 of the CCZ book) A subset $P$ of $\mathbb{R}^n$ is a polyhedron if and only if $P= Q+C$ for some polytope $Q\subset \mathbb{R}^n$ and finitely generated cone $C\subseteq \mathbb{R}^n$.
