tick.prox.ProxMulti(proxs: tuple)[source]¶Multiple proximal operator. This allows to apply sequentially a list of proximal operators. This is convenient when one wants to apply different proximal operators on different parts of a vector.
proxs : tuple of Prox
A tuple of prox operators to be applied successively.
dtype : {'float64', 'float32'}
Type of the arrays used.
call(coeffs, step=1.0, out=None)¶Apply proximal operator on a vector. It computes:
coeffs : numpy.ndarray, shape=(n_coeffs,)
Input vector on which is applied the proximal operator
step : float or np.array, default=1.
The amount of penalization is multiplied by this amount
If
float, the amount of penalization is multiplied by this amount
If
np.array, then each coordinate of coeffs (within the given range), receives an amount of penalization multiplied by t (available only for separable prox)
out : numpy.ndarray, shape=(n_params,), default=None
If not
None, the output is stored in the givenout. Otherwise, a new vector is created.
output : numpy.ndarray, shape=(n_coeffs,)
Same object as out
Notes
step must have the same size as coeffs whenever range is
None, or a size matching the one given by the range
otherwise
value(coeffs: numpy.ndarray)[source]¶Returns the value of the penalization at coeffs.
This returns the sum of the values of each prox called on the same
coeffs.
coeffs : numpy.ndarray, shape=(n_coeffs,)
The value of the penalization is computed at this point
output : float
Value of the penalization at
coeffs
tick.prox.ProxMulti¶