pyproximal.L2Convolve#
- class pyproximal.L2Convolve(h: ndarray[tuple[Any, ...], dtype[_ScalarT]], b: ndarray[tuple[Any, ...], dtype[_ScalarT]], nfft: int = 1024, sigma: float = 1.0, dims: Optional[Tuple[int, ...]] = None, dir: Optional[int] = None)[source]#
L2 Norm proximal operator with convolution operator
Proximal operator for the L2 norm defined as: \(f(\mathbf{x}) = \frac{\sigma}{2} ||\mathbf{h} * \mathbf{x} - \mathbf{b}||_2^2\) where \(\mathbf{h}\) is the kernel of a convolution operator and \(*\) represents convolution
- Parameters
- h
np.ndarray Kernel of convolution operator
- b
numpy.ndarray Data vector
- nfft
int, optional Fourier transform number of samples
- sigma
int, optional Multiplicative coefficient of L2 norm
- dims
tuple, optional Number of samples for each dimension (
Noneif only one dimension is available)- dir
int, optional Direction along which smoothing is applied.
- h
Notes
The L2Convolve proximal operator is defined as:
\[prox_{\tau f}(\mathbf{x}) = F^{-1}\left(\frac{\tau\sigma F(\mathbf{h})^* F(\mathbf{b}) + F(\mathbf{x})} {1 + \tau\sigma F(\mathbf{h})^* F(\mathbf{h})} \right)\]Methods
__init__(h, b[, nfft, sigma, dims, dir])affine_addition(v)Affine addition
chain(g)Chain
grad(x)Gradient of the Moreau envelope of the function.
postcomposition(sigma)Postcomposition
precomposition(a, b)Precomposition
prox(**kwargs)proxdual(**kwargs)