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: Tuple[int, ...] | None = None, dir: int | None = 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:
hnumpy.ndarray

Kernel of convolution operator

bnumpy.ndarray

Data vector

nfftint, 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)

Gradient of the Moreau envelope of the function.

postcomposition(sigma)

Postcomposition

precomposition(a, b)

Precomposition

prox(**kwargs)

proxdual(**kwargs)