Skip to main content
Log in

Picard iteration-based variable-order integrator with dense output employing algorithmic differentiation

  • Original Paper
  • Published:
Numerical Algorithms Aims and scope Submit manuscript

Abstract

Motivated by the high accuracy requirements and the huge ratio of the largest to smallest time scales of Coulomb collision simulations of a considerable number of charges, we developed a novel numerical integration scheme, which uses algorithmic differentiation to produce variable, high-order integrators with dense output. We show that Picard iterations are not only a nice theoretical tool, but can also be successfully implemented to develop competitive integrators, especially when accuracies close to machine precision are required. The numerical integrators’ performance and applications to the electrostatic n-body problem are illustrated.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Aarseth, S.: Gravitational N-body Simulations: Tools and Algorithms. Cambridge University Press, Cambridge (2003). ISBN: 0-521-43272-3

    Book  MATH  Google Scholar 

  2. Abeyratne, S., Erdelyi, B., Schaumburg, H.D.: A novel code with high-order adaptive dynamics to solve the N-body problem. In: Proceedings of 54Th ICFA, pp. 70–73. JACoW (2015)

  3. Al Marzouk, A., Erdelyi, B.: Numerical integrator for Coulomb collisions. In: Proceedings of NAPAC, pp. 204–206. JACoW (2013)

  4. Berz, M.: Modern map methods in particle beam physics. Academic Press, London (1999)

    Google Scholar 

  5. Braun, M.: Differential Equations and Their Applications, 3rd edn., pp 67–80. Springer, New York (1983). ISBN: 0-387-90806-4

    Book  Google Scholar 

  6. Bücker, H.M., Corliss, G., Hovland, P., Naumann, U., Norris, B.: Automatic differentiation: applications, theory, and implementations. Lect. Notes Comput. Sci. Eng. Springer, Berlin (2006)

    Book  Google Scholar 

  7. Bücker, M., Hovland, P.: Tools for automatic differentiation. http://www.autodiff.org. List of selected AD tools

  8. Chang, Y.F., Corliss, G.: ATOMFT: Solving ODEs and DAEs using Taylor series. Comput. Math. Appl. 28(10–12), 209–233 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  9. Dahlquist, G.: A special stability problem for linear multistep methods. BIT 3, 27–43 (1963)

    Article  MathSciNet  MATH  Google Scholar 

  10. Fehlberg, E.: Numerical Integration of Differential Equations by Power Series, Illustrated by Physical Examples. Technical Note, no. D-2356. NASA, Washington (1964)

  11. Hairer, E., Norsett, S.P., Wanner, G.: Solving ordinary differential equations i: Nonstiff problems. Springer ser. Comput. Math springer (2013)

  12. Johnson, W.P.: The curious history of the Faà di Bruno’s Formula. Amer. Math. Monthly 109, 217–234 (2002)

    MathSciNet  MATH  Google Scholar 

  13. Jorba, À., Zou, M.: A software package for the numerical integration of ODEs by means of high-order Taylor methods. Exp. Math. 14(1), 99 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  14. LeVeque, R.J. 7: Finite Difference Methods for Ordinary and Partial Differential Equations: Steady-State and Time-Dependent Problems. SIAM, Philadelphia (2007). ISBN: 978-0-898716-29-0

  15. Makino, K., Berz, M.: COSY INFINITY version 9. Nucl. Inst. Methods A558, 346–350 (2005)

    Google Scholar 

  16. Musielak, Z.E., Quarles, B.: The three-body problem. Rep. Progr. Phys. 77(6), 065901 (2014)

    Article  MathSciNet  Google Scholar 

  17. Parker, G.E., Sochacki, J.S.: Implementing the Picard iteration. Neural Parallel Sci. Comput. 4, 97–112 (1996)

    MathSciNet  MATH  Google Scholar 

  18. Pruett, C.D., Rudmin, J.W., Lacy, J.M.: An adaptive n-body algorithm of optimal order. J. Comput. Phys. 187, 298–317 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  19. Schaumburg, H.D., Erdelyi, B.: A picard iteration based integrator. In: Proceedings of NAPAC, pp. 210–212. JACoW (2013)

  20. Simó, C.: Global dynamics and fast indicators. In: Broer, B.K.H.W., Vegter, G. (eds.) Global analysis of dynamical systems, Chap. 15, pp 373–390. IOP, Bristol and Philadelphia (2001)

  21. Sundman, K.F.: Mèmoire sur le problème des trois corps. Acta Math. 36, 105–179 (1912)

    Article  MathSciNet  MATH  Google Scholar 

  22. Teschl, G.: Ordinary differential equations and dynamical systems, vol. 140, p 38,40. American Mathematical Society, Providence (2012)

    Book  Google Scholar 

  23. Trench, W.F.: Introduction to Real Analysis, p 350. Pearson Education, Upper Saddle River (2003). ISBN: 0-13-045786-8

    MATH  Google Scholar 

  24. Wang, Q.: The global solution of the n-body problem. Celestial Mech. Dyn. Astr. 50(1), 73–88 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  25. Zhang, Y., Derbenev, Y., Douglas, D., et al.: Advance in MEIC cooling studies. In: Proceedings of COOL2013, vol. 13 (2013)

