ott.solvers.linear.lr_utils.unbalanced_dykstra_lse

ott.solvers.linear.lr_utils.unbalanced_dykstra_lse#

ott.solvers.linear.lr_utils.unbalanced_dykstra_lse(c_q, c_r, c_g, gamma, ot_prob, translation_invariant=True, tolerance=0.001, min_iter=0, inner_iter=10, max_iter=10000)[source]#

Dykstra’s algorithm for the unbalanced LRSinkhorn in LSE mode.

Parameters:
  • c_q (Array) – Cost associated with \(Q\).

  • c_r (Array) – Cost associated with \(R\).

  • c_g (Array) – Cost associated with \(g\).

  • gamma (float) – The (inverse of) the gradient step.

  • ot_prob (LinearProblem) – Unbalanced OT problem.

  • translation_invariant (bool) – Whether to use the translation invariant objective, see [Scetbon et al., 2023], alg. 3.

  • tolerance (float) – Convergence threshold.

  • min_iter (int) – Minimum number of iterations.

  • inner_iter (int) – Compute error every inner_iter.

  • max_iter (int) – Maximum number of iterations.

Return type:

Tuple[Array, Array, Array]

Returns:

The \(Q\), \(R\) and \(g\) factors.