Experience

Research AssociateDepartment of Engineering, University of Cambridge, Cambridge, UK
September 2025 – Present

  • Investigating probabilistic machine learning techniques as part of the Prob_AI Hub.
  • Studied non-linear dynamical systems, and in particular approximation techniques building upon the linearisation of such systems via observation (lifting) functions, i.e., the many variants of Dynamic Mode Decomposition, and machine learning advancements.
  • Developed a probabilistic formulation of Koopman Mode Decomposition with a proper scoring rule based training strategy targeting sharp, well-calibrated forecasts.
  • Implementation using torch and Hydra for configuration management, and server-based GPU training.
  • Contributed talks to a number of Prob_AI events, and was part of the organising committee for the Prob_AI Winter School 2027.

Assegnista di Ricerca (Postdoctoral Researcher)Istituto di Matematica Applicata e Tecnologie Informatiche “E. Magenes”, Pavia, Italy
February 2024 – September 2025

  • Developed novel multi-fidelity surrogate modelling algorithms for use with “noisy” solution data, including applications to complex, coupled modelling problems.
  • Focused on data-driven approximation via sparse grid polynomial interpolation methods and exploiting spectral polynomial approximation properties. We used adaptive experimental design optimally select sampling points to fit a multi-fidelity surrogate model. Our novel algorithm offers robust computationally efficient surrogate modelling for parametric problems. We focused on applications in uncertainty quantification and optimisation.
  • Implemented and analysed complex test problems including a NASA turbulent fluid flow validation case via OpenFOAM and ParaView, and use of SLURM high performance computing facilities.
  • Numerical experiments required containerisation and deployment of Python, Julia, and more complex solvers via Docker and Kubernetes. This included contributions to benchmark models for the Democratising Uncertainty Quantification project.
  • Contributed to the development of the widely used Sparse Grids MATLAB Kit and developed a novel Julia surrogate modelling package SparseGridsKit.jl.
  • Co-organised mini-symposia focusing on surrogate modelling at Adaptive Modeling and Simulation (ADMOS) 2025 and the Biennial Numerical Analysis Conference 2025.
  • Presented a seminar at Sandia National Laboratories, USA, and an invited talk for the UM-Bridge Workshop 2024 in addition to a number of conference talks.
  • Supervised by Lorenzo Tamellini, with collaborators at Universitat Politècnica de Catalunya, Spain.
  • IMATI is a Consiglio Nazionale delle Ricerche (CNR) institute.

PhD in Numerical AnalysisThe University of Manchester, UK
September 2019 – November 2023

  • Industry sponsored ICASE project with IBM Research UK, supervised by Professor Catherine Powell and Professor David Silvester.
  • Investigated computationally efficient adaptive-in-time approximation for parametric, time-dependent partial differential equations.
  • Specifically, developed a novel adaptive-in-time sparse-grid stochastic collocation algorithm for approximation of parametric time-dependent advection–diffusion problems. Numerical experiments demonstrated the computational efficiency even for high dimensional parametric inputs that would be intractable for naive tensor-based approximations.
  • Studied topics in Functional Analysis, Approximation Theory and Finite Element Analysis, Adaptive Finite Element Methods, Uncertainty Quantification (Monte Carlo methods, stochastic collocation, stochastic Galerkin methods) and Bayesian inverse problems.
  • Co-organiser of Manchester Mathematics Research Student Conference in 2020 and Mathematics of Data Science student conference in 2020.
  • Communication of my research included an invited seminar for IBM Research UK in 2022 and “Best Student Talk” prize at the Manchester SIAM-IMA Student Chapter Conference 2023.
  • Thesis: Efficient Approximation of Parametric Parabolic Partial Differential Equations.
  • Teaching assistant for Matrix Analysis MATH36001, Mathematical Workshop MATH10001, and Complex Analysis MATH20142.

Algorithm DeveloperThales, Stockport, UK
September 2017 – August 2019

  • Developed array signal processing algorithms in MATLAB for time-series sensor data. Tested and evaluated algorithms on large data sets from customer experiments.
  • Collaborated with systems engineers to transform customer requirements to novel algorithm specifications. In particular, worked on building realistic simulator tools for user training and software testing.
  • Worked alongside software engineers to implement and validate novel algorithms in delivered product.
  • Post event analysis, data cleaning, and reporting for newly collected experimental data sets.

Research EngineerThales, Reading, UK
September 2015 – September 2017

  • Completed a two-year graduate scheme with training in both technical and soft skills.
  • Four project placements:
    • implementation of state of the art cryptographic key exchange algorithms in C for evaluation,
    • fast prototyping of radar signal processing algorithms in MATLAB and SIMULINK,
    • data filtering, multi-target data fusion and tracking algorithms in MATLAB,
    • investigation of environmental effects on array signal processing algorithms and experimental data analysis.

Mathematics and Physics BSc, First-Class HonoursThe University of Warwick, UK
September 2012 – July 2015

  • Prize for the best exam results in my cohort.
  • Studied modules include Matrix Analysis & Algorithms, Numerical Analysis & PDEs, Scientific Programming, C Programming.

Rules and Procedures Software InternshipLloyd’s Register, Southampton, UK
July 2014 – August 2014

  • Upgraded finite element approximation software components from FORTRAN to C++, in particular algorithms for element shape validation.

The College of Richard Collyer, Horsham, UKSeptember 2010 – July 2012

  • A Levels: Mathematics A*, Further Mathematics A*, Physics A*, Chemistry A*, Electronics A*.
  • Previously, GCSE: 10 A* (including Maths and English) + 1 A (French).