Coordinate-Independent Computations on Differential Equations

The goal of this project was to implement the language of differential geometry as a programming language. The thesis includes a very leisurely and elementary introduction to manifolds for non-mathematicians.

There are two reasons for doing this:

  1. Multiple coordinate systems resolve certain numerical problems associated with coordinate singularities in problems like rigid body motion.

  2. Programming languages provide a way to explain abstract concepts and procedures in a concrete, operational way. This is complementary to (and, of course, does not replace) the more traditional, purely analytical approach to subjects like classical mechanics.

Here is the original abstract:

This thesis investigates the computational representation of manifolds, which generalize curves and surfaces in n dimensions. The thesis demonstrates the use of the manifold abstraction in accurately solving ordinary differential equations. It also explores the numerical solution of simple linear partial differential equations, such as Laplace's equation and the linear wave equation, on manifolds. In the latter setting, unexpected difficulties arise even in the simplest examples.

Download. You can download the entire thesis in PostScript or PDF. The code is available at https://github.com/kkylin/diffeom.

This page was last updated on February 23, 2022.