[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Automatic Reformulation of ODEs to Systems of First-Order Equations

Published: 03 January 2018 Publication History

Abstract

Most numerical ODE solvers require problems to be written as systems of first-order differential equations. This normally requires the user to rewrite higher-order differential equations as coupled first-order systems. Here, we introduce the treeVar class, written in object-oriented Matlab, which is capable of algorithmically reformulating higher-order ODEs to equivalent systems of first-order equations. This allows users to specify problems using a more natural syntax and saves them from having to manually derive the first-order reformulation. The technique works by using operator overloading to build up syntax trees of expressions as mathematical programs are evaluated. It then applies a set of rules to the resulting trees to obtain the first-order reformulation, which is returned as another program. This technique has connections with algorithmic/automatic differentiation. We present how treeVar has been incorporated in Chebfun, greatly improving the ODE capabilities of the system.

References

[1]
U. Ascher and R. D. Russell. 1981. Reformulation of boundary value problems into “standard” form. SIAM Rev. 23, 2 (1981), 238--254.
[2]
Á. Birkisson. 2017. The treeVar class for automatic reformulation of ODEs to first order systems. Retrieved from https://github.com/asgeirbirkis/treeVar.
[3]
Á. Birkisson and T. A. Driscoll. 2012. Automatic Fréchet differentiation for the numerical solution of boundary-value problems. ACM Trans. Math. Softw. 38, 4, Article 26 (2012), 29 pages.
[4]
S. M. Cox and P. C. Matthews. 2002. Exponential time differencing for stiff systems. J. Comput. Phys. 176, 2 (2002), 430--455.
[5]
T. A. Driscoll, N. Hale, and L. N. Trefethen (Eds.). 2014. Chebfun Guide. Pafnuty Publications, Oxford.
[6]
A. Griewank and A. Walther. 2008. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation (2nd ed.). SIAM, Philadelphia, PA.
[7]
E. Hairer, S. P. Nørsett, and G. Wanner. 2008. Solving Ordinary Differential Equations I: Nonstiff Problems, 2nd revised ed. Springer-Verlag, Berlin.
[8]
A.-K. Kassam and L. N. Trefethen. 2005. Fourth-order time-stepping for stiff PDEs. SIAM J. Sci. Comput. 26, 4 (2005), 1214--1233.
[9]
R. D. Neidinger. 2010. Introduction to automatic differentiation and MATLAB object-oriented programming. SIAM Rev. 52, 3 (2010), 545--563.
[10]
O. E. Rössler. 1976. An equation for continuous chaos. Phys. Lett. A 57, 5 (1976), 397--398.
[11]
L. F. Shampine and M. W. Reichelt. 1997. The MATLAB ODE suite. SIAM J. Sci. Comput. 18, 1 (1997), 1--22.
[12]
W.-H. Steeb, J. A. Louw, and C. M. Villet. 1987. Linearly coupled anharmonic oscillators and integrability. Aust. J. Phys. 40, 5 (1987), 587--592.
[13]
J. Stoer and R. Bulirsch. 2002. Introduction to Numerical Analysis. Springer-Verlag, New York, NY.
[14]
S. H. Strogatz. 1994. Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering. Westview Press, Boulder, CO.
[15]
L. N. Trefethen, Á. Birkisson, and T. A. Driscoll. 2018. Exploring ODEs. SIAM, Philadelphia, PA.
[16]
B. van der Pol. 1926. On “relaxation-oscillations.” Lond. Edinb. Dubl. Philos. Mag. J. Sci. 2, 11 (1926), 978--992.
[17]
L. Verlet. 1967. Computer “experiments” on classical fluids. I. Thermodynamical properties of Lennard-Jones molecules. Phys. Rev. 159, 1 (1967), 98--103.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software  Volume 44, Issue 3
September 2018
291 pages
ISSN:0098-3500
EISSN:1557-7295
DOI:10.1145/3175005
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 January 2018
Accepted: 01 November 2017
Revised: 01 January 2017
Received: 01 January 2016
Published in TOMS Volume 44, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Analysis of mathematical functions
  2. automatic differentiation
  3. automatic reformulation
  4. initial value problems
  5. object-oriented programming
  6. operator overloading
  7. ordinary differential equations
  8. syntax trees

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • The MathWorks, Inc
  • European Research Council under the European Union's Seventh Framework Programme
  • ERC

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 212
    Total Downloads
  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media