Documentation

Mathlib.Analysis.Convex.Birkhoff

Birkhoff's theorem #

Main statements #

TODO #

Tags #

Doubly stochastic, Birkhoff's theorem, Birkhoff-von Neumann theorem

theorem exists_eq_sum_perm_of_mem_doublyStochastic {R : Type u_1} {n : Type u_2} [Fintype n] [DecidableEq n] [LinearOrderedField R] {M : Matrix n n R} (hM : M doublyStochastic R n) :
∃ (w : Equiv.Perm nR), (∀ (σ : Equiv.Perm n), 0 w σ) σ : Equiv.Perm n, w σ = 1 σ : Equiv.Perm n, w σ Equiv.Perm.permMatrix R σ = M

If M is a doubly stochastic matrix, then it is an convex combination of permutation matrices. Note doublyStochastic_eq_convexHull_permMatrix shows doublyStochastic n is exactly the convex hull of the permutation matrices, and this lemma is instead most useful for accessing the coefficients of each permutation matrices directly.

Birkhoff's theorem The set of doubly stochastic matrices is the convex hull of the permutation matrices. Note exists_eq_sum_perm_of_mem_doublyStochastic gives a convex weighting of each permutation matrix directly. To show doublyStochastic n is convex, use convex_doublyStochastic.

The set of extreme points of the doubly stochastic matrices is the set of permutation matrices.