advanced32 min studyLesson 611 in Mathematics

Convex polytopes, faces, and f-vectors

Separate a polytope’s metric shape from its face structure and derive consistency checks for face counts.

On this page

What you’ll understand

  • Define faces through supporting linear functionals and distinguish proper faces.
  • Compute an f-vector using a consistent dimension convention.
  • Derive Euler and incidence constraints for three-dimensional convex polytopes.

A cube can be stretched or sheared while retaining eight corners, twelve edges, and six facets. Discrete geometry studies the structure that survives such deformations, together with the restrictions that geometry imposes on that structure. A polytope’s f-vector records the number of faces in each dimension, but it forgets their sizes and much of their incidence information. Learning what that summary can certify, and what it cannot reconstruct, is the first step toward understanding extremal polytope questions.

Faces are selected by supporting functionals

A convex polytope is the convex hull of a nonempty finite set of points in Euclidean space. Equivalently, it is a nonempty bounded intersection of finitely many closed halfspaces. Its dimension is the dimension of its affine hull, which can be smaller than the ambient coordinate dimension. A triangle sitting in three-dimensional space is still a two-dimensional polytope. Work inside the affine hull when discussing facets or full-dimensional supporting inequalities.

For a nonzero linear functional on that affine hull, the points where its maximum over the polytope is attained form an exposed face. Every nonempty proper face of a polytope can be obtained this way. Vertices have dimension zero, edges dimension one, and facets dimension d − 1 for a d-dimensional polytope. It is often convenient to include the empty face and the whole polytope in the face lattice, but we will exclude both from the ordinary f-vector.

Fu(P)={x∈P:⟨u,x⟩=hP(u)},hP(u)=max⁡x∈P⟨u,x⟩F_u(P)=\{x\in P:\langle u,x\rangle=h_P(u)\},\qquad h_P(u)=\max_{x\in P}\langle u,x\rangle
Compactness ensures the maximum exists. A nonconstant functional on the affine hull selects a proper supporting face.↔ Scroll wide equations horizontally.

Count by dimension, then test the counts

Write fᵢ for the number of i-dimensional proper faces, with indices from zero through d − 1. Thus the ordinary f-vector of a three-polytope is its numbers of vertices, edges, and facets. Euler’s relation is an alternating sum, not a formula for each entry independently. In dimension three it becomes vertices minus edges plus facets equals two, because the boundary is a cell decomposition of a sphere.

Double counting supplies further constraints in dimension three. Each edge meets two facets, and each facet has at least three edges, so three times the facet count is at most twice the edge count. Similarly every vertex has at least three incident edges. These inequalities distinguish plausible counts from impossible ones, but they do not give the full incidence graph. Different higher-dimensional polytopes can share the same f-vector, and even identical metric volume reveals little about these counts.

∑i=0d−1(−1)ifi=1−(−1)d,d=3:f0−f1+f2=2\sum_{i=0}^{d-1}(-1)^i f_i=1-(-1)^d,\qquad d=3:\quad f_0-f_1+f_2=2
This convention counts only nonempty proper faces. Adding the empty face and the whole polytope requires adjusting the alternating sum accordingly.↔ Scroll wide equations horizontally.

Simple and simplicial describe different local structures

A d-polytope is simple if each vertex has exactly d incident edges; it is simplicial if every facet is a simplex. The cube is simple, while the octahedron is simplicial. A simplex has both properties. In dimension three, equality in the vertex-incidence bound characterizes simplicity, while equality in the facet-incidence bound characterizes triangular facets. Confusing these two conditions reverses the roles of vertices and facets in later duality arguments.

An invertible affine map preserves convex combinations, dimensions, and supporting faces, so it preserves the entire face lattice and hence the f-vector. It need not preserve angles, lengths, or Euclidean volume. Projection is different: a noninvertible linear map can merge vertices or collapse edges. Before transferring a combinatorial conclusion from a transformed picture, check whether the map is actually invertible on the polytope’s affine hull. This check separates harmless coordinate changes from operations that change the object being counted.

Count a triangular prism

A triangular prism has two triangular bases joined by three quadrilateral side facets. Determine its f-vector and whether it is simple or simplicial.

  1. The two disjoint triangular bases contribute six vertices and six base edges. Three joining edges connect corresponding base vertices, giving nine edges altogether.

  2. There are two triangular base facets and three quadrilateral side facets, giving five facets. Euler’s relation checks the count: 6 − 9 + 5 = 2.

  3. Each vertex meets two base edges and one joining edge, so degree three makes the three-polytope simple. Its quadrilateral facets are not triangles, so it is not simplicial.

The result

The ordinary f-vector is (6, 9, 5). The prism is simple but not simplicial; its face counts do not determine its particular lengths.

Explore the model

Interactive lab

Interactive lab · matrix

Shear changes shape while preserving faces

Pause and Reset, then set diagonal scale a = 1 and shear b = 1. Predict that the selected transformed unit square still has four vertices and four edges, and determinant one, although its angles change. Play to inspect the deformation. Readouts describe the final matrix, not intermediate animation frames. This instrument shows one invertible planar family, not arbitrary polytopes or a general face-enumeration algorithm.

Shear changes shape while preserving facesThe selected matrix is A = [[a,b],[0,1]]. Playback interpolates geometry between the identity and A; readouts always describe A. Its determinant is a and its singular values come from AᵀA. Positive a makes every supported matrix invertible. This two-dimensional family is not a general eigensolver or a learned network. Current readings: Area scale · det A: 1.4; Singular values · σmax, σmin: 1.597, 0.876; Condition number · κ₂(A): 1.823. All parameters are adjustable with the labeled controls below.Matrix A with first row 1.4, 0.6 and second row zero, one; display interpolates between identity and A while final determinant remains 1.4.−4−2024−2−1012x · equal geometric scaleyA = [ 1.4 0.6 ; 0 1 ]Display blend: 0% · final values below
Interpolated geometryOriginal unit squareSelected final transform
Area scale · det A
1.4
Singular values · σmax, σmin
1.597, 0.876
Condition number · κ₂(A)
1.823
t = 0 s

The selected matrix is A = [[a,b],[0,1]]. Playback interpolates geometry between the identity and A; readouts always describe A. Its determinant is a and its singular values come from AᵀA. Positive a makes every supported matrix invertible. This two-dimensional family is not a general eigensolver or a learned network. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forInvertible affine geometry can preserve all face incidences while changing the metric appearance.

Check your understanding

Which statement describes a simple three-dimensional polytope?

Try it yourself

A bipyramid over a convex hexagon is formed by adding one apex above and one below its plane and taking the convex hull, with the line joining the apices passing through the hexagon interior. Find its f-vector and test Euler’s relation.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Each apex joins every polygon vertex. The original hexagon remains as an equatorial cycle, and each equatorial edge supports one triangular facet on either side.

Compare with the solution

There are six equatorial vertices and two apices, giving eight vertices. The six equatorial edges plus six edges from each apex give eighteen edges. There are twelve triangular facets, two for every equatorial edge. Thus the f-vector is (8, 18, 12), and 8 − 18 + 12 = 2. All facets are triangles, so the bipyramid is simplicial; each apex has degree six, so it is not simple. The stated geometric placement ensures the intended bipyramid structure.

Take it with you

  • A face is selected by a supporting functional, and dimensions are measured in the affine hull.
  • The ordinary f-vector excludes the empty face and the full polytope.
  • Affine equivalence preserves face structure but need not preserve metric quantities.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.