code: def derivative(self, point):
          r
          point = self.domain.element(point)
          norm = point.norm()
          if norm == 0:
              raise ValueError('not differentiable in 0')
  
          return InnerProductOperator(point / norm)
docs: r"""Derivative of this operator in ``point``.
  
              ``NormOperator().derivative(y)(x) == (y / y.norm()).inner(x)``
  
          This is only applicable in inner product spaces.
  
          Parameters
          ----------
          point : `domain` `element-like`
              Point in which to take the derivative.
  
          Returns
          -------
          derivative : `InnerProductOperator`
  
          Raises
          ------
          ValueError
              If ``point.norm() == 0``, in which case the derivative is not well
              defined in the Frechet sense.
  
          Notes
          -----
          The derivative cannot be written in a general sense except in Hilbert
          spaces, in which case it is given by
  
          .. math::
              (D \|\cdot\|)(y)(x) = \langle y / \|y\|, x \rangle
  
          Examples
          --------
          >>> r3 = odl.rn(3)
          >>> op = NormOperator(r3)
          >>> derivative = op.derivative([1, 0, 0])
          >>> derivative([1, 0, 0])
          1.0