code: def inner(self, x1, x2):
          
          if self.exponent != 2.0:
              raise NotImplementedError('no inner product defined for '
                                        'exponent != 2 (got {})'
                                        ''.format(self.exponent))
          else:
              inner = _inner_default(x1 * self.array, x2)
              if is_real_dtype(x1.dtype):
                  return float(inner)
              else:
                  return complex(inner)
docs: Return the weighted inner product of ``x1`` and ``x2``.
  
          Parameters
          ----------
          x1, x2 : `NumpyTensor`
              Tensors whose inner product is calculated.
  
          Returns
          -------
          inner : float or complex
              The inner product of the two provided vectors.