docs: def dot(self, b, out=None):
          """dot product of two arrays.
  
          Refer to `numpy.dot` for full documentation.
  
          See Also
          --------
          numpy.dot : equivalent function
  
          Examples
          --------
          >>> from unyt import km, s
          >>> a = np.eye(2)*km
          >>> b = (np.ones((2, 2)) * 2)*s
          >>> print(a.dot(b))
          [[2. 2.]
           [2. 2.]] km*s
  
          This array method can be conveniently chained:
  
          >>> print(a.dot(b).dot(b))
          [[8. 8.]
           [8. 8.]] km*s**2
          """
          res_units = self.units * getattr(b, "units", NULL_UNIT)
          ret = self.view(np.ndarray).dot(np.asarray(b), out=out) * res_units
          if out is not None:
              out.units = res_units
          return ret