jaxopt.projection.kl_projection_birkhoff
- jaxopt.projection.kl_projection_birkhoff(sim_matrix, make_solver=None, use_semi_dual=True)[source]
Kullback-Leibler projection onto the Birkhoff polytope, the set of doubly stochastic matrices.
This function is a special case of
kl_projection_transport
.- Parameters
sim_matrix (
Array
) – similarity matrix, shape=(size, size).make_solver (
Optional
[Callable
]) – a function of the form make_solver(fun), for creating an iterative solver to minimize fun.use_semi_dual (
bool
) – if true, use the semi-dual formulation in Equation (10) of https://arxiv.org/abs/1710.06276. Otherwise, use the dual-formulation in Equation (7).
- Returns
doubly-stochastic matrix, shape=(size, size).
- Return type
P