code: def qrot(vector, quaternion):
      
      t = 2 * np.cross(quaternion[1:], vector)
      v_rot = vector + quaternion[0] * t + np.cross(quaternion[1:], t)
      return v_rot
docs: Rotate a 3D vector using quaternion algebra.
  
      Implemented by Vladimir Kulikovskiy.
  
      Parameters
      ----------
      vector: np.array
      quaternion: np.array
  
      Returns
      -------
      np.array