David M. Robertson

Software Engineer

I'm a Software Engineer in the media and signalling team at StarLeaf's Watford office.

I work as part of the R&D team, developing and maintaining a range of applications and internal tools. I primarily work with C++(17), but also make use of Python and occasionally Javascript. I'm keen to make use of Rust, and I'd like to have an excuse to play around with Lisps and functional languages.

In my previous life, I was a PhD researcher in geometric group theory, supervised by Dr. Andrew Duncan and Prof. Sarah Rees. I was interested in:

My thesis Conjugacy and centralisers in Thompson's group T was accepted in . It extends the work of Francesco Matucci in his PhD thesis by

  • adapting his "stair algorithm" from F to T, and
  • completing his analysis of centralisers in T.

There's a more friendly explanation available here.

I continue to maintain the thompson package for Python. It's not the fastest or most efficient tool out there—but it's good enough for testing conjectures, and certainly much better at performing calculations than I ever was!


The conjugacy search problem in Thompson's group T. .
The power conjugacy problem in Higman-Thompson groups (arχiv). .
with Nathan Barker and Andrew Duncan.


The joy of sets. Newcastle University, .
A half-hour talk for an internal postgraduate seminar at Newcastle University. This was an accessible talk, meant to give a flavour of how sets can be used as a foundation for mathematics.
On centralisers in Thompson's group T. Newcastle University, .
An hour-long talk to the Newcastle algebra group, split into three parts:
  1. a definition of and motivation for the Thompson groups F and T;
  2. a summary of a theorem from Matucci's thesis; concluding with
  3. a presentation and sketch proof of a result from my thesis which extends that theorem.
Introducing ordered groups. Newcastle University, .
An hour's introduction to the idea of ordered groups. An informal talk for pure maths postgrads. My rough notes had too much to cover in an hour.
Introduction to Python. Newcastle University, .
A 4-hour training session for postgraduate students introducing the Python programming language. No familiarity with programming was assumed; students could try the language first-hand in a Jupyter notebook. Followed by an introduction to the core scientific packages, presented by Cetin Can Evirgen.
Introduction to Linux. Newcastle University, .
A day-long training session for postgraduate students introducing Linux (in particular, bash). No familiarity with programming was assumed; the notes focus on running, controlling and accessing help for command-line tools. The notes were intended as a guide for self-study and a reference material, giving students some basic skills and confidence to use a terminal-only environment like topsy. See also the demo files referred to in the notes.
A spotter's guide to fractals. Newcastle University, .
A half-hour talk for an internal postgraduate seminar at Newcastle University. This was an accessible talk discussing fractals and trying to explain why Mandelbrot found them so engaging.
Conjugacy in Thompson's groups. Royal Holloway University London, .
A 50-minute talk for a seminar. The content was recycled from previous talks, but this time I wanted to give a gentler, slower introduction.
Proving the Hanna Neumann conjecture. Newcastle University, .
Following from the Bilbao workshop below, we held an internal seminar series discussing the paper of Antolín et al. The discussion included an introduction to the conjecture and its extensions; a tour of Bass-Serre theorey; and an exposition of the proof due to Antolín, Martino and Schwabrow following from Dicks and Mineyev. The series was jointly delivered by myself and Andrew Duncan.
Conjugacy in Higman-Thompson groups. University of the Basque Country, .
A recycled version of my previous talk for the Hanna Neumann workshop. This version was changed to be more informative for researchers in group theory.
Conjugacy in Higman-Thompson groups. Newcastle University, .
A half-hour talk for an internal postgraduate seminar at Newcastle University, trying to explain what I'd been doing in the first year of a PhD.