8

According to @ChrisR's thorough answer

One caveat however is that the interpolation in DE438 is a Hermite interpolation, and no longer a Chebychev interpolation, so you may need to update your code.

The JPL Development Ephemerides have been around in some form since the 1960's. If I understand correctly, these as well as the "Spice Kernels" (no, not an all-male version of the Spice Girls) usually if not (until recently) always have contained coefficients for Chebychev polynomial interpolation to produce continuous state vectors; trajectories for bodies and objects in space.

Question: Why would DE438 be released using a different class of polynomials (Hermite) for its interpolation?

fyi #1: I've tried Skyfield using data = load('de438.bsp') and it seems to work, so perhaps at least some existing ephemeride readers are already compatible with both?

fyi #2: according to this answer :

(ephemerides is) pronounced ɛfɪˈmɛrɪdiːz/ ("effih-MERRih-deez", which for some speakers is the same as "effuh-MERRuh-deez").

uhoh
  • 148,791
  • 53
  • 476
  • 1,473
  • 1
    Well, this is embarrassing. I know for sure that the ephemeris files generated in GMAT (for a spaceraft trajectory) use the Hermite interpolation (I was helping a coworker debug one earlier today). Moreover, this doc claims that types 5, 9, 10 and 13 are the most used: https://naif.jpl.nasa.gov/pub/naif/self_training/individual_docs/B15_making_an_spk.pdf . As explained in the Required Reading, https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/spk.html that isn't the Chebyshev interpolation. Moreover, the SPICE tool OEM2SPK does not support Chebyshev ... – ChrisR Jun 13 '18 at 04:41
  • 1
    (continued), cf. this link https://naif.jpl.nasa.gov/pub/naif/utilities/PC_Linux_32bit/oem2spk.ug . However, a quick search in the code source of Skyfield shows that the Chebyshev test itself reads de421. I also know (from another old code base) that DE403 and DE430 use the Chebyshev polynomials. Therefore, I've edited the answer which you reference to add that a citation is needed concerning the Hermite interpolation. I'm currently working on a SPK file reader, so I'll hopefully be able to provide more information in the coming weeks. – ChrisR Jun 13 '18 at 04:48
  • 3
    Just for fun - "I've almost learned to spell Chebyshev" - actually the correct spelling should be "Chebyshov", but it migrated to "Chebyshev" even in russian language :) https://en.wikipedia.org/wiki/Pafnuty_Chebyshev – Heopps Jun 13 '18 at 08:46
  • 3
    I've not messed as much with Chebyshev interpolation, but Hermite interpolation has a benefit of enforcing global, rather than piecewise, smoothness of the resulting interpolant. This would be useful for an ephemeris set, as it would ensure that positions and velocities remain continuous everywhere. I believe Chebyshev interpolation only enforces continuity everywhere, but smoothness only almost everywhere, i.e., positions remain continuous, but velocities would have a finite number of pointwise discontinuities. – Tristan Jun 13 '18 at 15:04
  • @Tristan I'm not so familliar myself, thanks for that! Interpolators of spice kernels (e.g. Horizons) and the DE's (e.g. Skyfield) return state 6-vectors with both position and velocity. I don't know if these velocities are analytical derivatives of the position-interpolating polynomials, or if both position and velocity are simultaneously interpolated from two sets of coefficients both present in the DE's and kernels. – uhoh Jun 13 '18 at 15:08
  • 1
    To answer your last comment, Chebyshev DE's contain interpolations for both position and velocity. I dissect the format here: https://github.com/barrycarter/bcapps/blob/master/ASTRO/README.bsp –  Jun 13 '18 at 16:07
  • @barrycarter that's really helpful, thank you! Wow, you have quite a lot of material (goodies) on that site. – uhoh Jun 13 '18 at 16:11
  • 2
    The only correct way to spell it is in Cyrillic, Чебышёв. The possible transliterations are myriad. – Mark Adler Jun 14 '18 at 00:23

1 Answers1

8

Not seeing that. I downloaded de438.bsp, and it in fact uses only Чебышёв position polynomials. (Or Chebyshev, Chebychev, Chebysheff, Chebychov, Chebyshov, Chebycheff, Chebyschev, Chebyschef, Chebyscheff, Tchebyshev, Tchebychev, Tchebysheff, Tchebychov, Tchebyshov, Tchebycheff, Tchebyschev, Tchebyschef, Tchebyscheff, Tschebyshev, Tschebychev, Tschebysheff, Tschebychov, Tschebyshov, Tschebycheff, Tschebyschev, Tschebyschef, or Tschebyscheff polynomials.)

Mark Adler
  • 58,160
  • 3
  • 171
  • 251