pyproximal.optimization.primal.ProximalPoint#

pyproximal.optimization.primal.ProximalPoint(prox, x0, tau, niter=10, tol=None, callback=None, show=False)[source]#

Proximal point algorithm

Solves the following minimization problem using Proximal point algorithm:

\[\mathbf{x} = \argmin_\mathbf{x} f(\mathbf{x})\]

where \(f(\mathbf{x})\) is any convex function that has a known proximal operator.

Parameters
proxpyproximal.ProxOperator

Proximal operator

x0numpy.ndarray

Initial vector

taufloat

Positive scalar weight

niterint, optional

Number of iterations of iterative scheme

tolfloat, optional

Tolerance on change of objective function (used as stopping criterion). If tol=None, run until niter is reached

callbackcallable, optional

Function with signature (callback(x)) to call after each iteration where x is the current model vector

showbool, optional

Display iterations log

Returns
xnumpy.ndarray

Inverted model

Notes

The Proximal point algorithm can be expressed by the following recursion:

\[\mathbf{x}^{k+1} = \prox_{\tau f}(\mathbf{x}^k)\]