De Clercq, Louis
[UCL]
Legat, Vincent
[UCL]
The goal of this thesis is to implement the ode45 function from MATLAB into Python. The ode45 function solves systems of nonstiff differential equations with initial conditions. The Python scipy library contains a function called solve_ivp which fulfils many of the same functionalities, but has a worse trade off between execution time and precision compared to ode45 in MATLAB. The ode45 function also generally has a better step size choice, as well as using interpolation to estimate points between two steps. Therefore this thesis to reverse engineer ode45 and translate it into Python. This thesis can be broken down into two main tasks, firstly implementing the function into Python, and secondly demonstrating correctness. The ode45 function uses the Dormand-Prince method to solve differential equations. This method belongs to the Runge-Kutta family of numerical methods. Along with the ode45 function, a number of sub functions also need to be implemented. Demonstrating correctness of these functions will be done by breaking them down into smaller parts and by subsequently demonstrating the correctness of those parts.


Bibliographic reference |
De Clercq, Louis. Implémentation de la fonction ode45 dans Python. Ecole polytechnique de Louvain, Université catholique de Louvain, 2021. Prom. : Legat, Vincent. |
Permanent URL |
http://hdl.handle.net/2078.1/thesis:30570 |