Download references

Funding

This work was supported by the United States Department of Energy, Office of Nuclear Physics, under contract no. DE-SC0005823.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Herman D. Schaumburg.

Appendix A: Composition commutation with truncated Taylor series extraction

Appendix A: Composition commutation with truncated Taylor series extraction

Our proof of Lemma 1 employs the Faà Di Bruno formula [12], which is a generalization of the chain rule.

Theorem 1

(Faà Di Bruno) If f and g are functions with a sufficient number of derivatives, then

$$\frac{\mathrm{d}^{k}}{\mathrm{d}t^{k}} f(g(t))=\sum \frac{k!}{{\prod}_{i = 1}^{k} b_{i}!} f^{(j)}(g(t)) \prod\limits_{i = 1}^{k}\left( \frac{g^{(i)}(t)}{i!}\right)^{b_{i}} $$

where the sum is over all different solutions in nonnegative integers b1 , . . . , bkof b1 + 2b2 + ⋯ + kbk = k andb1 + b2 + … + bk = j.

A few sets are helpful for our proof of Lemma 1. Let Uk,j denote the set of nonnegative integer solutions of

$$b_{1}+ 2b_{2}+\dots+k b_{k}=k, $$

and

$$b_{1} + b_{2} + {\dots} + b_{k}=j; $$

and let Vm,k,j denote the set of nonnegative integer solutions of

$$b_{1}+ 2b_{2}+\dots+m b_{m}=k, $$

and

$$b_{1} + b_{2} + {\dots} + b_{m}=j. $$

Proof Proof of Lemma 1

Direct evaluation of \(\mathscr {T}^{m}_{t,a}\left [\mathscr {T}^{m}_{t,g(a)}[f] \circ \mathscr {T}^{m}_{t,a}[g]\right ]\)shows (5) holds. To begin, we substitute \(\mathscr {T}_{t,a}^{m}[g]\)for t in \(\mathscr {T}^{m}_{t,g(a)}[f]\)yielding

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]=\sum\limits_{j = 0}^{m} f^{(j)}(g(a)) \frac{(\mathscr{T}_{t,a}^{m}[g]-g(a))^{j}}{j!}. $$

Rearranging and expanding the notation for \(\mathscr {T}_{t,a}^{m}[g]\)gives

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]=\sum\limits_{j = 0}^{m} \frac{f^{(j)}(g(a))}{j!} \left( \sum\limits_{i = 0}^{m} g^{(i)}(a) \frac{(t-a)^{i}}{i!}-g(a)\right)^{j}. $$

The 0th term in the innersum is g(a), which may becanceled:

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]=\sum\limits_{j = 0}^{m} \frac{f^{(j)}(g(a))}{j!} \left( \sum\limits_{i = 1}^{m} g^{(i)}(a) \frac{(t-a)^{i}}{i!}\right)^{j}. $$

Applying themultinomial theorem to \(\left ({\sum }_{i = 1}^{m} g^{(i)}(a) \frac {(t-a)^{i}}{i!}\right )^{j}\)yields

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\,=\,\sum\limits_{j = 0}^{m} \frac{f^{(j)}(g(a))}{j!} \!\underset{k\geq 1 }{\sum\limits_{V_{m,k,j}}} { \binom{j}{b_{1}, b_{2}, \ldots, b_{m}}} \!\prod\limits_{i = 1}^{m} \!\left( \frac{g^{(i)}(a)}{i!}(t\,-\,a)^{i}\right)^{\!b_{i}}\!. $$

