Faces of Birkhoff Polytopes

The Birkhoff polytope B(n) is the convex hull of all (n x n) permutation matrices, i.e., matrices where precisely one entry in each row and column is one, and zeros at all other places. This is a widely studied polytope with various applications throughout mathematics. In this paper we study combinatorial types L of faces of a Birkhoff polytope. The Birkhoff dimension bd(L) of L is the smallest n such that B(n) has a face with combinatorial type L. By a result of Billera and Sarangarajan, a combinatorial type L of a d-dimensional face appears in some B(k) for k less or equal to 2d, so bd(L) is at most d. We will characterize those types whose Birkhoff dimension is at least 2d-3, and we prove that any type whose Birkhoff dimension is at least d is either a product or a wedge over some lower dimensional face. Further, we computationally classify all d-dimensional combinatorial types for d between 2 and 8.


Introduction
The Birkhoff polytope B n is the convex hull of all (n×n) permutation matrices, i.e., matrices that have precisely one 1 in each row and column, and zeros at all other places. Equally, B n is the set of all doubly stochastic (n × n)-matrices, i.e., non-negative matrices whose rows and columns all sum to 1, or the perfect matching polytope of the complete bipartite graph K n,n . The Birkhoff polytope B n has dimension (n − 1) 2 with n! vertices and n 2 facets. The Birkhoff-von Neumann Theorem shows that B n can be realized as the intersection of the positive orthant with a family of hyperplanes. Birkhoff polytopes are a widely studied class of polytopes [6, 7, 9-13, 16, 17, 19] with many applications in different areas of mathematics, e.g., enumerative combinatorics [1,38], optimization [2,27,39], statistics [26,37], or representation theory [8,34]. Yet, despite all these efforts, quite fundamental questions about the combinatorial and geometric structure of this polytope, and its algorithmic treatment, are still open. In particular, we know little about numbers of faces apart from those of facets, vertices, and edges. In this paper, we study combinatorial types of faces of Birkhoff polytope. The combinatorial type of a face F of some Birkhoff polytope is given by its face lattice L. For such a combinatorial type we can define the Birkhoff dimension bd(L) of L as the minimal n such that B n has a face combinatorially equivalent to L. By a result of Billera and Sarangarajan [7] any combinatorial type of a d-dimensional face of B n already appears in B 2d , so bd(L) ≤ 2d. Here, we characterize combinatorial types of d-dimensional faces with bd(L) ≥ 2d − 3. More precisely, we show in Theorem 5.12 that the only combinatorial type L with bd(L) = 2d is the d-cube (Proposition 5.9). If bd(L) = 2d−1, then L must by a product of a cube and a triangle (Proposition 5.10). bd(L) = 2d − 2 allows three new types, a pyramid over a cube, the product of a cube with a pyramid over a cube, and the product of two triangles with a cube (Proposition 5.11). Finally, faces with bd(L) = 2d − 3 are either products or certain Cayley polytopes of products of lower dimensional faces, the joined products and reduced joined products defined in Section 5.4 (Theorem 5. 16). More generally, we show in Section 5.1 that any combinatorial type L of a d-dimensional face with bd(L) ≥ d is either a product of two lower dimensional faces, or a wedge of a lower dimensional face over one of its faces (Corollary 5.2). We further characterize combinatorial types of faces F of some Birkhoff polytope for which the pyramid over F is again a face of some Birkhoff polytope. Finally, we enumerate all combinatorial types of d-dimensional faces of some B n for 2 ≤ d ≤ 8. This is done with an algorithm that classifies face graphs corresponding to combinatorially different faces of B n . The algorithm has been implemented as an extension to the software system polymake [28,36] for polyhedral geometry (Section 6). The computed data in polymake format can be found at [35]. Following work of Billera and Sarangarajan [7] we use elementary bipartite graphs (face graphs) to represent combinatorial types of faces. A graph is elementary if every edge is contained in some perfect matching in the graph. A perfect matching in a bipartite graph with n nodes in each layer naturally defines an (n × n)-matrix with entries in {0, 1}, which gives the correspondence to a face of B n . The correspondence of faces and graphs is explained in Section 2.2. We use the language of face graphs in Section 3 and Section 4 to study the structure of these graphs and the corresponding faces. Previously, Brualdi and Gibson have done an extensive study of faces of Birkhoff polytopes in a series of papers [10][11][12][13]. They used 0/1-matrices to represent types of faces, which naturally correspond to elementary bipartite graphs by placing edges at all non-zero entries. They studied combinatorial types of faces with few vertices, the diameter of B n , and some constructions for new faces from given ones. We review some of their results in Section 4, as we need them for our constructions in Section 5. A fair amount of work also has gone into the computation of the Ehrhart polynomial or the volume of the Birkhoff polytope. Until recently, only low dimensional cases were known [6,19] using a computational approach. In 2009, Canfield and McKay [16] obtained an asymptotic formula for the volume, and in the same year De Loera et al. [17] gave an exact formula by computing the Ehrhart polynomial. Birkhoff polytopes are a special case of the much more general concept of a permutation polytope. These are polytopes obtained as the convex hull of all permutation matrices corresponding to some subgroup G of the the full permutation group S n . So the Birkhoff polytope is the permutation polytope of S n . Permutation polytopes have been introduced by Guralnick and Perkinson in [29]. They studied these objects from a group theoretic view point and provided formulas for the dimension and the diameter. A systematic study of combinatorial properties of general permutation polytopes and a computational classification of d-dimensional permutation polytopes and d-dimensional faces of some higher dimensional permutation polytope for d ≤ 4 can be found in [4]. Several subpolytopes of the Birkhoff polytope have been shown to have an interesting structure and some beautiful properties. Here, in particular the polytope of even permutation matrices attracted much attention [14,25,31], but also many other classes of groups have been considered [3,5,20,40].

