---
title: Perfect Matching Polytope Overview
url: https://www.emergentmind.com/topics/perfect-matching-polytope
type: topic
---

# Perfect Matching Polytope Overview

The perfect matching polytope is the convex hull of incidence vectors of perfect matchings of a graph. For a graph \(G=(V,E)\) with an even number of vertices, and in particular for a matching-covered graph, it is defined by
\[
P(G)=\operatorname{conv}\{\,\chi^M : M \text{ is a perfect matching of } G\,\}\subseteq \mathbb{R}^E,
\]
where \(\chi^M\in\{0,1\}^E\) is the incidence vector of \(M\) [2508.15602]. In the complete-graph setting, this polytope is one of the central objects of combinatorial optimization: its vertices encode perfect matchings, its facet structure is governed by odd cuts or, equivalently in related formulations, odd-set constraints, and its geometry connects polyhedral theory, matching-covered graph structure, extension complexity, NC algorithms, and lattice questions [1311.2369].

## 1. Definitions and classical descriptions

For the complete graph on \(n\) vertices, with \(n\) even, the perfect matching polytope is
\[
P_{PM}(n) = \operatorname{conv}\{\chi_M \in \mathbb{R}^E \mid M \subseteq E \text{ is a perfect matching}\}.
\]
Edmonds’ description becomes
\[
P_{PM}(n) = \left\{ x \in \mathbb{R}^E \,\middle|\, x(\delta(v)) = 1 \ \forall v\in V;\; x(\delta(U)) \ge 1 \ \forall U\subseteq V,\ |U|\text{ odd};\; x_e \ge 0\ \forall e\in E \right\},
\]
where \(\delta(U)\) is the set of edges with exactly one endpoint in \(U\) [1311.2369]. For a matching-covered graph \(G\), Edmonds and Johnson describe \(P(G)\) by nonnegativity constraints \(x_e\ge 0\), degree equations \(x(\delta(v))=1\), and odd-cut inequalities \(x(\delta(U))\ge 1\) for every odd set \(U\subseteq V\) [2508.15602].

The odd-cut formulation is dual in spirit to the odd-set formulation for the matching polytope. For the complete graph \(K_n\), the matching polytope is
\[
P_{\mathrm{MAT}(n)}=\operatorname{conv}\{\,\mathbf 1_M \in \mathbb R^{\binom{[n]}{2}} : M \text{ is a matching}\,\},
\]
with linear description
\[
P_{\mathrm{MAT}(n)} = \left\{ x \in \mathbb R^{\binom{[n]}{2}} \;\middle|\; \sum_{e \ni i} x_e \le 1 \ \forall i\in[n],\; \sum_{e \subseteq U} x_e \le \frac{|U|-1}{2}\ \forall U\subseteq[n], |U|\text{ odd},\; x\ge 0 \right\}.
\]
The odd set constraints
\[
\sum_{e \subseteq U} x_e \le \frac{|U|-1}{2} \qquad (|U|\ \text{odd})
\]
are the key exponentially many facets [1711.10145]. The perfect matching polytope is the exact-degree analogue of this description.

In the bipartite case, the description simplifies sharply. For a bipartite graph \(G=(V,E)\), the bipartite perfect matching polytope
\[
P_G := \operatorname{conv}\{\chi^M : M \subseteq E \text{ is a perfect matching of }G\}
\]
has the compact description
\[
\sum_{e \in \delta(v)} x_e = 1 \quad \forall v \in V,\qquad x_e \ge 0 \quad \forall e \in E,
\]
and this description is totally unimodular [2502.16398]. This distinction between the general and bipartite cases is fundamental throughout the subject.

## 2. Facets, odd cuts, and structural graph theory

The facet structure of matching and perfect matching polytopes is controlled by graph structure. For a graph \(G\), Edmonds and Pulleyblank give a complete facet description of the matching polytope:
\[
MATCH(G)=\left\{x\in\mathbb{R}^{E(G)}:\  \begin{array}{l} x_e\ge 0 \quad \forall e\in E(G),\\[2mm] \sum_{e\in \delta_G(v)} x_e \le 1 \quad \forall v\in V(G),\\[2mm] \sum_{e\in E(H)}x_e \le \frac{|V(H)|-1}{2} \quad \forall H \text{ 2-connected induced factor-critical subgraph} \end{array}\right\},
\]
and Lovász’s theorem states
\[
\text{A 2-connected graph is factor-critical } \iff \text{ it has an odd ear-decomposition}
\]
[1509.05586]. Thus nontrivial facet inequalities are governed by odd ear-decompositions of induced subgraphs.

