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] [Field R] [LinearOrder R] [IsStrictOrderedRing R] {M : Matrix n n R} (hM : M โˆˆ doublyStochastic R n) :
โˆƒ (w : Equiv.Perm n โ†’ R), (โˆ€ (ฯƒ : 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 a 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.

theorem doublyStochastic_eq_convexHull_permMatrix {R : Type u_1} {n : Type u_2} [Fintype n] [DecidableEq n] [Field R] [LinearOrder R] [IsStrictOrderedRing R] :
โ†‘(doublyStochastic R n) = (convexHull R) {x : Matrix n n R | โˆƒ (ฯƒ : Equiv.Perm n), Equiv.Perm.permMatrix R ฯƒ = x}

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.

theorem extremePoints_doublyStochastic {R : Type u_1} {n : Type u_2} [Fintype n] [DecidableEq n] [Field R] [LinearOrder R] [IsStrictOrderedRing R] :
Set.extremePoints R โ†‘(doublyStochastic R n) = {x : Matrix n n R | โˆƒ (ฯƒ : Equiv.Perm n), Equiv.Perm.permMatrix R ฯƒ = x}

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