code: def proximal_linfty(space):
      r
      class ProximalLInfty(Operator):
  
          """Proximal operator of the linf-norm."""
  
          def __init__(self, sigma):
              """Initialize a new instance.
  
              Parameters
              ----------
              sigma : positive float
                  Step size parameter
              """
              super(ProximalLInfty, self).__init__(
                  domain=space, range=space, linear=False)
              self.sigma = float(sigma)
  
          def _call(self, x, out):
              """Return ``self(x)``."""
  
              radius = 1
  
              if x is out:
                  x = x.copy()
  
              proj_l1(x, radius, out)
              out.lincomb(-1, out, 1, x)
  
      return ProximalLInfty
docs: r"""Proximal operator factory of the ``l_\infty``-norm.
  
      Function for the proximal operator of the functional ``F`` where ``F``
      is the ``l_\infty``-norm::
  
          ``F(x) =  \sup_i |x_i|``
  
      Parameters
      ----------
      space : `LinearSpace`
          Domain of ``F``.
  
      Returns
      -------
      prox_factory : callable
          Factory for the proximal operator to be initialized.
  
      Notes
      -----
      The proximal is computed by the Moreau identity and a projection onto an
      l1-ball [PB2014].
  
      See Also
      --------
      proj_l1 : projection onto l1-ball