Broadly, my research aims to develop tools to support the scientists taking on the problems of today. This consists primarily of the design and analysis of algorithms for fundamental linear algebraic tasks. I hope that my work will help to bridge the gap between numerical analysis, theoretical computer science, and applied computational sciences such as quantum physics.

On the design side, I’m particularly interested in incorporating probabilistic techniques into classical algorithms to develop methods which are fast and reliable, both in theory and in practice. My goal is always that the algorithms I design to have clear potential for improving the current workflows used by scientists in the real-world.

On the analysis side, I focus mostly on understanding the behavior of iterative methods , and in particular Lanczos-based methods. I’m most interested in developing techniques for posterior error estimates which are suitable for use as practical stopping criteria, but I also spend a lot of time on prior bounds which can be used to provide intuition into the convergence of algorithms.

I’ve tried to write relatively accessible introductions to some topics. This is still very much a work in progress.

- Matrix functions
- Lanczos method for matrix function approximation (Lanczos-FA)
- Lanczos-FA used for linear systems
- Quantum Typicality

- A spectrum adaptive Kernel Polynomial Method
- Numerical computation of the equilibrium-reduced density matrix for strongly coupled open quantum systems
- Krylov-aware stochastic trace estimation
- Randomized matrix-free quadrature for spectrum and spectral sum approximation
- Error bounds for Lanczos-based matrix function approximation