The parameter \(\beta(G)\) measures this complexity. For a 2-connected graph \(G\), \(\beta(G)\) is the largest integer \(k\) such that \(G\) contains a subgraph \(H\) with an ear-decomposition whose first \(k\) ears are odd; equivalently, it is the maximum length of a starting sequence of odd ears in an ear-decomposition of a subgraph of \(G\) [1509.05586]. When \(\beta(G)\le 1\), every relevant factor-critical induced subgraph is simple enough that the matching polytope is completely described by non-negativity, star inequalities, and odd-circuit inequalities [1509.05586]. Since
\[
MATCH(G)=STAB(L(G)),
\]
this connects matching-polytope structure to h-perfection of line graphs [1509.05586].

For perfect matchings in matching-covered graphs, tight cuts play an analogous structural role. A tight cut \(C=\delta(X)\) is an odd cut such that
\[
P(G;C)=P(G)\cap \{x : x(C)=1\}=P(G),
\]
and cut-contractions along tight cuts preserve the matching-covered structure [2508.15602]. Repeated contraction yields the decomposition into bricks and braces. The polytope dimension satisfies
\[
\dim P(G)=|E|-|V|+1-b(G),
\]
where \(b(G)\) is the number of bricks in a tight-cut decomposition [2508.15602].

This decomposition has a wider scope. For matching covered uniformable hypergraphs, the perfect matching polytope
\[
\MatPol{H} = \left\{ \sum_{M\in \mathcal M} \lambda_M \chi^M \;\middle|\; \sum_{M\in\mathcal M}\lambda_M=1,\ \lambda_M\ge 0\ \forall M\in\mathcal M \right\}
\]
admits an analogous tight-cut theory, and if \(\Cut{H}{S}\) is tight then
\[
x\in \MatPol{H}
\iff
\exists\, x^S\in \MatPol{H_S},\ x^{\bar S}\in \MatPol{H_{\bar S}}
\text{ agreeing on }\Cut{H}{S},\ \text{with }x=x^S\oplus x^{\bar S}
\]
[1812.05461]. This suggests that polyhedral decomposition along tight cuts is not merely graph-specific, although uniqueness fails outside the uniformable class [1812.05461].

## 3. Extension complexity and approximation

A central development in the modern theory is that the perfect matching polytope has exponential extension complexity. For a polytope \(P\), the extension complexity is
\[
xc(P) = \min\{ \text{number of inequalities of } Q \mid \exists \pi \text{ linear with } \pi(Q)=P \},
\]
and Yannakakis’s theorem gives
\[
xc(P)=\operatorname{rk}_+(S),
\]
where \(S\) is a slack matrix of \(P\) [1311.2369]. For all even \(n\),
\[
xc(P_{PM}(n)) = 2^{\Omega(n)},
\]
so the perfect matching polytope in the complete \(n\)-node graph does not admit a polynomial-size extended formulation [1311.2369].

The relevant slack matrix for this lower bound has rows indexed by odd cuts \(U\), columns indexed by perfect matchings \(M\), and entries
\[
S_{UM} = |\delta(U)\cap M| - 1.
\]
A standard rectangle covering argument is insufficient; the proof instead uses a hyperplane separation lower bound with a carefully chosen weight matrix \(W\) [1311.2369]. The same result yields
\[
xc(P_{TSP})=2^{\Omega(n)}
\]
through a known reduction from a face of the TSP polytope [1311.2369].

