Discrete Optimal Transport: For any \(r \ge 1 \) , let the probability simplex be denoted
by \(\Delta _r =\lbrace v \in \mathbb {R}^r : v_i\ge 0, \sum _{i=1}^r v_i=1\rbrace \) , and also assume that \({U}=\lbrace u_1,...,u_n\rbrace \)  and \(V=\lbrace v_1,...,v_m\rbrace \)  are two sets of data points in \(\mathbb {R}^d\)  such that \(\mathcal {U}=\sum _{i=1}^n a_i\delta _{u_{i}}\)  and \(\mathcal {V}=\sum _{i=1}^m b_i\delta _{v_{i}}\) ; the Wasserstein distance \(W_k(\mathcal {U}, \mathcal {V})\)  between two discrete measures \(\mathcal {U}\)  and \(\mathcal {V}\)  is the \(k\) -th root of the optimum of a network flow problem known as the transportation problem [1]}. Note that \(\delta _{u_i}\)  is the Dirac unit mass located on point \(u_i\) , \(a\)  and \(b\)  are the weighting vectors which belong to the probability simplex \(\Delta _n\)  and \(\Delta _{m}\) , respectively. The transportation problem depends on the two following components: 1) matrix \(M \in \mathbb {R}_+^{n\times m} \)  which encodes the geometry of the data points by measuring the pairwise distance between elements in \(U\)  and \(V\)  increased to the power \(k\) , 2) the transportation polytope \(P(a,b) \in \mathbb {R}_+^{n\times m}\)  which acts as a feasible set, characterized as a set of
\(n \times m\)  non-negative matrices such that their row and column
marginals are \(a\)  and \(b\) , respectively. This means that the transportation plan should satisfy the marginal
constraints. In other words, let \(\textbf {1}_m\)  be an \(m\) -dimensional vector with all elements equal to one, then the transportation polytope is represented as follows: \(P(a,b)=\lbrace T \in \mathbb {R}_+^{n\times m}| T^\top \textbf {1}_n=b, T \textbf {1}_m=a\rbrace \) . Essentially, each element \(T(i,j)\)  indicates the amount of mass which is transported from \(i\)  to \(j\) . Note that in the transportation problem, the matrix \(M\)  is also considered as a cost parameter such that \(M(i,j)= D^k(u_i,v_j)\)  where \(D(.)\)  is the Euclidean distance.
