pyproximal.VStack#
- class pyproximal.VStack(ops, nn=None, restr=None)[source]#
Vertical stacking.
Stack a set of N proximal operators vertically. This operator can be used for separable inputs, where the overall proximal operator can be computed as the stack of proximal operators on parts of the input vector.
- Parameters
- ops
list
Proximal operators to be stacked
- nn
list
, optional Size of each portion of the input vector (to be used when different portions are in consecutive order)
- restr
list
, optional List of
pylops.Restriction
operators extracting the subset of interest (to be used when different portions are not in consecutive order). It is user responsibility to ensure that all elements of the input vector are used exactly once)
- ops
Notes
Given an input vector \(\mathbf{x}\) to which a number of \(N\) functions are applied to different portions of the vector as:
\[f(\mathbf{x}) = \sum_{i=1}^N f_i(\mathbf{x}_i)\]the related proximal operator becomes:
\[\prox_{\tau f}(\mathbf{x}) = \left( \prox_{\tau f_1}(\mathbf{x}_1), \ldots, \tau f_N(\mathbf{x}_N) \right)\]Methods
__init__
(ops[, nn, restr])affine_addition
(v)Affine addition
chain
(g)Chain
grad
(x)Compute gradient
postcomposition
(sigma)Postcomposition
precomposition
(a, b)Precomposition
prox
(**kwargs)proxdual
(**kwargs)