ott.solvers.linear.acceleration.AndersonAcceleration.update

ott.solvers.linear.acceleration.AndersonAcceleration.update#

AndersonAcceleration.update(state, iteration, prob, lse_mode)[source]#

Anderson acceleration update.

When using Anderson acceleration, first update the dual variable f_u with previous updates (if iteration count sufficiently large), then record new iterations in array.

Anderson acceleration always happens in potentials (not scalings) space, regardless of the lse_mode setting. If the iteration count is large enough the update below will output a potential variable.

Parameters:
  • state (SinkhornState) – Sinkhorn state.

  • iteration (int) – the current iteration.

  • prob (LinearProblem) – linear OT problem.

  • lse_mode (bool) – whether to compute in log-sum-exp or in scalings.

Return type:

SinkhornState

Returns:

A potential variable.