Background and Basic Definitions
Dually, any polytope can be written as the bounded intersection of a finite number of affine half-spaces in the form P := {x | Ax ≤ b}. We repeat some notions relevant for polytopes. For a thorough discussion and proofs we refer to [41]. A (proper) face F of a polytope P is the intersection of P with an affine hyperplane H such that P is completely contained in one of the closed half-spaces defined by H. (The intersection may be empty.) We also call the empty set and the polytope P a face of P . Any face F is itself a polytope. The dimension of a polytope P ⊆ R d is the dimension of the minimal affine space containing it. It is full-dimensional if its dimension is d. 0-dimensional faces of P are called vertices, 1-dimensional faces are edges. Proper faces of maximal dimension are called facets. P is the convex hull of its vertices, and the vertices of any face are a subset of the vertices of P . Thus, a polytope has only a finite number of faces. Let f i be the number of i-dimensional faces of P , 0 ≤ i ≤ dim P − 1. The f -vector of a d-dimensional polytope P is the non-negative integral vector f (P ) := (f 0 , . . . , f d−1 ). Inclusion of sets defines a partial order on the faces of a polytope. The face lattice or combinatorial type L(P ) of a polytope P is the partially ordered set of all faces of P (including the empty face and P itself). This defines a Eulerian lattice. See Figure 2.1 for an example. It contains all combinatorial information of the polytope. Two polytopes P, P ′ are combinatorially isomorphic or have the same combinatorial type if their face lattices are isomorphic as posets. For any given Eulerian lattice L we call a subset P ⊂ R d a geometric realization of L if P is a polytope with a face lattice isomorphic to L. Note, that not all Eulerian lattices are a face lattice of a polytope. An r-dimensional simplex (or r-simplex) is the convex hull of r + 1 affinely independent points in R d . A polytope is called simplicial if all facets are simplices. It is simple if the dual is simplicial. Equally, a d-dimensional polytope P is simple if each vertex is incident to precisely d edges. The d-dimensional 0/1-cube C d is the convex hull of all d-dimensional 0/1-vectors. This is a simple d-polytope with 2 d vertices and 2d facets. More generally, we denote by a d-cube any d-dimensional polytope that is combinatorially isomorphic to the 0/1-cube (it need not be full dimensional). Let P 1 ⊂ R d1 and P 2 ⊂ R d2 be two (geometrically realized) polytopes with vertex sets The (geometric) product of P 1 and P 2 is the polytope This is the same as the set of all points (v, w) for v ∈ P 1 and w ∈ P 2 . The (geometric) join of P 1 and P 2 is the polytope More generally, we say, that a polytope P is a product or join of two polytopes P 1 and P 2 , if P is combinatorially isomorphic to the geometric product or geometric join of some realizations of the face lattices of P 1 , or P 2 . If F is a face of a polytope P := {x | Ax ≤ b} ⊆ R d and c, x ≤ d a linear functional defining F , then the wedge wedge F (P ) of P over F is defined to be the polytope Figure 2.2 for an example. Again, we say more generally that P is a wedge of a polytope Q over some face F of Q if P is combinatorially equivalent to wedge F (Q). We also extend these notions to combinatorial types, i.e., we say that a combinatorial type L (or face lattice) of a polytope P is a cube, simplex, product, join, or wedge, if some geometric realization (and, hence, also any other) of L is. With N(v) for a node v of a graph G we denote the neighborhood of v, i.e., the set of all nodes in G that are connected to v by an edge. If M is a set of nodes in G, then we denote by CN(M ) the set of common neighbors of all nodes in M , i.e., the set   2.2. The Birkhoff polytope. Let S n be the group of permutations on n elements. To any element σ ∈ S n we can associate a 0/1-matrix M (σ) ∈ R n×n that has a 1 at position (i, j) if and only if σ(i) = j. The n-th Birkhoff polytope is The Birkhoff-von Neumann Theorem shows that B n can equally be characterized as the set of all non-negative (n × n)-matrices whose rows and columns all sum to 1. Equivalently, the facets of B n are precisely defined by the inequalities x ij ≥ 0 for 1 ≤ i, j ≤ n. It has dimension (n − 1) 2 with n 2 facets and n! vertices. More generally, we associate a 0/1-matrix M (Σ) ∈ R n×n to any subset Σ ⊆ S n in the following way. M (Σ) has a 1 at position (i, j) if there is some τ ∈ Σ with τ (i) = j, and 0 otherwise. If Σ = {σ} for some σ ∈ S n , then M (Σ) = M (σ). We can view M (Σ) as a dual vector in (R n×n ) * . The functional M (Σ) satisfies Any x = M (σ) for a σ ∈ Σ satisfies this with equality, so this inequality defines a proper non-empty face of the polytope B n , and all σ ∈ Σ are vertices of that face. However, there may be more. Namely, any permutation τ such that for any i ∈ [n] there is σ ∈ Σ with τ (i) = σ(i) is also a vertex of F(Σ). The well-known fact that any face is defined by a subset of the facet inequalities implies the following proposition. For the following considerations there is a different representation of faces that is easier to deal with. For any subset Σ ⊆ S n we associate a bipartite graph Γ(Σ) with n nodes in each color class to the matrix M (Σ). Let U = {u 1 , . . . , u n } and V = {v 1 , . . . , v n } be two disjoint vertex sets and draw an edge between the nodes u i and v j if and only if there is σ ∈ Σ with σ(i) = j. This gives a bipartite graph with two color classes U and V of equal size n. In the following, we call U the upper layer and V the lower layer.  of the matrix. We can recover the matrix by putting a 1 at each position (i, j) where node i of the upper layer is connected to node j of the lower layer, and 0 everywhere else. Any vertex of the face F(Σ) corresponds to a perfect matching in the graph Γ(Σ), and any perfect matching in the graph defines a vertex. Conversely, any bipartite graph with the property that every edge is contained in a perfect matching defines a face of B n as the convex hull of the permutations defined by its perfect matchings. In the following, we will use the term face graph for bipartite graphs such that each edge is contained in some perfect matching of the graph. Note, that in the literature graphs in which every edge is in some perfect matching are called elementary. So a face graph is a bipartite elementary graph. Elementary graphs are well-studied objects, see, e.g., the work of Lovász [32], Lovász and Plummer [33], Brualdi and Shader [15], and the extensive work of de Carvalho, Lucchesi and Murty [18,[21][22][23][24]. In the special case of bipartite graphs, being elementary implies that both layers have the same number of nodes. An important property of elementary graphs is the existence of an ear decomposition, which we will explain now.
2. An ear decomposition of an elementary graph G is a decomposition of the graph into edge disjoint paths and cycles P 1 , P 2 , . . . , P r subject to the following two conditions: (1) P 1 is a cycle.
(2) If P i , 1 ≤ i ≤ r is a path, then its endpoints lie in different layers of G. These are the only two points that P i has in common with the graph P 1 ∪ P 2 ∪ . . . ∪ P i−1 .  By a simple counting argument one can show that the number of ears is independent of the chosen ear decomposition. If n is the number of vertices in each layer, m the number of edges, and k the number of connected components, then the graph has r = m − 2n + k + 1 ears. The ear decomposition also guarantees that an elementary graph is 2-connected and any node has degree at least 2. Let FG(n) be the set of face graphs where each layer has n vertices. By the above there is a bijection between faces of B n and elements of FG(n). Let Γ(F ) be the face graph To study face graphs and the faces of B n they define it is sometimes convenient to consider a more general representation of a face as a graph. A multi-graph G is a graph where more than one edge between two nodes is allowed. As for simple graphs, a matching in a multigraph is a selection of edges such that no vertex is incident to more than one edge. It is perfect if every node is incident to precisely one edge. Again, we can define the associated lattice of face multi-graphs and their combinatorial types. In a face graph we can replace any edge with a path of length 3 without changing the number of perfect matchings and their inclusion relation. For a face multi-graph G we define its resolution res(G) to be the graph obtained from G by replacing all but one edge between any pair of nodes by a path of length 3. See Figure 2.6 for an example. We can also define a converse operation. Let Γ(F ) be a face graph. For a vertex v of degree 2 we introduce the reduction red(Γ(F ), v) at a vertex v. Let F be a face graph with a vertex v of degree 2 and neighbors u 1 , u 2 . The reduction red(Γ(F ), v) of F at v is the graph obtained from Γ(F ) by contracting v. This graph may have double edges. See Figure 2.7 for an illustration. This construction already appears in the paper of Billera and Sarangarajan [7]. We summarize the properties of Γ(F ) and a face multi-graph G.
Proposition 2.4. Let F be a face of some Birkhoff polytope, and G a face multi graph corresponding to F . Then (1) Γ(F ) and its reduction red(Γ(F )) have the same combinatorial type, (2) G and its resolution res(G) have the same combinatorial type. In the next sections we want to study combinatorial types of faces of B n by studying their face graphs. The following proposition tells us that we can mostly restrict our attention to connected face graphs.
Then G 1 , . . . , G k are face graphs and the face corresponding to G is the product of the faces corresponding to G 1 , . . . , G k .
Proof. Any perfect matching in G induces a perfect matching in G i , 1 ≤ i ≤ k. Hence, any edge in G i is contained in a perfect matching of G i , so all G i are face graphs. Perfect matchings correspond to vertices, and any combination of perfect matchings in the G i defines a perfect matching of G. Hence, the face of G is a product.
In particular, prisms over faces are again faces, and their face graph is obtained by adding a disjoint cycle of length 4. The converse statement, i.e., that the face graph of a face that combinatorially is a product of two other faces is always disconnected, follows, e.g., from [11,Cor. 4.7], where they prove that the (vertex-edge) graph of two faces is isomorphic if and only if the two face graphs have the same number of components and there is a correspondence between the components such that each pair has isomorphic graphs. We can read off the dimension of F(Σ) for Σ ⊆ S n from the graph Γ(Σ). Assume first that the face graph is connected with n nodes in each layer and m edges. Then the Birkhoff-von Neumann Theorem implies that the dimension d is at most m − 2n + 1. On the other hand, the graph has an ear decomposition with m − 2n + 2 ears, so we have at least m − 2n + 2 linearly independent vertices in the face. So d = m − 2n + 1 for a connected face graph. Using that disconnected graphs define products we obtain where k is the number of connected components of the graph. The following theorem of Billera and Sarangarajan tells us that we can restrict the search for combinatorial types of d-dimensional faces to B n for n ≤ 2d. We repeat the simple proof, as it is quite instructive. Theorem 2.6 (Billera and Sarangarajan [7]). Any d-dimensional combinatorial type of face already appears in B 2d . Proof. We assume first that the face graph G is connected. Then G has m = 2n + (d − 1) edges. Let k 2 be the number of nodes of degree 2. A node in G has degree at least 2, so We now successively contract all nodes of degree 2 using the above reduction. We obtain a face multi-graph G ′ on 2n ′ = 2n − k 2 ≤ 2(d − 1) nodes, i.e., at most d − 1 on each layer. Note that one reduction step can remove more than one node of degree 2. Let m ′ be the number of edges of G ′ . G ′ defines a face combinatorially equivalent to the one of G, in particular, its dimension is d = m ′ − 2n ′ + 1. The graph G ′ may have multiple edges. Let e ′ be the minimal number of edges we have to remove to obtain a simple graph G. Then G is connected and a face graph corresponding to a face of dimension Thus, e ′ ≤ d, and we can resolve each multiple edge to obtain a face graphG with at most 2(d − 1) + 2d ≤ 2(2d − 1) ≤ 4d nodes. Hence,G defines a face of B n that is combinatorially isomorphic to the one of G. The statement for disconnected graphs follows using induction by replacing the graph in each component with the above procedure.

Irreducibility
In general, a combinatorial type of a face can occur many times as a geometrically realized face of B n . Hence, there are many different possibilities to represent a combinatorial type of a face as an face graph. Brualdi and Gibson [13, Conj. 1] conjecture that any two combinatorially isomorphic faces are affinely equivalent, but as far as we know this is still open. Let G be a face graph. In the following, we want to examine some version of minimality for such a representation. This will, however, not lead to a unique "standard" representation. We say that a node v in G is reducible, if v has degree 2 in G and the common neighborhood of the two vertices adjacent to v only contains the node v. v is called irreducible otherwise. A face graph G is called irreducible, if all its nodes are irreducible, and reducible otherwise. An irreducible representation of a certain d-face of a Birkhoff polytope need not be unique. Lemma 3.1. Let G be a face graph, v ∈ G an irreducible node of degree 2 in G and w 1 , w 2 its neighbors. Let Then either the graph induced by v, w 1 , w 2 and the nodes in N is a connected component of G (and then necessarily the set N contains a single node u) or all points u ∈ N and at least one of w 1 , w 2 have degree ≥ 3. Proof. We prove this by contradiction. We are done, if v, w 1 , w 2 and the nodes in N form a connected component. Hence assume this is not the case. Assume first that w 1 , w 2 both have degree 2. Then there is some node u ∈ N that has a third neighbor x different from w 1 , w 2 . However, the edge (u, x) must be contained in a perfect matching M of the graph. This perfect matching cannot use the edges (u, w 1 ) and (u, w 2 ). As both nodes w 1 , w 2 have degree 2, M must use the remaining edge on both nodes. But these both contain v, so M is not a perfect matching. So one of w 1 , w 2 must have degree ≥ 3. Assume this is w 1 , and let u, x be the two neighbors of w 1 different from v. If u would have degree 2, then u and v are contained in the edges e i := (u, w i ), f i := (v, w i ), i = 1, 2, and no other. Hence, any perfect matching M must choose either e 1 or e 2 , and, correspondingly, f 2 or f 1 . In either case w 1 is covered, hence, the edge (w 1 , x) can never be chosen, so G is not a face graph.
If G is an irreducible face graph then we say that a node v is minimal if the degree of v is 2. For a minimal node v the set is the set of partners of the node v. This is the same as the set of nodes connected to v via two different paths of length 2. A node x ∈ P(v) is called a partner of v. Note, that any partners of a node always lie in the same layer as the node itself. Lemma 3.1 guarantees that any minimal node in an irreducible face graph has at least one partner. We use the term partner more generally for any node x that is a partner of some other v, without reference to the node v. In particular, x can be partner of several different nodes in G. However, the next corollary bounds this number from above. Proposition 3.2. Let G be a face graph. Any partner x in G of degree k has at most k − 1 nodes it is partner for. Moreover, if x is a partner for precisely k − 1 nodes, then these k − 1 nodes and x are the upper or lower layer of a connected component in G.
Proof. If v is a node that has x as its partner, then in any perfect matching M , v uses up one of the nodes adjacent to x for the edge covering v. Now also x needs to be covered, hence there can be at most k − 1 nodes choosing x as partner. If x is a partner for precisely k − 1 nodes v 1 , . . . , v k−1 , then in any perfect matching in G, all but one node in the neighborhood of x is covered by an edge that has one endpoint among But also x needs to be covered, hence, there cannot be another edge that ends in a node in the neighborhood of x.  Proof. Let k 2 be the number of nodes of degree 2 (minimal nodes) in the upper layer. If all minimal nodes have the same partner, then, by the previous proposition, the graph has k 2 + 1 nodes, and 2k 2 + 1 + k 2 = 3k 2 + 1 edges. Hence, d = 3k 2 + 1 − 2k 2 − 2 + 1 = k 2 . Otherwise, we have at least two partners in the upper layer, and the previous proposition implies 2n Proof. By the previous corollary the graph has at most d nodes if only one node has degree greater than 2. Otherwise, we have at most d − 1 nodes of degree 2, and for each of those we need a partner of degree at least 3. This leaves us with 2d − 2 nodes using up all 2n + d − 1 edges.
Proposition 3.5. Let G be an connected irreducible face graph of dimension d on n nodes. Then the maximum degree of a node in G is 2d − n + 1 if n > d + 1 and n otherwise.
Proof. The bound for n ≤ d + 1 is trivial. If G has dimension d then G has d + 2n − 1 edges, and any node has degree at least 2. Let k 2 be the number of nodes of degree 2 in the upper layer and δ the degree of a non-minimal node v. v can be partner for at most δ − 2 nodes, as otherwise n ≤ d + 1. Any minimal node has degree 2, and any other node at least degree 3. Hence, This implies the bound.
The bound is best possible, see Figure 3.3.
Corollary 3.6. Let G be a connected irreducible face graph with n ≥ 4 nodes on each of its layers. Then G has at least 2n + ⌈ n 2 ⌉ edges.
Proof. Any node has degree at least 2. By Lemma 3.1 we have to find a partner of higher degree for each node of degree 2. On the other hand, Proposition 3.2 limits the number of minimal nodes a node can be partner for. We distinguish two cases: If there is a node u in the graph that is a partner for all minimal nodes, then necessarily deg(u) = n, hence the graph has 3n − 2 ≥ 2n + ⌈ n 2 ⌉ edges. Otherwise, there are k 2 minimal nodes and p ≥ 2 partners in the graph. We consider the cases k 2 ≥ p and k 2 < p separately. In the first case we have k 2 ≥ p, hence p ≤ ⌊ n 2 ⌋. The p partners in the graph together must be adjacent to at least 2p + k 2 edges, hence we have at least  edges in the graph. In the second case the number of edges is at least Proposition 3.7. An irreducible face graph with two nodes in each layer has four edges, an irreducible face graph with three nodes in each layer has at least seven edges.
Proof. The first case is trivial (see Figure 3.4(a)). For the second case just observe that we need to have at least one node of degree ≥ 3.
The given bounds are tight, as the graphs in Figure 3.4 show.     Let F be a face of B n . If F is not a product, then F has a facet that is not a product.
Proof. Let G be a connected irreducible graph representing F . By the above, G has a facet defining set C of size one. Hence H := G − C is connected, as G is 2-connected, and the facet defined by H is not a product.
Brualdi and Gibson in their papers also obtained some results about edges and 2-dimensional faces of B n .

Face Graphs with Many Nodes
Let L be the combinatorial type of a face of a Birkhoff polytope. The Birkhoff dimension bd(L) of L is the smallest n such that L is the combinatorial type of some face of B n . It follows from Theorem 2.6 that bd(L) ≤ 2d for a combinatorial type L of a d-dimensional face.
In this section, we will study some properties of combinatorial types L of d-dimensional faces with bd(L) ≥ d. In particular we will completely characterize those with bd(L) ≥ 2d − 3.

5.1.
Wedges. In this section we will show that most faces of B n are wedges over lower dimensional faces. The following main theorem characterizes graphs that correspond to wedges.
Theorem 5.1. Let G be a face graph with n ≥ 3 nodes in the upper layer and two connected adjacent nodes u and v of degree 2. Let G ′ be the graph obtained by attaching a path of length 3 to u and v. Then G is a face graph and the associated face is a wedge over the face of G.
Proof. G ′ is clearly a face graph. We prove the theorem by induction over the dimension. The claim is true if G is the unique reduced graph on four nodes and four edges. In the following we assume that the claim is true for face graphs defining a (d−1)-dimensional face of B n . Let F be the face of G and F ′ that of G ′ . Let u ′ and v ′ be the two nodes added in G ′ and e 1 = (u, v), e 2 = (u ′ , v ′ ), f 1 = (u, v ′ ), and f 2 = (u ′ , v). See also Figure 5.1. Let G 1 be the face graph of all perfect matchings in G that do not contain e 1 (i.e., the union of the perfect matchings in M ¬e1 ), and R the associated face of F (see Figure 5.2(a) and Figure 5.2(b)). As G has at least three nodes in each layer, this is a nonempty face. We claim that F ′ = wedge R (F ).
To show that F ′ is a wedge over F we have to show that F ′ has two facets F 1 , F 2 isomorphic to F that meet in a face isomorphic to R, such that any other facet of F ′ is either (1) a prism over a facet of F , or and, conversely, any facet of F (except possibly R) is used in one of these two cases. Let G ′ 1 be the graph obtained from G by adding u ′ , v ′ together with e 2 , and G ′ 2 the graph obtained by removing e 1 and adding u ′ , v ′ together with e 2 , f 1 and f 2 . See Figure 5.2(c) and Figure 5.2(d). Both graphs are subgraphs of G ′ and clearly define facets combinatorially isomorphic to F that intersect in R. Let J ′ be a subgraph of G ′ that defines a facet of F ′ . There are three possibilities for edges contained in G ′ but not in J ′ : (1) both f 1 and f 2 are missing, or (2) e 1 is missing, or (3) e 1 , e 2 , f 1 , and f 2 are present and some other edges are missing. The first two cases are the two copies of F . In the last case, if u, u ′ , v and v ′ form a connected component of J, then we have a prism over a facet of F sharing no vertex with R, and a wedge over a face of R by induction otherwise. Conversely, let K be the graph of a facet S of F . If e 1 is missing in K, then R is a facet and corresponds to K. So we assume that e 1 is present in K. If one of u, v is connected to some other node in K (and, thus, necessarily also the other), then the wedge of K over the intersection of S and R is contained in G ′ . If u, v form a connected component, then S and R are disjoint and the prism over S is contained in F ′ .
This gives a first classification of combinatorial types with Birkhoff dimension at least d.  Proof. Let F be a face of some B n with combinatorial type L, and assume that F is not a product. Let G be a reduced graph representing F . Thus, G is connected. Then d = m − 2n + 1 implies that each layer of G has at least one node of degree 2. By first completely reducing the graph G and subsequently resolving any multiple edges (similar to the proof of Theorem 2.6), we can assume that there are two adjacent nodes of degree 2. Now we can use the previous theorem.
In fact, every d-dimensional combinatorial type L with bd(L) ≥ n is a wedge if its graph has a component with at least three nodes in each layer, i.e., if the face is not a cube.

5.2.
Pyramids. We want to discuss the structure of face graphs that correspond to pyramids. This will be important for the classification of faces with large Birkhoff dimension. In particular, we will see that for many faces F of B n the pyramid over F is again face of a Birkhoff polytope. Proof. Suppose not. Then there is a perfect matching M ′ such that M ∪ M ′ contains more than one cycle C 1 , . . . , C k . The edge e is contained in such a cycle, as otherwise M ′ would use e. Assume this is C 1 . However, using the edges of M ′ in C 2 , . . . , C k and the edges of M in C 1 defines another perfect matching M ′′ using e and different from both M and M ′ . This is a contradiction to the uniqueness of e.  For the remainder of this section we will study combinatorial types of faces with large Birkhoff dimension. We have seen above that for a given combinatorial type L this is bounded by bd(L) ≤ 2d. The next proposition characterizes the case of equality.
Proposition 5.9. Let L be a d-dimensional combinatorial type of a face of B n with bd(L) = 2d. Then L is a cube. Proof. We prove this by induction. If d = 1, then this follows from Proposition 3.7. By Corollary 3.4 a connected irreducible graph of a d-dimensional face has at most 2d − 2 nodes in each layer. Hence, the graph G of F must be disconnected. Let m, n, and k be its number of edges, nodes, and connected components, resp. Let G 1 be a connected component of G, and G 2 the remaining graph. Both are irreducible graphs. Let G i have n i nodes, m i edges, k i components and define a face of dimension d i .
The dimension formula gives d = m − 2n + k = m − 4d + k, so m = 5d − k. We argue that n 1 = 2. Suppose otherwise. If n 1 ≥ 4, then by Corollary 3.6 we can estimate As k ≥ 1 this is not possible. Now if n 1 = 3, then n 2 = 2d − 3, and by Proposition 3.7 we know m 1 ≥ 7. So we can compute which again contradicts k ≥ 1. So n 1 = 2, and G 1 defines a segment. G 2 now is an irreducible graph of dimension d − 1 on 2(d − 1) nodes. By induction, this must be a cube. Hence, and we conclude k 2/3 = k and k o ≤ 1. So at most one component has more then two nodes on each layer. However, 2d − 1 is odd, hence k o = 1. This implies the proposition.  Proof. Assume that F is not a product. We first consider the case that d ≥ 4. In this case F corresponds to an irreducible face graph G on 2d− 2 nodes with e = d+ 2(2d− 2)− 1 = 5d− 5 edges. By Proposition 3.5 the maximum degree of a node in the graph is 3. Hence, in each layer we have d − 1 nodes of degree 2 (i.e., minimal nodes, as G is irreducible) and d − 1 nodes of degree 3. Consider the nodes in the upper layer. By Proposition 3.2 a node of degree 3 is partner for precisely one minimal node, and any minimal node has a unique partner. As also in the lower layer the degree of a node is at most 3 we can deduce that a node in the lower layer is on at most one path connecting a minimal node with its partner. By counting nodes we see that each node in the lower layer is on precisely one such path. We split the graph according to these paths. Let u 1 , . . . , u d−1 be the minimal nodes in the upper layer, and for each 1 ≤ i ≤ d − 1 define N i to be the graph induced by u i , its unique partner, and the two paths of length 2 between them. By the above argument, the graphs N i are pairwise disjoint. Hence, their union N := N i define a face subgraph of G whose corresponding face is the product of d − 1 segments, i.e., it is isomorphic to a (d − 1)-dimensional cube. The graphs N and G have the same number of nodes, and G has d − 1 additional edges. N is disconnected, so those d − 1 edges must connect the d − 1 components of N . As G is a face graph, i.e., each edge must be contained in some perfect matching of G, the graphs N i can only be connected circularly. Hence, up to relabeling and flipping upper and lower layer in the graphs N i , the graph G must look like Figure 5.6. This is the circular connection of the N i . For d = 3 and n = 4 there is a second irreducible graph on four nodes, see Figure 5.7(a). This graph defines a tetrahedron. However, the graph in Figure 5.7(b) also defines a tetrahedron, so this face already appears in B 3 .
We can combine the three previous Propositions 5.9, 5.10, and 5.11 into the following slightly extended theorem. ( a)a pyramid over a cube, ( b)a product of a cube and a pyramid over a cube, ( c)a product of two triangles and a cube.
Proof. The only claim not contained in the previous propositions is the classification of products leading to a d-dimensional face F on 2d − 2 nodes. Assume that F is a product   Assume that Γ(F ) has k and Γ(F i ) has k i components, i = 1, 2. Then edges, for i = 1, 2. This implies r 1 + r 2 = 2. Hence, r 1 = 2, r 2 = 0 or r 1 = r 2 = 1 or r 1 = 0, r 2 = 2 and the claim follows by induction.
5.4. d-dimensional combinatorial types with Birkhoff dimension at least 2d − 3. In this section we introduce a new construction for polytopes, the joined products and reduced joined products and use them to classify faces of B n for n = 2d − 3, but also many other faces of B n are of this type. We give a combinatorial description and deduce their corresponding face graph. We use these to classify combinatorial types of faces in Theorem 5.16. Let Q 1 , . . . , Q k be polytopes in R m (not necessarily all m-dimensional). The Cayley sum of Q 1 , . . . , Q k is the polytope where e 1 , e 2 , . . . , e k are the k-dimensional unit vectors. We use this construction for a special set of polytopes Q 1 , . . . , Q k . Let 0 (d) be the d-dimensional zero vector, and P i d i -dimensional polytopes for 1 ≤ i ≤ k. We define Q i := P 1 × · · · × P i−1 × 0 (di) × P i+1 × · · · × P k , and Q 0 := P 1 × · · · × P k .
The reduced joined product is the special case of the joined product where one of the factors is just a point. Hence, in the following considerations on combinatorial properties we restrict to joined products. Let m i be the number of vertices of P i , and M := k i=1 m i . We will show that the joined product P of P 1 , . . . , P k has k i=1 M mi vertices. Assume by contradiction that there is v ∈ k i=1 V(Q i ) × e i that is not a vertex of P . Then v is a convex combination of some of the other vertices, say v 1 , . . . , v r . The point v, and any v j , 1 ≤ j ≤ r has exactly one entry different from 0 among the last k coordinates. Hence, any points in the convex combination of v with a positive coefficient coincide with v in that entry. By construction, this implies that v and all points in its convex combination are completely contained in one the factors Q i × e i , for some i. But v and v j , 1 ≤ j ≤ r are vertices of Q i × e i , a contradiction. Hence, any vertex of some Q i corresponds to a vertex of the joined product. The joined products have two obvious types of facets. For any facet F 1 of P 1 the polytope J P(F 1 , P 2 , . . . , P k ) is a facet of P . We can do this for any factor of the product and any two such facets are distinct. For k ≥ 3 we also have the facets We construct the corresponding graphs. Let G 1 , . . . , G k , k ≥ 2 be (not necessarily connected) face graphs. Let H be a graph with two isolated nodes, and H a graph with two nodes and the edge between them. We define the joined product J PG(G 1 , . . . , G k ) of G 1 , . . . , G k as the union of the circular connections of H with each G i , and the reduced joined product J PG red (G 1 , . . . , G k ) as the union of the circular connections of H with each G i . We make this construction more precise. For each graph G i with connected components Clearly, the isomorphism types of the resulting graphs depend on the choice of the two nodes in each component of the G i . In general, they will not be face graphs. More precisely, the joined product graph J PG(G 1 , . . . , G k ) is a face graph if and only if for each 1 ≤ i ≤ k the circular connection of H and G i using the nodes in S(G i ) is a face graph, and similarly for J PG red (G 1 , . . . , G k ). Note that we have called a choice S( has a unique perfect matching, for 1 ≤ i ≤ k, see Definition 5.6. Theorem 5.14. Let G 1 , . . . , G k be face graphs with pyramidal sets S i (G i ) of nodes and (1) G := J PG(G 1 , . . . , G k ) is a face graph with face given by J P(F 1 , . . . , F k ).
Proof. We prove only the first statement. The proof of the second is analogous.
Let H be the graph with two isolated nodes u and v as above. By construction, for each i the circular connection of the disjoint union of H and G i has a unique perfect matching M i . This matching is given by the edges (u, v ci i ), (v, u 1 i ), the edges (v j i , u j+1 i ) for 1 ≤ j ≤ c i − 1 and the unique perfect matching in G i − S(G i ). Hence, G is a face graph. Its perfect matchings are precisely products of some M i with a choice of a perfect matching in all G j for j = i. It remains to show that convex hull of the vertices defined by the perfect matchings in the joined product of the graphs is affinely isomorphic to the joined product of the F i . For this, it suffices to note that a perfect matching that contains, for some 1 ≤ i ≤ k, one of the edges necessarily also contains the others. Hence, up to affine isomorphism, we can forget all but one of the corresponding coordinates. This gives the Cayley structure (5.1) with the products of the remaining F j , j = i.
Note that, as a face can have more than one representation as an irreducible face graph, it does not follow from this theorem that all graphs of faces of some B n that are joined products of some other faces are of the form given in the theorem. However, if a face is a joined product of some polytopes, then those are again faces of some Birkhoff polytope. We need one more lemma before we can continue our classification.
Lemma 5.15. Let G be an irreducible face graph with a minimal node v in the upper layer. Let w 1 , w 2 be the neighbors of v. If x = v is a node adjacent to w 1 but not to w 2 , then the graph G ′ obtained by replacing (x, w 1 ) with (x, w 2 ) is a face graph with the same combinatorial type as G.
Proof. The node v has degree 2 in both graphs, and the reduction at v gives the same graph for G and G ′ .
We are ready to classify all d-dimensional combinatorial types L with bd(L) ≥ 2d − 3. Note that the theorem does not claim that these faces do really only appear in B 2d−3 , but only that, if a face appears in B 2d−3 for the first time, then it must be of one of these types. The stronger statement is certainly true for the first cases, as it contains the product of a (d − 3)-cube with a triangle as a proper face, and this cannot be represented with less nodes.
Proof. We classify the possible face graphs. The previous theorem translates this into combinatorial types of faces. An irreducible face graph on 2d − 3 nodes has 5d − 7 edges. We have either d − 1 or d − 2 minimal nodes, and the maximal degree of a node is 4. By counting we conclude that there is at most one node of degree 4 in each layer. Further, if there is a node of degree 4 in one layer, then each node of degree at least 3 in this layer is partner for some minimal node. In the other case at most one of the nodes of degree 3 is not a partner. We show first that we can reduce to the case that the maximal degree in G is 3.
Let v be a node of degree 4 in the upper layer with neighbors w 1 , . . . , w 4 . Then v is partner for two nodes u 1 , u 2 . For both there are two disjoint paths of length 2 connecting them to v. Let w 1 , w 2 be the intermediate nodes of the paths to u 1 . The intermediate nodes of the paths to u 2 cannot coincide with those two, as otherwise (v, w 1 ) and (v, w 2 ) are not part of a perfect matching. So we are left with the cases sketched in Figures 5.10(a) and 5.10(b), up to additional edges incident to some of the w i . Consider first the case given in Figure 5.10(a). Assume that the degree of w 1 , . . . , w 4 is at least 3. As all but at most one node are partner for some minimal node, and at most one node has degree 4, we can pick one of w 1 , . . . , w 4 that has degree 3 and is a partner for some minimal node u. Assume this is w 1 . We need two different paths of length 2 connecting w 1 to its partner. Hence, one of the paths must use one of the edges (w 1 , u 1 ) or (w 1 , v). Thus, the partner u must be one of the nodes w 2 , w 3 , w 4 . This contradicts the assumption that all four nodes have degree at least 3. So at least one of w 1 , w 2 , w 3 , w 4 has degree 2. Assume that this is w 2 . Hence, we can use Lemma 5.15 for w 2 and u 1 , v to move one of the edges incident to v to u 1 to obtain a graph with maximal degree 3 in the upper layer. See Figure 5.11. By our assumption that the corresponding combinatorial type of the face has Birkhoff dimension bd(L) ≥ 2d − 3 we know that the graph remains irreducible. Now consider the graph given in Figure 5.10(b). By the same argument as above at least one of w 1 , . . . , w 4 has degree 2. If this is w 1 or w 3 we can proceed as above and move an edge incident to v to either u 1 or u 2 . So assume that only w 4 has degree 2. So w 1 , w 2 , w 3 have degree at least 3. If w 2 has degree 4, then it is partner for two minimal nodes. So at least one of w 1 , w 3 would have degree 2, contrary to our assumption. So w 2 has degree 3. If it were a partner for some minimal node, then this would have to be w 1 or w 3 , again contradicting our assumption. So w 2 is not a partner of some minimal node. By assumption this implies that the maximal degree in the lower layer is 3, and both w 1 and w 3 are partner of some minimal node. By construction, this can only be w 4 . But, again by assumption, a minimal node has a unique partner, so this case does not occur. We can repeat the same argument for the lower layer. This transforms G into a face graph whose combinatorial type is combinatorially isomorphic to the original one, but the graph has maximal degree 3 in both layers. Hence, in the following we can assume that the maximal degree of a node in G is 3. In that case the graph necessarily has d − 2 minimal nodes in each layer, and d − 1 nodes of degree 3. Pick a partner p u i for each minimal node x u i in the upper, and p l i for each minimal node x l i in the lower layer, 1 ≤ i ≤ d − 2. The p u i are pairwise distinct as a node of degree k ≥ 3 is partner for at most k − 2 nodes (unless it is the only partner in the graph, see Proposition 3.2). See also Figure 5.12 for two examples. Let y u and y l be the remaining node in each layer. Let N i be the induced graph on p u i , x u i and the two paths of length 2 between them. The N i , 1 ≤ i ≤ d − 2, are pairwise disjoint, as otherwise there would be a node of degree 4 in the lower layer. Let z l be the node in the lower layer not contained in any N i . We distinguish various cases.
(1) y u and z l are connected, and z l is minimal. See Figure 12(a). In this case z l has a partner p l contained in some N i . We may assume that this is N 1 . We replace N 1 by the graph induced by N 1 , y u and z l . Then N 1 has 6 nodes and at least 7 edges. Hence, N := N i defines a face subgraph of G with the same number of nodes, with d − 2 components, and at most d − 2 edges less than G. Thus, N and G differ by precisely d − 2 edges. As any edge must be contained in a perfect matching, those edges must connect the components of H in a circular way. Further, y u and y l have degree 2 in v u 1 u 2   N 1 , but degree 3 in G, so N 1 − {y u , y l } has a unique perfect matching. Hence, G is a pyramid over N , and N is a product of segments and a triangle. (2) y u and z l are connected, and both have degree 3. See Figure 12(b). In that case, z l = y l .
Let N 0 be the subgraph induced by y u and y l (with one edge). Then N := N i is a face subgraph of G with 4d − 7 edges. The only way to obtain a connected irreducible face graph from N by adding d edges is to split the set of N i , i ≥ 1 into two nontrivial sets and connect both with N 0 circularly. This gives a reduced joined circular product of two cubes (not necessarily of equal dimension) (3) y u and z l are not connected. Assume that the degree of z l is 2. Then z l = y l , and it needs a partner in the lower layer. The two edges incident to z l cannot both end in the same N i , as one node in the upper layer of each N i has degree 2. Hence, the two incident edges end in different N 1 , say at nodes s 1 ∈ N 1 and s 2 ∈ N 2 . Yet, z l needs a partner, so there is either an edge from s 1 to a node of N 2 or from s 2 or a node of N 1 . Hence, either s 1 or s 2 have degree 4. By construction, such a node does not exist, so we can assume that z l has degree 3. Again, the edges incident to z l necessarily end in different N i , as one node in the upper layer of each N i has degree 2. Hence, z l cannot be a partner, so z l = y l . The graph N := N i ∪ {y u , y l } has 4d − 8 edges. G has d + 1 additional edges, and as G is a connected face graph each N 1 is incident to at least two of them (as, in particular, each edge must be contained in a perfect matching). But as y u , y l have degree 3 we conclude that each N i is incident to exactly two of the d + 1 additional edges. Hence, as before, the only way to create a connected face graph by adding only d + 1 edges is to split the set of the N i into three nontrivial parts and connect them to y u , y l circularly.

Low-dimensional Classification
For a classification of faces of a given dimension d it is essentially sufficient to classify those faces that have a connected face graph. The others are products of lower dimensional faces of the Birkhoff polytope, and they can thus be obtained as pairs of face graphs of a lower dimension.
The three dimensional faces have been classified before by several others, see, e.g., [12] or [7]. By Theorem 2.6 we know that any d-dimensional face appearing in some Birkhoff polytope does so in a Birkhoff polytope B n for n ≤ 2d.
We have implemented an algorithm that generates all irreducible connected face graphs of a given dimension and with a given number of nodes. The implementation is done as an extension [36] to polymake [28]. The algorithm provides a method generate face graphs that takes two arguments, the number of nodes of the graph in one of the layers, and the dimension of the face. It constructs all irreducible face graphs with this number of nodes and the given dimension, up to combinatorial isomorphism of the corresponding face (as some combinatorial types have irreducible face graphs with different number of nodes they can appear in several times different runs of the method). Dimension and number of nodes fixes the number of edges, and, roughly, the method recursively adds edges to an empty graph until it reaches the appropriate number. It distinguishes between graphs of minimal degree 3 and those with at least one node of degree 2. Constructing those with minimal degree 3 is simple, as filling each node with at least three edges does not leave much choice for a face graph. This can be done by a simple recursion using some of the results in Section 3 and Section 4. For the other graphs we iterate over the number of nodes of degree 2, and first equip each such node with a partner and the necessary edges, and add further edges until all remaining nodes have degree 3. Here we use the results of Section 3 and Section 4 to prune the search tree at an early stage if graphs in this branch either will not be irreducible or not a face graph. The few remaining edges are then again filled in recursively. See also the comments in the code. The data in polymake format can be obtained from [35]. The following theorem summarizes the results. For the product types we have just counted the non-isomorphic products of connected irreducible graphs.   The descriptions given in the theorem are not unique. Table 6.1 summarizes this theorem.