code: def transform_error_coorb_to_inertial(vec_coorb, vec_err_coorb, orbPhase,
          quat_copr):
      
  
      # for reproducibility
      np.random.seed(0)
  
      # Get distribution in coorbital frame
      dist_coorb = np.array([np.random.normal(m, s, 1000)
          for m,s in zip(vec_coorb, vec_err_coorb)]).T
  
      # Transform distribution to coprecessing frame
      dist_copr = rotate_in_plane(dist_coorb, -orbPhase)
  
      # Transform distribution to inertial frame
      dist_inertial = transformTimeDependentVector(
          np.array([quat_copr for _ in dist_copr]).T, dist_copr.T).T
  
      # Get 1sigma width in inertial frame
      vec_err_inertial = np.std(dist_inertial, axis=0)
  
      return vec_err_inertial
docs: Transform error in a vector from the coorbital frame to the inertial
      frame. Generates distributions in the coorbital frame, transforms them
      to inertial frame and returns 1-simga widths in the inertial frame.