Similar to #45, a lot of functions currently are either named mirroring Python OT's function naming choices, or just ad-hoc as they were added originally. (I agree with ot_cost and ot_plan for unregularised OT as per #45, for the record).
- Along those lines, for the
sinkhorn routines we should use sinkhorn_cost and sinkhorn_plan, etc.
- What to rename
quadreg to? This solves OT regularised with an L2 cost on the transport plan. Currently it's solved using one particular algorithm, but there are other approaches, so I'd prefer not to refer to any particular algorithm in the function name.
One possibility is to have a general ot_reg_cost and ot_reg_plan wrapper for generalised regularisations. Then the user can specify the regularisation functional and algorithm upon calling. So something like
ot_reg_cost(mu, nu, C, 0.05; reg_func = "L2", method = "lorenz")
Similar to #45, a lot of functions currently are either named mirroring Python OT's function naming choices, or just ad-hoc as they were added originally. (I agree with
ot_costandot_planfor unregularised OT as per #45, for the record).sinkhornroutines we should usesinkhorn_costandsinkhorn_plan, etc.quadregto? This solves OT regularised with an L2 cost on the transport plan. Currently it's solved using one particular algorithm, but there are other approaches, so I'd prefer not to refer to any particular algorithm in the function name.One possibility is to have a general
ot_reg_costandot_reg_planwrapper for generalised regularisations. Then the user can specify the regularisation functional and algorithm upon calling. So something likeot_reg_cost(mu, nu, C, 0.05; reg_func = "L2", method = "lorenz")