ott.solvers.linear.lr_utils.unbalanced_dykstra_kernel

ott.solvers.linear.lr_utils.unbalanced_dykstra_kernel#

ott.solvers.linear.lr_utils.unbalanced_dykstra_kernel(k_q, k_r, k_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 kernel mode.

Parameters:
  • k_q (Array) – Kernel associated with \(Q\).

  • k_r (Array) – Kernel associated with \(R\).

  • k_g (Array) – Kernel 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.