I focus on the application of scientific machine learning (SciML), particularly physics-based machine learning, to nonlinear dynamics problems coming from engineering. I also have a broad range of research interests across the field of applied mathematics and computer science. I focus particularly on engineering-related applications (e.g., aeroelastic flutter) and I have a sideline in tactile robotics (joint with Nathan Lepora). Many mathematicians call me an engineer, whilst many engineers call me a mathematician β€” you can form your own opinions πŸ˜€.

I’m more generally interested in the theory/practice underpinning scientific computing and programming. I’m very keen on the Julia programming language and recommend it for technical computing.

For my publications, see my Google Scholar page as Google is better at updating lists than I am!

My specialities include

  • mathematical modelling (mostly engineering related, but I also enjoy broader challenges work such as bio-sciences, including neuroscience),
  • the dynamics and control of nonlinear systems,
  • numerical methods for dynamical systems (particularly in the area of bifurcation analysis),
  • systems with delay (mostly delay differential equations), and
  • scientific machine learning (including Gaussian processes, deep learning, and reinforcement learning).

Despite being focussed on mathematics, I enjoy ‘getting my hands dirty’ by working directly with physical experiments. As such, the challenges of dealing with systems that are stochastic or uncertain are of significant interest to me. Related to this, Scientific Machine Learning (SciML) is an area that I am focussing on at the moment since it brings the possibility of fusing physics-based differential-equation models with machine learnt models. If you are interested in learning more about SciML, Chris Rackauckas has produced a nice tutorial for doing SciML in Julia.