[For comparison only] Moreau envelope, direct computation
[M,p,P] = pl_me_direct(X,f,S)
column vector. A grid of points on which the function is sampled.
column vector. The value of the function on the grid X: usually f(i)=fu(X(i)) for some function fu.
column vector. The grid on which we want to compute the conjugate: f* is evaluated on S.
column vector. Contains the value of the Moreau envelope M of the function f evaluated on at the points S(j). In other words: M(j) = Min(||S(j) - X(i)||^2 + f(i) | over all indexes i)
selection of the proximal mapping, p(j) is in Argmin(||S(j) - X(i)||^2 + f(i) | over all indexes i)
proximal mapping, P(j)=Argmin(||S(j) - X(i)||^2 + f(i) | over all indexes i)
Warning: This function is provided only for comparison purposes and unit testing, use more efficient linear-time algorithms for faster computation.
Compute numerically the discrete Moreau envelope of a set of planar points (X(i),f(i)) at slopes S(j), i.e.
2 M(j) = min f(i) + || s(j) - x(i) ||. i 2 p(j) in Argmin f(i) + || s(j) - x(i) ||. i 2 P(j) = Argmin f(i) + || s(j) - x(i) ||. i | ![]() | ![]() |
Yves Lucet
, University of British Columbia, BC, Canada