pyproximal.utils.moreau.moreau#

pyproximal.utils.moreau.moreau(prox, x, tau, tol=1e-05, raiseerror=True, verb=False)[source]#

Moreau Identity.

The Moreau identity defines a relation between the vector \(\mathbf{u}\), its proximal operator and its dual proximal operator and can be used to estimate one of the two operators given the knowledge of the other.

Parameters
proxpyprox.ProxOperator

Proximal operator

xnp.ndarray

Vector

taufloat

Positive scalar weight

tolfloat, optional

Moreau identity tolerance

raiseerrorbool, optional

Raise error or simply return False when Moreau identity is not satisfied

verbbool, optional

Verbosity

Notes

The Moreau decomposition (or identity) is defined as:

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

This routine is used to evaluate if the prox and dualprox implementations of a pyprox.ProxOperator satisfy such identity.