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