Convex & Discrete Geometry

the f-vector of a polytope

If someone hands you a polytope and asks 'how complicated is it?', the simplest honest answer is a tally: how many corners, how many edges, how many flat sides, and so on up the dimensions. That tally, listed in order, is the f-vector. For a cube it is (8, 12, 6): eight vertices, twelve edges, six square facets. For a tetrahedron it is (4, 6, 4). The f-vector is the basic combinatorial fingerprint of a polytope, ignoring its exact shape and size and recording only its census of faces.

Precisely, for an n-dimensional polytope P let f_k be the number of k-dimensional faces — f_0 vertices, f_1 edges, ..., f_{n-1} facets. The f-vector is (f_0, f_1, ..., f_{n-1}). These numbers are not independent: they satisfy the Euler-Poincare relation, the alternating sum f_0 - f_1 + f_2 - ... + (-1)^{n-1} f_{n-1} = 1 - (-1)^n, which for n = 3 is the familiar V - E + F = 2. For simplicial polytopes (every facet a simplex) far more constraints hold — the Dehn-Sommerville relations — and the full set of achievable f-vectors is described by the celebrated g-theorem.

The f-vector is the gateway to the whole combinatorial theory of polytopes. It is what the upper-bound theorem bounds (how large can f_{n-1} be for a polytope with given f_0?), what the lower-bound theorem bounds from below, and the data Minkowski's theorem reconstructs polytopes from. A caution worth stating: the f-vector remembers only counts, not how faces fit together, so two combinatorially different polytopes can share an f-vector; it is a coarse invariant. The finer invariant is the entire face lattice, which records the incidence structure the f-vector forgets.

Check Euler's relation on the octahedron. It has f_0 = 6 vertices, f_1 = 12 edges, f_2 = 8 triangular facets, so its f-vector is (6, 12, 8). The alternating sum f_0 - f_1 + f_2 = 6 - 12 + 8 = 2 = V - E + F, exactly as Euler demands for any 3-polytope. The cube (8, 12, 6) gives 8 - 12 + 6 = 2 as well — the cube and octahedron are dual, which swaps f_0 and f_2 and fixes the alternating sum.

Octahedron (6,12,8) and its dual cube (8,12,6) both satisfy V - E + F = 2.

Sharing an f-vector does not make two polytopes combinatorially the same: distinct face lattices can yield identical face counts. The f-vector is a projection of the face lattice that loses the incidence data, so use it as a summary, not an identity.

Also called
face vector面向量f-vector