Optimal transport algorithms for Julia
Author JuliaOptimalTransport
30 Stars
Updated Last
1 Year Ago
Started In
April 2020


CI Codecov Coveralls Code Style: Blue

This package provides some Julia implementations of algorithms for computational optimal transport, including the Earth-Mover's (Wasserstein) distance, Sinkhorn scaling algorithm for entropy-regularised transport as well as some variants or extensions.

Overview of supported functionality

  • Monge-Kantorovich (Earth-Mover's) distance (emd, emd2)
  • Sinkhorn algorithm for entropy-regularised optimal transport (sinkhorn, sinkhorn2)
  • Log-stabilized Sinkhorn algorithm (sinkhorn_stabilized)
  • Epsilon-scaling stabilized Sinkhorn algorithm (sinkhorn_stabilized_epsscaling)
  • Unbalanced Sinkhorn algorithm (sinkhorn_unbalanced)
  • Entropy-regularised barycenters (Sinkhorn barycenters) (sinkhorn_barycenter)
  • Quadratically regularised optimal transport via semismooth Newton scheme [Lorenz, 2019] (quadreg)

See the documentation pages linked below for further information. Most calling conventions are analogous to those in the Python Optimal Transport library, which formed the inspiration for this library.



Contributions are more than welcome! Please feel free to submit an issue or pull request in this repository.


Contributors include:

  • Tim Matsumoto (UBC)
  • David Widmann (Uppsala)
  • Davi Barreira (FGV)
  • Stephen Zhang (UBC)


  • Peyré, G. and Cuturi, M., 2019. Computational optimal transport. Foundations and Trends® in Machine Learning, 11(5-6), pp.355-607.
  • Lorenz, D.A., Manns, P. and Meyer, C., 2019. Quadratically regularized optimal transport. Applied Mathematics & Optimization, pp.1-31.
  • Rémi Flamary and Nicolas Courty, POT Python Optimal Transport library, https://pythonot.github.io/, 2017
  • Chizat, L., Peyré, G., Schmitzer, B. and Vialard, F.X., 2016. Scaling algorithms for unbalanced transport problems. arXiv preprint arXiv:1607.05816.
  • Schmitzer, B., 2019. Stabilized sparse scaling algorithms for entropy regularized transport problems. SIAM Journal on Scientific Computing, 41(3), pp.A1443-A1481.

Used By Packages

No packages found.