A differentiable Nbody code for transit timing and dynamical modelling  I. Algorithm and derivatives
Abstract
When fitting Nbody models to astronomical data  such as transit times, radial velocity, and astrometric positions at observed times  the derivatives of the model outputs with respect to the initial conditions can help with model optimization and posterior sampling. Here, we describe a general purpose symplectic integrator for arbitrary orbital architectures, including those with close encounters, which we have recast to maintain numerical stability and precision for small step sizes. We compute the derivatives of the Nbody coordinates and velocities as a function of time with respect to the initial conditions and masses by propagating the Jacobian along with the Nbody integration. For the first time, we obtain the derivatives of the transit times with respect to the initial conditions and masses using the chain rule, which is quicker and more accurate than using finite differences or automatic differentiation. We implement this algorithm in an open source package, NbodyGradient.jl, written in the JULIA language, which has been used in the optimization and error analysis of transittiming variations in the TRAPPIST1 system. We present tests of the accuracy and precision of the code, and show that it compares favourably in speed to other integrators that are written in C.
 Publication:

Monthly Notices of the Royal Astronomical Society
 Pub Date:
 October 2021
 DOI:
 10.1093/mnras/stab2044
 arXiv:
 arXiv:2106.02188
 Bibcode:
 2021MNRAS.507.1582A
 Keywords:

 planetary systems;
 planets and satellites: dynamical evolution and stability;
 Astrophysics  Earth and Planetary Astrophysics;
 Astrophysics  Instrumentation and Methods for Astrophysics;
 Astrophysics  Solar and Stellar Astrophysics
 EPrint:
 24 pages