# pyproximal.L2Convolve#

class pyproximal.L2Convolve(h, b=None, nfft=1024, sigma=1.0, dims=None, dir=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
hnp.ndarray, optional

Kernel of convolution operator

bnumpy.ndarray, optional

Data vector

bint, optional

Fourier transform number of samples

sigmaint, optional

Multiplicative coefficient of L2 norm

dimstuple, optional

Number of samples for each dimension (None if only one dimension is available)

dirint, optional

Direction along which smoothing is applied.

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) Compute gradient postcomposition(sigma) Postcomposition precomposition(a, b) Precomposition prox(**kwargs) proxdual(**kwargs)