Abstract
Using a Newtonian model of the Solar System with all 8 planets, we perform extensive tests on various symplectic integrators of high orders, searching for the best splitting scheme for long term studies in the Solar System. These comparisons are made in Jacobi and heliocentric coordinates and the implementation of the algorithms is fully detailed for practical use. We conclude that high order integrators should be privileged, with a preference for the new \((10,6,4)\) method of Blanes et al. (2013).
Similar content being viewed by others
Notes
\(\{F,G\} = \sum _{i=1}^n \frac{\partial F}{\partial p_i}\frac{\partial G}{\partial q_i} - \frac{\partial F}{\partial q_i}\frac{\partial G}{\partial p_i}\).
References
Blanes, S., Casas, F., Farrés, A., Laskar, J., Makazaga, J., Murua, A.: New families of symplectic splitting methods for numerical integration in dynamical astronomy. Appl. Number. Math. (2013). doi:10.1016/j.apnum.2013.01.003
Candy, J., Rozmus, W.: A symplectic integration algorithm for separable hamiltonian functions. J. Comput. Phys. 92(1), 230–256 (1991)
Chambers, J.E.: A hybrid symplectic integrator that permits close encounters between massive bodies. Mon. Notices R. Astron. Soc. 304, 793–799 (1999)
Chambers, J.E., Murison, M.A.: Pseudo-high-order symplectic integrators. Astron. J. 119(1), 425 (2000)
Danby, J.M.A.: Fundamentals of Celestial Mechanics. 2nd Edition, revised and enlarged. XII, p. 484. Willmann-Bell, London (1992)
Duncan, M.J., Levison, H.F., Lee, M.H.: A multiple time step symplectic algorithm for integrating close encounters. Astrono. J. 116, 2067–2077 (1998)
Fienga, A., Laskar, J., Kuchynka, P., Manche, H., Desvignes, G., Gastineau, M., Cognard, I., Theureau, G.: The INPOP10a planetary ephemeris and its applications in fundamental physics. Celest. Mech. Dyn. Astron. 111, 363–385 (2011)
Gladman, B., Duncan, M.: On the fates of minor bodies in the outer solar system. Astron. J. 100, 1680–1693 (1990)
Goldman, D., Kaper, T.: \(N\)th-order operator splitting schemes and nonreversible systems. SIAM J. Numer. Anal. 33, 349–367 (1996)
Hairer, E., Lubich, C., Wanner, G.: Geometric numerical integration. Structure-preserving algorithms for ordinary differential equations, 2nd edn. Springer, Berlin (2006)
Kahan, W.: Pracniques: further remarks on reducing truncation errors. Commun. ACM 8, 40 (1965)
Kinoshita, H., Yoshida, H., Nakai, H.: Symplectic integrators and their application to dynamical astronomy. Celest. Mech. Dyn. Astron. 50, 59–71 (1991)
Koseleff, P.V.: Calcul formel pour les méthodes de lie en mécanique hamiltonienne. PhD thesis, Ecole Polytechnique (1993a)
Koseleff, P.V.: Relations among lie formal series and construction of symplectic integrators. In: Cohen, G. D., Mora, T., Moreno, O. (eds.) Applied Algebra, Algebraic Algorithms and Error Correcting Codes. 10th International symposium, (AAECC-10), San Juan de Puerto Rico, Puerto Rico, May 10–14, 1993, proceedings. Lect. Not. Comp. Sci, vol 673, pp. 213–230. Springer, New York (1993b)
Koseleff, P.V.: Exhaustive search of symplectic integrators using computer algebra. Integration algorithms and classical mechanics, Fields Inst. Commun. 10, 103–120 (1996)
Laskar, J.: A numerical experiment on the chaotic behaviour of the solar system. Nature 338, 237 (1989)
Laskar, J.: The chaotic motion of the solar system—a numerical estimate of the size of the chaotic zones. Icarus 88, 266–291 (1990a)
Laskar, J.: Les Méthodes Modernes de la Mecánique Céleste (Goutelas, France, 1989), Editions Frontières, chap Systèmes de Variables et Eléments, pp. 63–87 (1990b)
Laskar, J.: Analytical framework in poincaré variables for the motion of the solar system. In: Roy, A. (ed.) Predictability, Stability, and Chaos in N-Body Dynamical Systems, pp. 93–114. NATO, Plenum Press, ASI (1991)
Laskar, J., Robutel, P.: High order symplectic integrators for perturbed hamiltonian systems. Celest. Mech. Dyn. Astron. 80, 39–62 (2001)
Laskar, J., Quinn, T., Tremaine, S.: Confirmation of resonant structure in the solar system. Icarus 95, 148–152 (1992)
Laskar, J., Robutel, P., Joutel, F., Gastineau, M., Correia, A.C.M., Levrard, B.: A long-term numerical solution for the insolation quantities of the earth. Astron. Astrophys. 428, 261–285 (2004)
Laskar, J., Fienga, A., Gastineau, M., Manche, H.: La2010: a new orbital solution for the long-term motion of the earth. Astron. Astrophys. 532, 89 (2011a)
Laskar, J., Gastineau, M., Delisle, J.B., Farrés, A., Fienga, A.: Strong chaos induced by close encounters with ceres and vesta. Astron. Astrophys. 532, L4 (2011b)
Lourens, L. J., Hilgen, F. J., Shackleton, N. J., Laskar, J., Wilson, D.: The neogene period. In: Gradstein, F., Ogg, J., Smith, A. (eds.) A Geologic. Time scale, pp 409–440. Cambridge University Press, UK (2004)
McLachlan, R.I.: Composition methods in the presence of small parameters. BIT Numer. Math. 35, 258–268 (1995)
McLachlan, R.I.: Families of high-order composition methods. Numer. Algorithms 31, 233–246 (2002)
McLachlan, R., Quispel, R.: Splitting methods. Acta Numerica 11, 341–434 (2002)
Milankovitch, M.: Kanon der Erdbestrahlung und seine Anwendung auf das Eiszeitenproblem. Spec. Acad. R, Serbe, Belgrade (1941)
Morbidelli, A.: Modern integrations of solar system dynamics. Annu. Rev. Earth Planet. Sci. 30, 89–112 (2002)
Murua, A., Sanz-Serna, J.: Order conditions for numerical integrators obtained by composing simpler integrators. Philos. Trans. R. Soc. Lond. Ser. A Math. Phys. Eng. Sci. 357(1754), 1079–1100 (1999)
Quinn, T.R., Tremaine, S., Duncan, M.: A three million year integration of the earth’s orbit. Astron. J. 101, 2287–2305 (1991)
Saha, P., Tremaine, S.: Long-term planetary integration with individual time steps. Astron. J. 108, 1962–1969 (1994)
Sheng, Q.: Solving linear partial differential equations by exponential splitting. IMA J. Numer. Anal. 9, 199–212 (1989)
Sussman, G.J., Wisdom, J.: Chaotic evolution of the solar system. Science 257, 56–62 (1992)
Suzuki, M.: Fractal decomposition of exponential operators with applications to many-body theories and monte carlo simulations. Phys. Lett. A 146(6), 319–323 (1990)
Suzuki, M.: General theory of fractal path integrals with applications to many-body theories and statistical physics. J. Math. Phys. 32(2), 400–407 (1991)
Touma, J., Wisdom, J.: Lie-poisson integrators for rigid body dynamics in the solar system. Astron. J. 107, 1189–1202 (1994)
Viswanath, D.: How many timesteps for a cycle? Analysis of the Wisdom–Holman algorithm. BIT Numer. Math. 42, 194–205 (2002)
Wisdom, J.: Symplectic correctors for canonical heliocentric n-body maps. Astron. J. 131(4), 2294 (2006)
Wisdom, J., Holman, M.: Symplectic maps for the n-body problem. Astron. J. 102, 1528–1538 (1991)
Wisdom, J., Holman, M., Touma, J.: Symplectic correctors. Fields Inst. Commun. 10, 217 (1996)
Yoshida, H.: Construction of higher order symplectic integrators. Phys. Lett. A 150(5–7), 262–268 (1990)
Acknowledgments
This work was supported by GTSNext project. The work of SB, FC, JM and AM has been partially supported by Ministerio de Ciencia e Innovación (Spain) under project MTM2010-18246-C03 (co-financed by FEDER Funds of the European Union).
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix A: On the compensated summation
Using any of the symplectic integrating schemes described in this article, we require successive evaluations of \(\exp (a_i\tau A)\) and \(\exp (b_i\tau B)\). Each of these evaluations slightly modifies the position and velocity of each planet. For \(\tau \) small, we will have a loss in accuracy due to round-off errors. The Compensated Summation is a simple trick that is commonly used to reduce the round-off error. In a general framework, when we consider a numerical method for solving an ODE, we require a recursive evaluation of the form:
where \(y_n\) is the approximated solution and \(\delta _n\) is the increment to be done. Usually \(\delta _n\) will be smaller in magnitude than \(y_n\). In this situation, the rounding errors caused by the computation of \(\delta _n\) are in general smaller that those to evaluate Eq. 26. The algorithm that can be used in order to reduce this round-off error is called the “Compensated Summation” (Kahan 1965).
Compensated summation algorithm: Let \(y_0\) and \(\{\delta _n\}_{n\ge 0}\) be given and put \(e=0\). Compute \(y_1,y_2, \ldots \) from Eq. 26 as follows:
This algorithm accumulates the rounding errors in \(e\) and feeds them back into the summation when possible. At each time-step of the integration, when we evaluate \(\exp (a_i\tau A)\) or \(\exp (b_i\tau B)\), the increment in position and velocity is done using the compensated summation. In Fig. 8 we show the results for the \(\mathcal{ABA }(2n,2)\) schemes for \(n = 1,2,3,4\) using double (left) and extended precision (right). In both cases we gain almost one order of magnitude in precision when we take into account the compensated summation.
Appendix B: Integration schemes (some help on the practical coding)
In this paper we have reviewed many splitting symplectic integrating schemes, all of them of the form:
where \(\exp (\tau A)\) and \(\exp (\tau B)\) can be computed explicitly. They correspond to the integrals of the two different parts of the original Hamiltonian. In this section we show how to compute explicitly \(\exp (\tau A)\) and \(\exp (\tau B)\) for the particular case of the N-body problem in Jacobi and heliocentric coordinates. We note that from now on: \({\tilde{\mathbf{u}}}\) stands for the momenta associated to \(\mathbf{u}\) and \(\mathbf u^{\prime }\) stands for \(d\mathbf{u}/dt\).
1.1 B.1 Keplerian motion \((H_{K})\)
We recall that in Jacobi coordinates,
whereas in heliocentric coordinates,
In both cases \(H_K\) is a sum of independent Keplerian motions. In Jacobi coordinates each planet follows an elliptical orbit around the centre on mass of the Sun and the planets that are closer to the Sun, the mass parameter of the system is \(\mu _J = G\eta _i\). While in heliocentric coordinates each planet follows an elliptical orbit around the planet-Sun centre of mass, and the mass parameter of the system is \(\mu _H = G(m_0+m_i)\).
It is well known that Kepler problem is integrable, but the solution from time \(t = t_0\) to \(t = t_0 + \tau \) is expressed in a simple form if we consider action-angle variables. To compute \(\exp (\tau L_{H_K})\) we need to be able to compute \(\mathbf (r(t_0+\tau ),v(t_0+\tau ))\) from \(\mathbf (r(t_0), v(t_0))\).
An option is to change to elliptical coordinates, advance the mean anomaly and then return to Cartesian coordinates. But this can accumulate a lot of numerical errors as well as it is very expensive in terms of computational cost. Instead we use a similar idea as the Gauss \(f\) and \(g\) functions (Danby 1992), where we use an expression for the increment in position and velocities for a given step-size \(\tau \), without having to perform any change of coordinates. Let us give some details on how to derive these expressions.
In elliptical coordinates the motion of the two body problem is given by \((a,e,i, \varOmega , \omega , E)\), where all of the elements remain fixed except for \(E\) that varies following Kepler equation \((n(t -t_p) = M = E - e\sin E)\). Using a reference frame where the orbital plane is given by \(Z=0\), the \(X\)-axis is the direction of the perihelion and the \(Y\)-axis completes an orthogonal reference system on the orbital plane, the position \((X, Y, 0)\) and velocity \((X^{\prime }, Y^{\prime }, 0)\) are given by:
where \(r = a(1 - e \cos E)\) and \(n = \mu ^{1/2}a^{-3/2}\). The position and velocities on a fixed reference frame are given by:
where
Notice that
where \(\varpi = \varOmega + \omega \) and \(\mathcal{R }= \mathcal R _3(\varOmega )\times \mathcal{R }_1(i)\times \mathcal{R }_3(-\varOmega )\). Given that \(\mathcal{R }_1(i) = \mathcal{R }_1(i/2)\mathcal{R }_1(i/2)\) we have that:
where \(\mathbf{p} = \sin i/2 \sin \varOmega , \mathbf{q} = \sin i/2 \sin \varOmega ,\) and \(\chi = \sqrt{1- \mathbf{p}^2 - \mathbf{q}^2} = \cos i/2\). From Eq. 31 we have,
Hence,
One can check that,
where \(r_{i} = a(1 - e\cos E_{i})\) for \(i=0,1\). We use Kepler’s equation to compute \(\delta E = E_1-E_0\) from \(\delta t = t_1 - t_0\). Taking \(M_{i} = n(t_{i} - t_p)\) for \(i=0,1\), we have that \(\delta E\) is the solution of
Calling \(C = \cos \delta E,\ S = \sin \delta E\) and \(ce = e \cos E_0,\ se = \sin E_0\) we have that \(r_1 = a(1 - ce\cdot C + se\cdot S)\). Now we can rewrite Eq. 37 as:
To summarise, given \(\mathbf{r = r(t_0), v = v(t_0)}\) and defining \(r_0 = ||\mathbf{r}||\) and \(v_0 = ||\mathbf{v}||\), we find
Then we take \(\delta t\) and we use Eq. 38 to find \(\delta E\). Finally we use Eqs. 35 and 39 to find \(\mathbf{r(t_0 + \delta t), v(t_0 + \delta t)}\).
1.2 B.2 Jacobi coordinates
We recall that in this set of coordinates the perturbation part is given by:
1.2.1 B.2.1 Computing \(\exp (L_{H_{I}})\)
\(U_1\) depends only on the position, hence the equations of motion are given by,
Using \({{\tilde{\mathbf{v}}}_\mathbf{i}} = \displaystyle \frac{\eta _{i-1}m_i}{\eta _i}{\dot{\mathbf{v}}}_i\) we have
As the expressions for \({\partial U_1}/{\partial \mathbf{v_k}}\) can be a little cumbersome, we compute them separately. When we derive \(H_{I}\) with respect to \(\mathbf{v_k}\) we must derive 3 main expressions: \({1}/{||\mathbf{v_i}||},\,{1}/{||\mathbf{r_i}||}\) and \({1}/{||\mathbf{r_i - r_j}||}\) for \(i<j\). We first give the derivatives of these factors with respect to \(\mathbf{v_k}\) and then we will deduce \({\partial H_{I}}/{\partial \mathbf{v}_\mathbf{k}}\) for \(k = 1, \ldots , n\).
To compute \({\partial U_1}/{\partial \mathbf v_k}\) for \(k = 1, \ldots , n\), we consider separately the cases \(k = 1\) and \(k > 1\):
1.2.2 B.2.2 Computing the corrector: \(\exp (L_{\{\{A,B\},B\}})\)
In Sect. 5.2.1 we described a splitting symplectic schemed where a corrector term was added at the beginning and at the end of each step-size. The corrector term is given by,
with \(L_C = L_{\{\{A,B\},B\}}\) and \(c\) a constant coefficient that depends on the order of the \(\mathcal{ABA }\) scheme.
In Jacobi coordinates \(A\) is quadratic in \(p\) and \(B\) only depends on \(q\) so \(\{\{A,B\},B\}\) only depends on \(q\) and \(\{\{A,B\},B\}\) is integrable. We recall that \(A = H_{Kep} = T_0 + U_0\) and \(B = H_{pert} = U_1\). Hence,
Given that \(T_0 = \displaystyle \mathop {\sum }\nolimits _{i=1}^{n} \frac{\eta _i}{\eta _{i-1}m_i} \frac{||{\tilde{\mathbf{v}}}_\mathbf{i}||^2}{2}\), we have,
Then the equations of motion for \(L_C\) are given by:
where \(\gamma _k = \frac{\eta _k}{\eta _{k-1}m_k}\). As before, using \({{\tilde{\mathbf{v}}}_\mathbf{i}} = \displaystyle \frac{\eta _{i-1}m_i}{\eta _i}{\dot{\mathbf{v}}}_\mathbf{i}\) we have
Again the expressions for \(\displaystyle \frac{\partial ^2 U_1}{\partial \mathbf v_i \partial \mathbf v_k}\) are a little cumbersome and we first show how to derive the different parts in \(\displaystyle \frac{\partial U_1}{\partial \mathbf v_k}\): \(\mathbf{v_i}/{||\mathbf{v_i}||^3},\,\mathbf{r_i}/{||\mathbf{r_i}||^3}\) and \(\mathbf{r_i - r_j}/{||\mathbf{r_i - r_j}||^3}\).
From now on we call \(\mathbf{Acc}(i) = \gamma _i \displaystyle \frac{\partial U_1}{\partial \mathbf v_i}\), and
We can now give the expressions for \(\displaystyle \frac{\partial ^2 U_1}{\partial \mathbf v_i \partial \mathbf v_k}\,\forall j, k\)
1.3 B.3 Heliocentric coordinates
We recall that in this set of coordinates the perturbation part is given by:
1.3.1 B.3.1 Computing \(\exp (\tau L_{T_{1}})\)
Notice that \(T_{1}\) depends only on the momenta \(({{\tilde{\mathbf{r}}}})\). Hence, the equations of motion are given by,
Finally,
1.3.2 B.3.2 Computing \(\exp (\tau L_{U_{1}})\)
Notice that \(U_{1}\) depends only on the positions \((\mathbf{r})\). Hence, the equations of motion are given by,
Given that \({\tilde{\mathbf{r}}}_\mathbf{k} = m_k {\dot{\mathbf{r}}}_\mathbf{k}\), we have:
Appendix C: Heliocentric coordinates (alternatives for the set of equations)
The canonical heliocentric (CH) coordinates used in Sect. 6 are canonical and the position of each body is taken with respect to the position of the Sun. The position and their associated momenta are given by:
The main difference between Jacobi and heliocentric coordinates is that in the second set of coordinates the kinetic energy is not diagonal in the momenta. Instead we have:
which can be rewritten as:
The extra term due to the momenta of the Sun is added to the perturbation part and makes it depend on both position and velocities. In Sect. 3 we used Eq. 43 to derive the Hamiltonian expression, as in Laskar (1990b, 1991), Koseleff (1993a). Duncan et al. (1998) used Eq. 42 instead, and a Keplerian approximation in which the planets orbits around a fixed Sun (Eq. 48). Following Laskar (1991) we will call the first set of equations CH, and following Duncan et al. (1998) we will call the second set of equations democratic canonical heliocentric (DCH). Here we discuss the main differences between the two sets of equations and compare the performance of the integrators presented in this paper for both expressions.
1.1 C.1 Two different expressions for Heliocentric coordinates
As we know in heliocentric coordinates the Hamiltonian for an n-planetary system takes the form:
a sum of Keplerian parts, a quadratic term in the momenta and the gravitational interaction between the other planets. Using Eq. 43 we have, for CH decomposition
The main advantage of this way to split the equations is that Kepler’s third law is satisfied for the individual planets: \(n^2a^3 = G(m_0 + m_i)\). But \(H_I = T_1 + U_1\) is not integrable and \(\{T_1, U_1\} \ne 0\).
Using Eq. 42 we have the DCH splitting introduced by Duncan et al. (1998), and used later on by Chambers (1999) and Wisdom (2006)
With this way to split the equations the mass parameter for the Keplerian orbits is \(\mu = Gm_0\) for all of the planets. On the other hand, \(T_1^*\) and \(U_1^*\) (Eqs. 48–49) commute, i.e. \(\{T^*_1, U^*_1\} = 0\) and this is a advantage when we build high order splitting schemes. For simplicity let us consider \(H_B = T_1\) and \(H_C = U_1\) for both expressions. We recall that in heliocentric coordinates we need to integrate \(\exp (\tau (B + C))\). Using DCH splitting (Eqs. 48–49) we have:
which can be computed exactly and does not introduce any extra error terms to the splitting schemes discussed in Sect. 5. Instead, using CH variables (Eqs. 45–46) we used
and introduced error terms of order \(\varepsilon ^3\tau ^2\). To deal with this in Sect. 6 derived splitting schemes where an extra stage was added to get rid of these extra error terms.
1.2 C.2 Comparisons between the expressions
We recall that when we use DCH variables (Eqs. 47–49) we use the splitting schemes discussed in Sect. 5 with
While when we use the classical CH variables (Eqs. 44–46) we use the splitting schemes discussed in Sect. 6 with
We compare the \(\mathcal{ABA }\) schemes of orders \((8,2), (8,4)\) and \((10,6,4)\) for both splitting expressions. We recall that the schemes of order \((8,4)\) and \((10,6,4)\) that use CH variables (Eqs. 44–46) have one more stage than the schemes used with DCH variables (Eqs. 47–49).
Figure 9 summarise the performance of the different integrating schemes presented in Sects. 5 and 6. From left to right we have the results for the inner planets, the outer planets and the whole Solar System. The red lines show the performance of the \(\mathtt{ABA82 }\) scheme, the green lines are for the \(\mathtt{ABA84 }\) schemes and the blue lines are for the \(\mathtt{ABA1064 }\) schemes. We use continuous lines when we consider CH variables and discontinuous lines for DCH variables.
As we can see, there is no significant difference between using one splitting or the other. In some cases one is better that the other. The main advantage that the splitting DCH introduced by Duncan et al. (1998) is that we do not require an extra stage for a high-order scheme.
Appendix D: Comparison in quadruple precision
As we have discussed throughout the article, in many cases we have seen that despite taking higher order methods no significant improvement on the performance of the schemes was observed. This is the case of the 4 inner planets in the Solar System, where the size of the perturbation is so small that the extra stages to increase the order of the schemes are useless. Here the round-off error dominates the terms in \(\varepsilon ^2\) and \(\varepsilon ^4\). Similar results are also observed when we consider the whole Solar System. In order to see an improvement we need to use higher precision arithmetics. Here we have repeated the test from Sects. 5 and 6 for the different integrating schemes using quadruple precision arithmetics. We want to illustrate that the different schemes of orders \((8,6,4)\) and \((10,6,4)\) perform better that those of order \((8,4)\).
In Figs. 10 and 11 we show the results for the same test models used throughout the article for Jacobi and heliocentric coordinates, respectively using quadruple precision arithmetics. For Jacobi coordinates (Fig. 10) we compare the \(\mathtt{ABA82 },\,\mathtt{ABA84 },\,\mathtt{ABA104 }, \mathtt{ABA864 }\) and \(\mathtt{ABA1064 }\) schemes. For heliocentric coordinates (Fig. 11) we compare the \(\mathtt{ABAH82 },\,\mathtt{ABAH84 },\,\mathtt{ABAH864 }\) and \(\mathtt{ABAH1064 }\). As we can see in Fig. 10 for Jacobi coordinates, the \(\mathtt{ABA864 }\) and \(\mathtt{ABA1064 }\) (Blanes et al. 2013) do improve the performance of the \(\mathtt{ABA84 }\) (McLachlan 1995). Notice also that for the 4 inner planets (Fig. 10 left) and the whole Solar System (Fig. 10 right) the improvement is achieved for small step-sizes, where the energy variation is below the machines epsilon for extended arithmetics precision. In Fig. 11 similar results are observed for heliocentric coordinates.
From these experiments we see how the \(\mathcal{ABA }\) splitting methods of orders \((8,6,4)\) and \((10,6,4)\) for both sets of coordinates improve the performance of the McLachlan (1995) \(\mathtt{ABA84 }\) and the Laskar and Robutel (2001) \(\mathtt{ABA82 }\).
Rights and permissions
About this article
Cite this article
Farrés, A., Laskar, J., Blanes, S. et al. High precision symplectic integrators for the Solar System. Celest Mech Dyn Astr 116, 141–174 (2013). https://doi.org/10.1007/s10569-013-9479-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10569-013-9479-6