Approximation does not make the polyhedral problem easy. For a monotone polytope \(P\), a polytope \(K\) is a \((1+\varepsilon)\)-approximation if
\[
P \subseteq K \subseteq (1+\varepsilon)P,
\]
equivalently, for every nonnegative objective \(w\),
\[
\max_{x\in P} w^\top x \le \max_{x\in K} w^\top x \le (1+\varepsilon)\max_{x\in P} w^\top x
\]
[1711.10145]. For the matching polytope, keeping only odd-set inequalities with
\[
|U| \le \frac{1+\varepsilon}{\varepsilon}
\]
gives a \((1+\varepsilon)\)-approximation with about
\[
\binom{n}{O(1/\varepsilon)}
\]
facets [1711.10145].

The lower bound matches this truncation up to constants in \(1/\varepsilon\). For every
\[
\frac{2}{n} \le \varepsilon \le 1,
\]
any extended formulation \(K\) satisfying
\[
P_{\mathrm{MAT}(n)}\subseteq K \subseteq (1+\varepsilon)P_{\mathrm{MAT}(n)}
\]
must have at least
\[
\mathsf{xc}(K)\ \ge\ \binom{n}{\alpha/\varepsilon}
\]
defining inequalities, where \(0<\alpha<1\) is an absolute constant [1711.10145]. The proof uses a lower bound on the non-negative rank of a lopsided unique disjointness matrix
\[
A_{xy} = \begin{cases} 1, & |x\cap y|=0,\\ \le 1-\rho, & |x\cap y|=1, \end{cases}
\]
showing
\[
\rk_+(A)\ \ge\ \binom{n}{\alpha \rho^8 k}
\]
for a suitable range of \(\rho\) [1711.10145]. The paper states explicitly that these results apply directly to the perfect matching polytope because the relevant slack matrix is built from perfect matchings [1711.10145].

A recurring misconception is that polynomial-time solvability should imply compact LP formulations. The perfect matching problem is in \(\mathbf{P}\), yet the classical polytope has exponential extension complexity [1311.2369]. A different result constructs, for each \(n\), a different polytope
\[
PM_n = \CH\{(x,w_x): x \in \{0,1\}^{\binom{n}{2}}\},
\]
where \(w_x=1\) if the graph \(G(x)\) has a perfect matching and \(w_x=0\) otherwise, and shows that \(PM_n\) has a polynomial-size weak extended formulation [1408.0807]. This does not contradict the lower bound for Edmonds’ polytope, because the formulation is weaker than a standard extended formulation and is decision-oriented rather than a projection onto the classical perfect matching polytope [1408.0807].

## 4. Lattice structure and matching-covered graphs

For a matching-covered graph \(G=(V,E)\), the perfect matching polytope is closely tied to the perfect matching lattice
\[
L(G):=\operatorname{lat}\big(P(G)\cap \{0,1\}^E\big),
\]
the set of all integer linear combinations of incidence vectors of perfect matchings [2508.15602]. The comparison object is
\[
\lin(P(G))\cap \mathbb{Z}^E.
\]
Three structural facts are established polyhedrally: \(L(G)\) admits a lattice basis consisting only of incidence vectors of perfect matchings; if
\[
x\in \lin(P(G))\cap \mathbb{Z}^E,
\]
then
\[
2x\in L(G);
\]
and if \(G\) has no Petersen brick in its tight-cut decomposition, then
\[
L(G)=\lin(P(G))\cap\mathbb{Z}^E
\]
[2508.15602].

The obstruction in the general case is parity contributed by Petersen bricks. Writing
\[
\bar L=\lin(P(G))\cap \mathbb{Z}^E,
\]
the stronger formula is
\[
L = \bar L \cap \left\{x : x(A_i)\equiv 0 \pmod 2,\ \forall i\in [p]\right\},
\]
where \(A_i\) is the edge set of a \(5\)-cycle in the \(i\)-th Petersen brick [2508.15602]. Thus each Petersen brick contributes one parity restriction.

A later polyhedral construction makes this basis theorem algorithmic. There is a polynomial time algorithm that, given a matching covered graph \(G\), finds a lattice basis for \((G)\) consisting of incidence vectors of perfect matchings of \(G\) [2511.03863]. Its strategy is to reduce via tight cut decomposition, handle Birkhoff von Neumann graphs \(G\) satisfying
\[
PM(G)=P(G):=\left\{x\in \mathbb{R}^E_{\geq 0}: x(\delta(v))= 1\ \forall v\in V \right\},
\]
and in non-BvN bricks use separating cuts and a perfect matching \(M^*\) intersecting such a cut in three edges [2511.03863]. The dimension formulas
\[
\dim(PM(G)) = |E'|-|V|+1-b,\qquad
\dim (\lat(G)) = |E'|-|V|+2-b
\]
make explicit how brick structure controls both the polytope and the lattice [2511.03863].