Replacing the multinomial coefficients, substitutingk = b1 + 2b2 + ⋯ + mbmand distributing\(\frac {f^{(j)}(g(a))}{j!}\)over the inner summationsgives

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]=\sum\limits_{j = 0}^{m} \underset{k\geq 1 }{\sum\limits_{V_{m,k,j}}} \frac{f^{(j)}(g(a))}{j!} \frac{j!}{{\prod}_{i = 1}^{m} b_{i} !} (t-a)^{k} \prod\limits_{i = 1}^{m} \left( \frac{g^{(i)}(a)}{i!}\right)^{b_{i}}. $$

Separatingthe j = 0term, canceling the j factorials, and rearranging, wehave

$$\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\,=\,f(g(a))+\sum\limits_{j = 1}^{m} \underset{k\geq 1 }{\sum\limits_{V_{m,k,j}}} \!(t-a)^{k} \frac{1}{{\prod}_{i = 1}^{m} b_{i} !} f^{(j)}(g(a))\! \prod\limits_{i = 1}^{m} \!\left( \frac{g^{(i)}(a)}{i!}\right)^{\!b_{i}}\!. $$

Composing \(\mathscr {T}_{t,a}^{m}\)with \(\mathscr {T}^{m}_{t,g(a)}[f] \circ \mathscr {T}^{m}_{t,a}[g]\) truncates the terms of degree higher than m of polynomial\(\mathscr {T}^{m}_{t,g(a)}[f] \circ \mathscr {T}^{m}_{t,a}[g]\)inta. Also,since k = b1 + 2b2 + ⋯ + mbmin Vm,k,j, it mustbe that bi = 0when i > k fori = 1, 2, ⋯ , m. In this case, summingover Vm,k,j is equivalentto summing over Uk,j,

$$\begin{array}{@{}rcl@{}} \mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right]&=&f(g(a)) + \sum\limits_{j = 1}^{m} \underset{m\geq k\geq 1}{\sum\limits_{U_{k,j}}} (t-a)^{k} \frac{1}{{\prod}_{i = 1}^{m} b_{i} !} f^{(j)}(g(a))\\ && \times \prod\limits_{i = 1}^{k} \left( \frac{g^{(i)}(a)}{i!}\right)^{b_{i}}. \end{array} $$

We can introduce canceling k factorials as below:

$$\begin{array}{@{}rcl@{}} \mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right] &=& f(g(a))+\sum\limits_{j = 1}^{m} \underset{m\geq k\geq 1}{\sum\limits_{U_{k,j}}} \frac{(t - a)^{k}}{k!} \frac{k!}{{\prod}_{i = 1}^{k} b_{i} !} f^{(j)}(g(a))\\ && \times \prod\limits_{i = 1}^{k} \left( \frac{g^{(i)}(a)}{i!}\right)^{b_{i}}\!. \end{array} $$

Changing the order of summation yields

$$\begin{array}{@{}rcl@{}} \mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right] &=& f(g(a))+\sum\limits_{k = 1}^{m} \underset{m\geq j \geq 1}{\sum\limits_{U_{k,j}}} \frac{(t - a)^{k}}{k!} \frac{k!}{{\prod}_{i = 1}^{k} b_{i} !} f^{(j)}(g(a))\\ && \times \prod\limits_{i = 1}^{k} \left( \frac{g^{(i)}(a)}{i!}\right)^{b_{i}}\!. \end{array} $$

Factoring \(\frac {(t-a)^{k}}{k!}\)from the inner summations gives

$$\begin{array}{@{}rcl@{}} \mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right]&=&f(g(a))+\sum\limits_{k = 1}^{m} \frac{(t-a)^{k}}{k!} \underset{m \geq j\geq 1}{\sum\limits_{U_{k,j}}} \frac{k!}{{\prod}_{i = 1}^{k} b_{i} !} f^{(j)}(g(a))\\ && \times \prod\limits_{i = 1}^{k} \left( \frac{g^{(i)}(a)}{i!}\right)^{b_{i}}\!. \end{array} $$

From FaàDi Bruno’sformula,

