ott.problems.linear.potentials.DualPotentials.transport#

DualPotentials.transport(vec, forward=True)[source]#

Transport vec according to Brenier formula [Brenier, 1991].

Uses Theorem 1.17 from [Santambrogio, 2015] to compute an OT map when given the Legendre transform of the dual potentials.

That OT map can be recovered as \(x- (\nabla h)^{-1}\circ \nabla f(x)\) For the case \(h(\cdot) = \|\cdot\|^2, \nabla h(\cdot) = 2 \cdot\,\), and as a consequence \(h^*(\cdot) = \|.\|^2 / 4\), while one has that \(\nabla h^*(\cdot) = (\nabla h)^{-1}(\cdot) = 0.5 \cdot\,\).

When the dual potentials are solved in correlation form (only in the Sq. Euclidean distance case), the maps are \(\nabla g\) for forward, \(\nabla f\) for backward.

Parameters
  • vec (Array) – Points to transport, array of shape [n, d].

  • forward (bool) – Whether to transport the points from source to the target distribution or vice-versa.

Return type

Array

Returns

The transported points.