This body of work indicates that the perfect matching polytope is not only a feasible-region object for optimization; it also governs the integral linear-algebraic structure of perfect matchings in matching-covered graphs.

## 5. Bipartite perfect matching polytopes: geometry and hardness beyond optimization

The bipartite perfect matching polytope is often viewed as polyhedrally simple because its standard formulation is compact and totally unimodular [2502.16398]. That simplicity is exact for feasibility and linear optimization, but it does not extend to all geometric questions.

For a bipartite graph \(G\), the diameter \(\operatorname{diam}(P_G)\) is the maximum shortest-path distance in the \(1\)-skeleton, and the circuit diameter \(\operatorname{cdiam}(P_G)\) replaces edge steps by circuit moves [2502.16398]. In this setting, vertices correspond to perfect matchings, and adjacency in the \(1\)-skeleton satisfies Chvátal’s criterion: two perfect matchings are adjacent iff their symmetric difference is a single alternating cycle [2502.16398]. Nevertheless,
\[
BPM\text{-}Diameter\text{-}Decision \text{ is } \Pi^p_2\text{-complete},
\]
and because
\[
\operatorname{diam}(P_G)=\operatorname{cdiam}(P_G),
\]
the same hardness transfers to circuit diameter [2502.16398]. The paper also states that there exists \(\varepsilon>0\) such that the diameter of the bipartite perfect matching polytope cannot be approximated better than \((1+\varepsilon)\) in polynomial time unless \(P\neq NP\), with explicit value \(\varepsilon = 1/15\,428 \approx 6.5\cdot 10^{-5}\) noted in the proof [2502.16398].

Shortest paths in the skeleton are hard even in a more local sense. Unless \(\P=\NP\), there is no polynomial-time algorithm that computes a path of constant length between two vertices at distance two of the perfect matching polytope of a bipartite graph [2210.14608]. Under ETH, there is no polynomial-time algorithm computing a path of length at most
\[
\left(\frac{1}{4}-o(1)\right)\frac{\log N}{\log \log N}
\]
between two vertices at distance two, even when the graph has maximum degree three [2210.14608]. The same paper translates this into hardness for shortest monotone paths and for circuit-augmentation algorithms on \(P_G\) [2210.14608].

The perfect matching polytope is also central in parallel algorithms. For planar graphs, an NC algorithm for finding a perfect matching works by operating inside
\[
\PM(G)=\conv\{\, \chi_M \mid M \text{ is a perfect matching of }G\,\},
\]
using the standard constraints
\[
\dv{x}=1 \ \forall v \in V,\qquad \ds{x}\geq 1 \ \forall S\subset V,\ \card{S}\text{ odd},\qquad x_e \geq 0 \ \forall e\in E
\]
and, crucially, computing a point
\[
\avg(\PM(G,w))
\]
in the relative interior of a minimum-weight face [1709.07822]. Tight odd sets with
\[
\ds[S]{x}=1
\]
then guide contractions in parallel [1709.07822]. This shows that the polytope is an algorithmic device, not merely a static description.

## 6. Variants, generalizations, and limitations of classical intuition

Several closely related polytopes illustrate both the robustness and the limits of the classical theory.

A broad generalization is the fractional perfect \(b\)-matching polytope
\[
P(G,b):=\left\{x\in \mathbb{R}^E \;\middle|\; x_e\ge 0\ \forall e\in E,\ \sum_{e\in d_G(v)} x_e=b_v\ \forall v\in V\right\}.
\]
When \(b_v=1\) for all \(v\), this is the polytope of fractional perfect matchings [1301.7356]. Its facial structure is controlled by support graphs: if \(F\) is a nonempty face, then
\[
F \cong P(\operatorname{gr}(F),b),
\]
and
\[
\dim(F)=|\operatorname{supp}(F)|-|V|+B,
\]
where \(B\) is the number of bipartite components of \(\operatorname{gr}(F)\) [1301.7356]. An element \(u\in P(G,b)\) is a vertex if and only if each connected component of \(\operatorname{gr}(u)\) is either acyclic or contains exactly one odd cycle [1301.7356]. This places the perfect matching polytope inside a larger graph-structured family.

