I’m an author, developer, or major contributor to several pieces of software. Many of these are to do with scientific computing and scientific machine learning; in particular differential equation solvers. I am proudest of my work in the JAX ecosystem.
See also my GitHub page.
An advanced suite of numerical differential equation solvers. Very efficient; features ODE/SDE/CDE solvers, high-order solvers, implicit solvers, dense solutions, adjoint methods, etc.
For building neural networks (or in general any parameterised function). PyTorch-like API, fully compatible with native JAX, with no new concepts you have to learn.
Build your physics-informed model in SymPy, perform arbitrary symbolic manipulations on it, then convert it to JAX and train it via gradient descent.
Type annotations and runtime checking for shape and dtype of JAX arrays, and PyTrees.
Rich type annotations for a tensor’s shape, dtype, etc. Includes optional runtime type checking.
Ordinary differential equation (ODE) solvers.
Stochastic differential equation (SDE) solvers.
Controlled differential eqution (CDE) solvers. In particular useful for building Neural Controlled Differential Equations on time series.
Turn SymPy expressions into PyTorch modules and back again. Train your SymPy expressions by gradient descent.
Implements natural cubic splines.
Differentiable computations of the signature and logsignature transforms. ICLR 2021 paper.
An improved import/include system for Julia. Makes your files self-contained and easier to understand.
Write academic posters in Markdown, style them with CSS, save them to PDF. No wrestling with LaTeX.