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

AndersonAcceleration.update(state, iteration, pb, 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) – A sinkhorn.SinkhornState

  • iteration (int) – int, the current iteration.

  • pb – a problem.LinearProblem defining the OT problem.

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

Return type

SinkhornState

Returns

A potential variable.