Form a bipartite graph with one vertex for each row and one for each column, putting an edge exactly where . For a set of row vertices, let be its neighbouring column vertices. Since is a doubly stochastic matrix,
The Hall marriage theorem therefore supplies a perfect matching. Its incidence entries define a permutation matrix supported on the positive entries of , hence on the ones of . Entrywise , so
The preceding perfect matching gives a permutation matrix supported on the positive entries of . Let
If , every row's selected entry is one and all other entries vanish, so . Otherwise
is a doubly stochastic matrix with strictly fewer positive entries. Induct on the number of positive entries: the base case has exactly positive entries and is a permutation matrix. By induction, write as a convex combination. Then
is another convex combination, with nonnegative coefficients summing to one. Thus
This constructive proof of the Birkhoff-von Neumann theorem is Birkhoff decomposition by support matchings.
For an explicit algorithm, keep an unnormalized residual , initially , whose row and column sums all equal a common mass , initially one. While , find a perfect matching in its positive support, form its permutation matrix , and subtract , where is the smallest selected entry. Record and replace by .
If the residual mass is positive, the same proof of the Hall marriage theorem condition applies after division by . Every subtraction removes at least one positive entry and creates no new positive entries. Before the last subtraction, any positive-mass residual has at least positive entries; the last step removes all its entries. If is the initial number of positive entries, then
Since the residual ultimately vanishes, summing the recorded subtractions gives , and the row sums give .
A perfect matching can be found by at most searches for an augmenting path in a matching, each costing in a graph with at most edges. Thus each iteration costs , including forming the support and updating the residual, and there are iterations. Hence
This bound uses exact real arithmetic. For rational input, a common denominator lets all residual subtractions be performed on integers of polynomial bit length, giving a polynomial bit-time implementation as well.

Articles by others on the same topic (0)

There are currently no matching articles.