Programming with Ordinary Differential Equations: Some First Steps Towards a Programming Language

被引:0
|
作者
Bournez, Olivier [1 ]
机构
[1] Ecole Polytech, LIX, F-91128 Palaiseau, France
关键词
COMPUTABILITY;
D O I
10.1007/978-3-031-08740-0_4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Various open problems have been recently solved using Ordinary Differential Equation (ODE) programming: basically, ODEs are used to implement various algorithms, including simulation over the continuum of discrete models such as Turing machines, or simulation of discrete time algorithms working over continuous variables. Applications include: Characterization of computability and complexity classes using ODEs [1-4]; Proof of the existence of a universal (in the sense of Rubel) ODE [5]; Proof of the strong Turing completeness of biochemical reactions [6], or more generally various statements about the completeness of reachability problems (e.g. PTIME-completeness of bounded reachability) for ODEs [7]. It is rather pleasant to explain how this ODE programming technology can be used in many contexts, as ODEs are in practice a kind of universal language used by many experimental sciences, and how consequently we got to these various applications. However, when going to say more about proofs, their authors including ourselves, often feel frustrated: Currently, the proofs are mostly based on technical lemmas and constructions done with ODEs, often mixing both the ideas behind these constructions, with numerical analysis considerations about errors and error propagation in the equations. We believe this is one factor hampering a more widespread use of this technology in other contexts. The current article is born from an attempt to popularize this ODE programming technology to a more general public, and in particular master and even undergraduate students. We show how some constructions can be reformulated using some notations, that can be seen as a pseudo programming language. This provides a way to explain in an easier and modular way the main intuitions behind some of the constructions, focusing on the algorithm design part. We focus here, as an example, on how the proof of the universality of polynomial ODEs (a result due to [8], and fully developed in [2]) can be reformulated and presented.
引用
收藏
页码:39 / 51
页数:13
相关论文
共 50 条
  • [31] Java']Java as a first programming language
    Churcher, N
    Tempero, E
    1998 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: EDUCATION & PRACTICE, PROCEEDINGS, 1998, : 390 - 393
  • [32] Some Differential Estimates in Linear Programming
    Nguyen Nang Thieu
    ACTA MATHEMATICA VIETNAMICA, 2016, 41 (02) : 243 - 249
  • [33] First steps in programming: A rationale for attention investment models
    Blackwell, AF
    IEEE 2002 SYMPOSIA ON HUMAN CENTRIC COMPUTING LANGUAGES AND ENVIRONMENTS, PROCEEDINGS, 2002, : 2 - 10
  • [34] Towards Understanding Bugs in Go Programming Language
    Feng, Yaping
    Wang, Ziyuan
    2024 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY, QRS, 2024, : 284 - 295
  • [35] Towards Ontology Development for Teaching Programming Language
    Ganapathi, Gopinath
    Lourdusamy, Ravi
    Rajaram, Veeraraghavan
    WORLD CONGRESS ON ENGINEERING, WCE 2011, VOL III, 2011, : 1845 - 1848
  • [36] Some thoughts on teaching introductory programming and the first language dilemma (Discussion paper)
    Université Paris Cité, CNRS, IRIF, Paris, France
    ACM Int. Conf. Proc. Ser., 1600,
  • [38] Solving differential equations with ant colony programming
    Kamali, M. Z. M.
    Kumaresan, N.
    Ratnavelu, Kuru
    APPLIED MATHEMATICAL MODELLING, 2015, 39 (10-11) : 3150 - 3163
  • [39] Object Oriented Programming for Partial Differential Equations
    Alberdi Celaya, E.
    Anza Aguirrezabala, J. J.
    INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, ICCS 2015 COMPUTATIONAL SCIENCE AT THE GATES OF NATURE, 2015, 51 : 1013 - 1022
  • [40] Stochastic Concurrent Constraint Programming and Differential Equations
    Bortolussi, Luca
    Policriti, Alberto
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 190 (03) : 27 - 42