ott.geometry.costs.ElasticL1.h_transform#
- ElasticL1.h_transform(f, **kwargs)#
Compute the h-transform of a concave function.
Return a callable \(f_h\) defined as:
\[f_h(x) = \min_y h(x - y) - f(y)\]This is equivalent, up to a change of variables, \(z = x - y\), to define
\[\begin{split}\min_z h(z) - f(x - z). \\ \min_z h(z) + \tilde{f}(z, x).\end{split}\]where \(\tilde{f}(z, x) := -f(x - z)\).
This is solved using proximal gradient descent, which requires having access to the prox of \(\text{scaling_h} \cdot h\) and not only to that of
h()
. Given the properties ofh()
, the prox is obtained by rescaling the output of the prox of a suitable scaling ofprox_reg()
.