Domain Specific Language for Differential Equations with Scott-Strachey Semantics
Overview
Domain Specific Languages (DSL) give the user a rigorous environment for solving problems in a specific domain, in this case differential equations. Scott-Strachey semantics (also known as denotational semantics) are important in computing and pure mathematics because they formulate the meaning of programming languages by constructing denotations (mathematical objects) that describe the meanings of expressions from the language. The main denotation in our DSL is the auto differentiating algorithm, which includes its own Expression Sublanguage for the calculus, and creates an intuitive environment for any user wanting to solve differential equations through the methods of Forward Mode Auto Differentiation. The main strategy for the algorithm was to develop a dual numbers data type that will deconstruct the user’s input and process each object into an algorithm that will differentiate the object in a certain pseudo-dual numbers domain field depending on the object, i.e. trigonometric functions. By developing an algorithm to deconstruct an input user equation, we apply the chain rule to each object in the input f(x)=g(h(x)) for g and h objects in the input, with x applying the dual numbers data type, we return a tuple composed of the original numerical value and its derivative in respect to x. Benefits include an easier to understand user interface for both beginners and mathematicians wanting to auto differentiate, including a command history, in addition to faster programming with Polish notation, an implementation in gradient descent algorithms for machine learning optimization, and a computer independent algorithm (denotations) to solve Jacobian matrices.
Competition history
- ISEF 2021
Resources
Related projects
ISEF · 2022
Subscript: A Functional Programming Language for Scripting in Data-Driven JVM Applications
ISEF · 2026
A Faster Algorithm for Solving Constant and Variable Delay Differential Equations via Quantum Block Encoding
ISEF · 2024
A Configurable Compiled Programming Language With Integrated Transpilation
ISEF · 2014
Dynamic Mathematics on Smartphones and Tablets
ISEF · 2024
Voicemath: A Calculator to Convert Commonly Spoken Mathematical Speech Into Equations Using Natural Language Processing
ISEF · 2016
FLscript--An Experimentation of Logic and Functional Programming Language for the Web: Design and Implementation
ISEF · 2023
Engineering a Component-Based Programming Language
ISEF · 2025
Enhancing Symbolic Regression and Universal Physics-Informed Neural Networks With Dimensional Analysis
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: Regeneron International Science and Engineering Fair