Generic Moreau envelope
[M] = pl_me_generic(X,Y,S) [M,p,P] = pl_me_generic(X,Y,S) [M,g,Conjpartial,Conj] = pl_me_generic(Xr,Xc,f,Sr,Sc)
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)
column vector of length n.
column vector of length m.
matrix of size nxm. The function f is sampled on a grid Xr x Xc so f(i,j)=fu(Xr(i),Xc(j)) for some function fu.
column vector of size m1.
column vector of size m2. The Moreau envelope is computed on a grid SrxSc.
matrix of size m1xm2 containing the Moreau envelope of the function f.
matrix of size nxm containing the function g (see formula below).
matrix containing the partial conjugate of the function g i.e. the one dimensional conjugate applied to each row.
matrix of size m1xm2 containing the conjugate of the function g (see pl_me_llt_2d for formula).
The moreau function is a wrapper for three different moreau envelope computations depending on the calling sequence. The first calling sequence [M] = pl_me_generic(X,Y,S) uses pl_me_llt function for the 1D me computation. The second calling sequence [M,p,P] = pl_me_generic(X,Y,S) uses the pl_me_direct function for the 1D me computation. The last calling sequence [M,g,Conjpartial,Conj] = pl_me_generic(Xr,Xc,f,Sr,Sc) uses pl_me_llt_2d function for the 2D me computation. For a more detailed description see links below.
Mike Trienis
, University of British Columbia, BC, Canada