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
- prox
pyproximal.ProxOperator
Proximal operator
- x0
numpy.ndarray
Initial vector
- tau
float
Positive scalar weight
- niter
int
, optional Number of iterations of iterative scheme
- tol
float
, optional Tolerance on change of objective function (used as stopping criterion). If
tol=None
, run untilniter
is reached- callback
callable
, optional Function with signature (
callback(x)
) to call after each iteration wherex
is the current model vector- show
bool
, optional Display iterations log
- prox
- Returns
- x
numpy.ndarray
Inverted model
- x
Notes
The Proximal point algorithm can be expressed by the following recursion:
\[\mathbf{x}^{k+1} = \prox_{\tau f}(\mathbf{x}^k)\]