My research focuses on using symbolic mathematics and modern software techniques to automate the generation of scientific software, currently focusing on computational fluid dynamics. This work will allow a scientist to specify the differential equations to be studied, the mathematical techniques that will be used to perform the numerical computations, and the architecture of the machine on which the calculations will be done. The toolkit then converts the differential equations, via the supplied methods, into specialized code for the architecture. With colleagues in the Department of Mechanical and Aerospace Engineering, this toolkit has been used to generate the dynamical systems that arise in the study of the boundary layers in fluids.
A component of this toolkit is a computer algebra substrate called Weyl, which extends the data structures available in Common Lisp to include objects like polynomials, matrices, rational functions, rings, vector spaces, and ideals. The introduction of these new objects into a programming language provides a number of new challenges to the language's type system and provides new opportunities for deductive reasoning, which we are pursuing.
If you have questions or comments please contact: email@example.com.