[MRG] Translation Invariant Sinkhorn for Unbalanced OT by clbonet · Pull Request #676 · PythonOT/POT

Types of changes

This PR aims to add the Translation Invariant Sinkhorn algorithm proposed in Faster Unbalanced Optimal Transport: Translation invariant Sinkhorn and 1-D Frank-Wolfe
to solve the Unbalanced OT problem.

  • Added the function sinkhorn_unbalanced_translation_invariant in unbalanced/_sinkhorn.py
  • Added an example in plot_conv_sinkhorn_ti.py to demonstrate the convergence benefits
  • Added the method in unbalanced/test_sinkhorn.py

Motivation and context / Related issue

This version of Sinkhorn converges faster than the classical Sinkhorn algorithm for UOT.

How has this been tested (if it applies)

The function can be called by using the method "sinkhorn_translation_invariant" in sinkhorn_unbalanced, so I added this method in the itertools of tests of unbalanced/test_sinkhorn.py.

PR checklist

  • I have read the CONTRIBUTING document.
  • The documentation is up-to-date with the changes I made (check build artifacts).
  • All tests passed, and additional code has been covered with new tests.
  • I have added the PR and Issue fix to the RELEASES.md file.