Abstract Search

ISEF | Projects Database | Finalist Abstract

Back to Search Results | Print PDF

Domain Specific Language for Differential Equations with Scott-Strachey Semantics

Booth Id:
MATH029T

Category:
Mathematics

Year:
2021

Finalist Names:
Philippe, Benjamin (School: University Gardens High School)
Ramos, Jan-Paul (School: University Gardens High School)

Abstract:
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.