The ott.problems.linear describes the simplest family of optimal transport problems, those that involve computing the Kantorovich problem itself, also known as the linear optimal transport problem, or, more generally, objective functions that are sums of such optimal transport costs, which includes the two variants of Wasserstein barycenter problems.

The module also holds dual potential variables, a class of functions that act as optimization variables for the dual optimal transport problem.

OT Problems#

linear_problem.LinearProblem(geom[, a, b, ...])

Linear OT problem.

barycenter_problem.FixedBarycenterProblem(geom, a)

Fixed-support Wasserstein barycenter problem.


Free Wasserstein barycenter problem [Cuturi and Doucet, 2014].

Dual Potentials#

potentials.DualPotentials(f, g, *, cost_fn)

The Kantorovich dual potential functions \(f\) and \(g\).

potentials.EntropicPotentials(f_xy, g_xy, prob)

Dual potential functions from finite samples [Pooladian and Niles-Weed, 2021].