mrpro.operators.ProximableFunctional

class mrpro.operators.ProximableFunctional(*args, **kwargs)[source]

Bases: Functional, ABC

ProximableFunctional Base Class.

A proximable functional is a functional \(f(x)\) that has a prox implementation, i.e. a function that yields \(argmin_x \sigma f(x) + 1/2 ||x - y||^2\) and a prox_convex_conjugate, yielding the prox of the convex conjugate.

__init__(*args, **kwargs) None

Initialize internal Module state, shared by both nn.Module and ScriptModule.

abstract forward(*args: Unpack) Tout

Apply forward operator.

abstract prox(x: Tensor, sigma: Tensor | float = 1.0) tuple[Tensor][source]

Apply proximal operator.

Yields \(prox_{\sigma f}(x) = argmin_{p} (\sigma f(p) + 1/2 \|x-p\|^{2}\) given \(x\) and \(\sigma\)

Parameters:
  • x – input tensor

  • sigma – scaling factor, must be positive

Return type:

Proximal operator applied to the input tensor

prox_convex_conj(x: Tensor, sigma: Tensor | float = 1.0) tuple[Tensor][source]

Apply proximal operator of convex conjugate of functional.

Yields \(prox_{\sigma f^*}(x) = argmin_{p} (\sigma f^*(p) + 1/2 \|x-p\|^{2}\), where \(f^*\) denotes the convex conjugate of \(f\), given \(x\) and \(\sigma\).

Parameters:
  • x – input tensor

  • sigma – scaling factor, must be positive

Return type:

Proximal operator of the convex conjugate applied to the input tensor