Using a template engine as a computer algebra tool
Migran N. Gevorkyan, Anna V. Korolkova, Dmitry S. Kulyabov

TL;DR
This paper introduces a Julia library that automates the generation of Runge-Kutta numerical schemes using template substitution, enhancing flexibility, reducing errors, and facilitating comparison of different methods for solving ODEs.
Contribution
The paper presents a novel template-based approach for automatically generating and testing various Runge-Kutta methods in Julia, streamlining implementation and comparison.
Findings
Automated code generation reduces implementation errors.
Template approach enables easy modification and comparison of schemes.
Generated codes successfully solve standard ODE problems.
Abstract
In research problems that involve the use of numerical methods for solving systems of ordinary differential equations (ODEs), it is often required to select the most efficient method for a particular problem. To solve a Cauchy problem for a system of ODEs, Runge-Kutta methods (explicit or implicit ones, with or without step-size control, etc.) are employed. In that case, it is required to search through many implementations of the numerical method and select coefficients or other parameters of its numerical scheme. This paper proposes a library and scripts for automated generation of routine functions in the Julia programming language for a set of numerical schemes of Runge-Kutta methods. For symbolic manipulations, we use a template substitution tool. The proposed approach to automated generation of program code allows us to use a single template for editing, instead of modifying each…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
