code: def derivative(self, rate):
          
          rate = self._validate_number_sequence(rate, 3)
          return 0.5 * self * Quaternion(vector=rate)
docs: Get the instantaneous quaternion derivative representing a quaternion rotating at a 3D rate vector `rate`
  
          Params:
              rate: numpy 3-array (or array-like) describing rotation rates about the global x, y and z axes respectively.
  
          Returns:
              A unit quaternion describing the rotation rate