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)