code

The below code are snippets of current working projects.

C++

  • uLinalg: a library to handle 2D array operations, including broadcasting, LU decompositions, and Cholesky decompositions.
  • punter: an implementation of the Shunting-Yard to parse mathematical expressions from infix to postfix notation.

R

Python

  • statFEM code to accompany these papers (FEM code is implemented with FEniCS):
    • The 1D case (including the internal wave experimental data) is housed at statkdv-paper. This code computes the posterior (filtering) distribution using extended and ensemble Kalman filters.
    • The 2D case is located here. This also computes the posterior filtering distribution using a low-rank extended Kalman filter algorithm.
  • ula-statfem: code to explore Langevin dynamics samplers with statFEM. Published in SIAM JUQ. Includes sfmcmc package which implements a bunch of different MCMC samplers, including ULA (see this classic paper), MALA, and preconditioned Crank-Nicolson.
  • statfenics: a set of tools to help when doing statistics with FEniCS. Includes functions to build Gaussian process inference on top of FEniCS, and utilities to aid in interpolating finite element solutions.

Misc

  • dotfiles for *nix systems that I use day-to-day. Made portable via the great yadm dotfile manager.