A different extension adds one binary variable \(y\) indicating whether two fixed disjoint edges \(e_1,e_2\) are simultaneously chosen in a bipartite matching. For the corresponding exact polytope \(\PmatchOne\), the complete irredundant description consists of nonnegativity, degree inequalities, \(0\le y\le 1\), \(y\le x_{e_1}\), \(y\le x_{e_2}\), and two blossom-type families
\[
x(E[S]) + y \le \frac{1}{2}(|S|-1)\qquad \forall S\in \facetsDown
\]
and
\[
x(E[S]) + x_{e_1} + x_{e_2} - y \le \frac{1}{2}|S| \qquad \forall S\in \facetsUp
\]
[1607.01880]. The perfect-matching version is obtained by replacing degree inequalities with equalities [1607.01880].

Parity-constrained versions are substantially harder. For complete bipartite graphs with parallel red and blue edges, the convex hull of perfect matchings with an odd number of red edges,
\[
P_{G_n} := \operatorname{conv}\Bigl(\{\chi^M : M \text{ is a perfect matching with an odd number of red edges}\}\Bigr),
\]
has exponential extension complexity:
\[
xc(P_{G_n})=2^{\Omega(n)}
\]
[2211.09106]. This is not a statement about the classical bipartite perfect matching polytope itself, which remains compactly described [2211.09106]. The distinction is essential.

More recently, the odd-red bipartite perfect matching polytope
\[
P_{(G,R)}:=\operatorname{conv}\bigl\{\chi^M : M \text{ is a perfect matching in }G \text{ with } |M\cap R|\text{ odd}\bigr\}
\]
was shown to have complex facet structure [2603.18232]. The proposed label-based relaxation
\[
Q_{(G,R)} := \left\{ x \in \mathbb{R}_{\ge 0}^E : \begin{array}{rl} x(\delta(u)) = 1 & \forall u\in V,\\ x(E_L) \ge 1 & \forall L \in L(G) \end{array} \right\}
\]
is not exact and is hard to separate over: deciding whether \(x\notin Q_{(G,R)}\) is \(\NP\)-complete even when \(x\) is promised to lie in the perfect matching polytope of \(G\) [2603.18232]. Moreover, for every even \(n\), there exists an exponential family of facets such that every integral facet description
\[
F=\{x\in P_{(G,R)} : a^\top x=b\}
\]
must satisfy
\[
\max_{e\in E}|a_e|\ge \frac{n-4}{2},
\qquad
\bigl|\{a_e : e\in E\}\bigr|\ge \sqrt{\frac{n-1}{2}}
\]
[2603.18232]. This rules out exact descriptions using only coefficients in \(\{0,\pm1\}\).

Finally, cardinality constraints reveal another boundary. It is well known that the intersection of the matching polytope with a cardinality constraint is integral, but a generic “perfect matching polytope + subset cardinality constraint” statement is false [1412.8723]. An explicit bipartite example yields a fractional extreme point for the perfect matching polytope intersected with
\[
x_{14}+x_{25}\le 1
\]
[1412.8723]. Thus classical integrality phenomena for matchings do not transfer wholesale to perfect matchings under arbitrary side constraints.

The perfect matching polytope therefore occupies a distinctive position in polyhedral combinatorics. Its exact description is classical, but its odd-cut structure remains decisive in approximation, decomposition, and algorithm design; its extension complexity is exponential despite polynomial-time solvability; its lattice theory is governed by tight cuts, bricks, and Petersen obstructions; and even in the bipartite case, seemingly simple geometric questions such as diameter, shortest paths, and parity-restricted variants exhibit markedly harder behavior than the base polytope itself [1311.2369].

Source: https://www.emergentmind.com/topics/perfect-matching-polytope