Proximal Maps
For a function $\varphi\colon\mathcal M \to\mathbb R$ the proximal map is defined as
where $d_{\mathcal M}\colon \mathcal M \times \mathcal M \to \mathbb R$ denotes the geodesic distance on (\mathcal M). While it might still be difficult to compute the minimizer, there are several proximal maps known (locally) in closed form. Furthermore if $x^{\star} ∈ \mathcal M$ is a minimizer of $\varphi$, then
i.e. a minimizer is a fixed point of the proximal map.
This page lists all proximal maps available within Manopt. To add you own, just extend the functions/proximal_maps.jl file.
Manopt.project_collaborative_TV — Functionproject_collaborative_TV(M,λ,x [,p=2,q=1])compute the projection onto collaborative Norm unit (or α-) ball, i.e. of the function
where $\mathcal G$ is the set of indices for $x\in\mathcal M$ and $\mathcal I_i$ is the set of its forward neighbors. This is adopted from the paper by Duran, Möller, Sbert, Cremers: Collaborative Total Variation: A General Framework for Vectorial TV Models (arxiv: 1508.01308), where the most inner norm is not on a manifold but on a vector space, see their Example 3 for details.
Manopt.prox_TV — Methodξ = prox_TV(M,λ,x [,p=1])compute the proximal maps $\operatorname{prox}_{\lambda\varphi}$ of all forward differences orrucirng in the power manifold array, i.e. $\varphi(xi,xj) = d_{\mathcal M}^p(xi,xj)$ with xi and xj are array elemets of x and j = i+e_k, where e_k is the $k$th unitvector. The parameter λ is the prox parameter.
Input
M– a Manifoldλ– a real value, parameter of the proximal mapx– a point.
Optional
(default is given in brackets)
p– (1) exponent of the distance of the TV term
Ouput
y– resulting point containinf with all mentioned proximal points evaluated (in a cylic order).
Manopt.prox_TV — Method(y1,y2) = prox_TV(M,λ,(x1,x2) [,p=1])Compute the proximal map $\operatorname{prox}_{\lambda\varphi}$ of $\varphi(x,y) = d_{\mathcal M}^p(x,y)$ with parameter λ.
Input
M– a Manifoldλ– a real value, parameter of the proximal map(x1,x2)– a tuple of two points,
Optional
(default is given in brackets)
p– (1) exponent of the distance of the TV term
Ouput
(y1,y2)– resulting tuple of points of the $\operatorname{prox}_{\lambda\varphi}($(x1,x2)$)$
Manopt.prox_TV2 — Method(y1,y2,y3) = prox_TV2(M,λ,(x1,x2,x3),[p=1], kwargs...)Compute the proximal map $\operatorname{prox}_{\lambda\varphi}$ of $\varphi(x_1,x_2,x_3) = d_{\mathcal M}^p(c(x_1,x_3),x_2)$ with parameter λ>0, where $c(x,z)$ denotes the mid point of a shortest geodesic from x1 to x3 that is closest to x2.
Input
M– a manifoldλ– a real value, parameter of the proximal map(x1,x2,x3)– a tuple of three pointsp– (1) exponent of the distance of the TV term
Optional
kwargs... – parameters for the internal subgradient_method (if M is neither Euclidean nor Circle, since for these a closed form is given)
Output
(y1,y2,y3)– resulting tuple of points of the proximal map
Manopt.prox_TV2 — Methodξ = prox_TV2(M,λ,x,[p])compute the proximal maps $\operatorname{prox}_{\lambda\varphi}$ of all centered second order differences orrucirng in the power manifold array, i.e. $\varphi(x_k,x_i,x_j) = d_2(x_k,x_i.x_j)$, where $k,j$ are backward and forward neighbors (along any dimension in the array of x). The parameter λ is the prox parameter.
Input
M– a Manifoldλ– a real value, parameter of the proximal mapx– a points.
Optional
(default is given in brackets)
p– (1) exponent of the distance of the TV term
Ouput
y– resulting point with all mentioned proximal points evaluated (in a cylic order).
Manopt.prox_distance — Functiony = prox_distance(M,λ,f,x [,p=2])compute the proximal map $\operatorname{prox}_{\lambda\varphi}$ with parameter λ of $\varphi(x) = \frac{1}{p}d_{\mathcal M}^p(f,x)$.
Input
M– a Manifold $\mathcal M$λ– the prox parameterf– a point $f ∈ \mathcal M$ (the data)x– the argument of the proximal map
Optional argument
p– (2) exponent of the distance.
Ouput
y– the result of the proximal map of $\varphi$
Manopt.prox_parallel_TV — Methodξ = prox_parallel_TV(M,λ,x [,p=1])compute the proximal maps $\operatorname{prox}_{\lambda\varphi}$ of all forward differences orrucirng in the power manifold array, i.e. $\varphi(xi,xj) = d_{\mathcal M}^p(xi,xj)$ with xi and xj are array elemets of x and j = i+e_k, where e_k is the $k$th unitvector. The parameter λ is the prox parameter.
Input
M– aPowerManifoldmanifoldλ– a real value, parameter of the proximal mapx– a point
Optional
(default is given in brackets)
p– (1) exponent of the distance of the TV term
Ouput
y– resulting Array of points with all mentioned proximal points evaluated (in a parallel within the arrays elements).
See also prox_TV