Functional.proximal¶
- property Functional.proximal¶
Proximal factory of the functional.
Notes
The proximal operator of a function is an operator defined as
Proximal operators are often used in different optimization algorithms, especially when designed to handle nonsmooth functionals.
A
proximal factory
is a function that, when called with a step length , returns the corresponding proximal operator.The nonsmooth solvers that make use of proximal operators to solve a given optimization problem take a
proximal factory
as input, i.e., a function returning a proximal operator. See for exampleforward_backward_pd
.In general, the step length is expected to be a positive float, but certain functionals might accept more types of objects as a stepsize:
If a functional is a
SeparableSum
, then, instead of a positive float, one may call theproximal factory
with a list of positive floats, and the stepsize are applied to each component individually.For certain special functionals like
L1Norm
andL2NormSquared
, which are not implemented as aSeparableSum
, the proximal factory will accept an argument which iselement-like
regarding the domain of the functional. Its components must be strictly positive floats.
A stepsize like coincides with a matrix-valued distance according to Section XV.4 of [HL1993] and the rule
or the Bregman-proximal according to [E1993] and the rule
References
[HL1993] Hiriart-Urruty J-B, and Lemaréchal C. Convex analysis and minimization algorithms II. Advanced theory and bundle methods. Springer, 1993.
[E1993] Eckstein J. Nonlinear proximal point algorithms using Bregman functions, with applications to convex programming. Mathematics of Operations Research, 18.1 (1993), pp 202--226.