code: def _call(self, x):
          
          if self.exponent == 0:
              return self.domain.one().inner(np.not_equal(x, 0))
          elif self.exponent == 1:
              return x.ufuncs.absolute().inner(self.domain.one())
          elif self.exponent == 2:
              return np.sqrt(x.inner(x))
          elif np.isfinite(self.exponent):
              tmp = x.ufuncs.absolute()
              tmp.ufuncs.power(self.exponent, out=tmp)
              return np.power(tmp.inner(self.domain.one()), 1 / self.exponent)
          elif self.exponent == np.inf:
              return x.ufuncs.absolute().ufuncs.max()
          elif self.exponent == -np.inf:
              return x.ufuncs.absolute().ufuncs.min()
          else:
              raise RuntimeError('unknown exponent')
docs: Return the Lp-norm of ``x``.