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
- h
np.ndarray
, optional Kernel of convolution operator
- b
numpy.ndarray
, optional Data vector
- b
int
, optional Fourier transform number of samples
- sigma
int
, optional Multiplicative coefficient of L2 norm
- dims
tuple
, optional Number of samples for each dimension (
None
if 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)Compute gradient
postcomposition
(sigma)Postcomposition
precomposition
(a, b)Precomposition
prox
(**kwargs)proxdual
(**kwargs)