I'm interested in $n \times m$ joint probability tables with prescribed row and column marginals. Such tables form a convex set known as the *transportation polytope*. What are the extreme points of this set?


For example, for a $2 \times 2$ case of
$$\begin{bmatrix} x\_{11} & x\_{12}\\\\
x\_{21} & x\_{22} \end{bmatrix}$$
with row constraint $x\_{11} + x\_{12} = 0.9$, column constraint $x\_{11} + x\_{21} = 0.8$, and $\sum\_{i,j} x\_{ij} = 1$, then there are two extreme points,
$$
\begin{bmatrix}
0.8 & 0.1\\\\
0 & 0.1 \end{bmatrix}, \quad
\begin{bmatrix}
0.7 & 0.2\\\\
0.1 & 0 \end{bmatrix}.
$$
And every joint table with the constraint lies in the convex hull of these two points.


Is there a general way of finding the extreme points? In other words, is there a generalization to Birkhoff–von Neumann theorem for this case?



Extreme points of transportation polytope
A complete solution with references can be found in Section 8.1 of Brualdi, Combinatorial Matrix Classes, Cambridge University Press, 2006.


Here is how to make an extreme point, and all extreme points can be made in this way. Suppose $\{r\_i\}$ and $\{c\_j\}$ are the required row and column sums. Start with a zero matrix $A=(a\_{ij})$. Choose $i,j$ so that $r\_i,c\_j>0$. Set $a\_{ij}=\min(r\_i,c\_j)$ and subtract $\min(r\_i,c\_j)$ from both $r\_i$ and $c\_j$. Keep doing this until all the row sums or all the columns sums are zero (and it better be both of them zero or there is no such matrix).


And a characterization. For any matrix in the class you can define a bipartite graph with $m$ row-vertices and $n$ column-vertices where the edges indicate where the matrix entries are non-zero. Then the matrix is an extreme point iff the graph has no cycles.


