def METHOD_NAME(self, x, tau, out=None):
    r"""Returns the value of the proximal operator of the MixedL21Norm function at x.
    .. math :: \mathrm{prox}_{\tau F}(x) = \frac{x}{\|x\|_{2}}\max\{ \|x\|_{2} - \tau, 0 \}
    where the convention 0 · (0/0) = 0 is used.
    """
    tmp = x.pnorm(2)
    if has_numba and isinstance(tau, Number):
        try: 
            # may involve a copy if the data is not contiguous
            tmparr = np.asarray(tmp.as_array(), order='C', dtype=tmp.dtype)
            if _proximal_step_numba(tmparr, np.abs(tau)) != 0:
                # if numba silently crashes
                raise RuntimeError('MixedL21Norm.proximal: numba silently crashed.')
            res = tmp
            res.fill(tmparr)
        except:
            res = _proximal_step_numpy(tmp, tau)
    else:
        res = _proximal_step_numpy(tmp, tau)
    if out is None:
        res = x.multiply(res)
    else:
        x.multiply(res, out = out)
        res = out
    if out is None:
        return res