$$\mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right]=f(g(a))+\sum\limits_{k = 1}^{m} \frac{(t-a)^{k}}{k!} \frac{\mathrm{d}^{k}}{\mathrm{d}t^{k}} f(g(t)). $$

The right-hand side of the above is the m th Taylor polynomial off(g(t))centered at a.Thus,

$$\mathscr{T}^{m}_{t,a}\left[\mathscr{T}^{m}_{t,g(a)}[f] \circ \mathscr{T}^{m}_{t,a}[g]\right]=\mathscr{T}^{m}_{t,a}[f \circ g]. $$

Proof Proof of Lemma 3

To show (6) holds, we consider the multivariable Taylor series forf centered atg(a),

$$\mathbf{f}(\mathbf{z})=\mathbf{f}(\mathbf{g}(a))+\underset{n_{1}n_{2}{\dots}n_{j}}{\sum\limits_{1\leq j<\infty}} \frac{1}{j!}\mathbf{f}_{z_{n_{1}}z_{n_{2}}{\cdots} z_{n_{j}}}(\mathbf{a}) \prod\limits_{k = 1}^{j} (z_{n_{k}}-g_{n_{k}}(a)). $$

Thenkth componentof \(\mathbf {z}=\mathscr {T}_{t,a}^{m}[\mathbf {g}]\) is apolynomial in ta with constant \(g_{n_{k}}(a)\).Thus, after this substitution each factor of the product in the right-hand side is zero or a polynomial inta of degree one ormore:

$$\mathbf{f}\left( \mathscr{T}_{t,a}^{m}[\mathbf{g}] \right) =\mathbf{f}(\mathbf{g}(a))+\underset{n_{1}n_{2}{\dots}n_{j}}{\sum\limits_{1\leq j<\infty}} \frac{1}{j!}\mathbf{f}_{z_{n_{1}}z_{n_{2}}{\cdots} z_{n_{j}}}(\mathbf{a}) \prod\limits_{k = 1}^{j} (\mathscr{T}_{t,a}^{m}[g_{n_{k}}]-g_{n_{k}}(a)). $$

Whenj > m, the productin the right-hand side of the above is degree m or less. Thus, truncating terms of degree higher than m in \(\mathbf {f}(\mathscr {T}_{t,a}^{m-1}[\mathbf {g}])\) gives the sameresult as truncating terms of degree higher than m in the first m summands on the right-hand side. Thatis,

$$\mathscr{T}^{m}_{t,a} [ \mathbf{f}\left( \mathscr{T}_{t,a}^{m}[\mathbf{g}] \right) ] \!=\mathscr{\!T}_{t,a}^{m} \left[ \!\mathbf{f}(\mathbf{g}(a))\,+\,\!\underset{n_{1}n_{2}{\dots}n_{j}}{\sum\limits_{1\leq j \leq m}} \frac{1}{j!}\mathbf{f}_{z_{n_{1}}z_{n_{2}}{\cdots} z_{n_{j}}}(\mathbf{a})\! \prod\limits_{k = 1}^{j} (\mathscr{T}_{t,a}^{m}[g_{n_{k}}]\,-\,g_{n_{k}}(a))\! \right]\!\!. $$

Thebracketed expression on the right-hand side is the m th multivariable Taylor polynomial off evaluatedat \(\mathscr {T}_{t,a}^{m}[\mathbf {g}]\)withcenter g(a).Symbolically,

$$\mathscr{T}^{m}_{t,a} [ \mathbf{f}\left( \mathscr{T}_{t,a}^{m}[\mathbf{g}] \right) ] =\mathscr{T}_{t,a}^{m} \left[ \pmb{\mathscr{T}}_{\mathbf{z},\mathbf{g}(a)}[\mathbf{f}] \circ \mathscr{T}_{t,a}[g]\right]. $$

From Lemma 2, the left-hand side of the above is \(\mathscr {T}_{t,a}^{m}[\mathbf {f} \circ \mathbf {g}],\)and (6) holds. □

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Schaumburg, H.D., Al Marzouk, A. & Erdelyi, B. Picard iteration-based variable-order integrator with dense output employing algorithmic differentiation. Numer Algor 80, 377–396 (2019). https://doi.org/10.1007/s11075-018-0489-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11075-018-0489-z

Keywords

Mathematics Subject Classification (2010)

Navigation