Michael Torpey’s homepage

This is the academic website of Dr Michael Torpey. I am an associate lecturer (education-focused) at the School of Computer Science in the University of St Andrews.

I undertook my PhD in the School of Mathematics and Statistics here in St Andrews, starting in 2014 and graduating in June 2019. My thesis was entitled Semigroup Congruences: Computational Techniques and Theoretical Applications. After my PhD I moved to the School of Computer Science, where I spent one year as a research software engineer working on the OpenDreamKit project, before taking up my current post in September 2019.

I have been based in the University of St Andrews since 2009, completing the degrees of BSc Computer Science/Mathematics in 2013 and MSc Mathematics with Distinction in 2014.

As part of my MSc degree, I also wrote two dissertations on computational semigroup theory, each of which contained some original research:

My Research

My main research interest is in computational algebra; across the period of my MSc and PhD I contributed to the GAP computational algebra system, and in particular to the Semigroups and Digraphs packages for GAP. One particular area of my focus has been on computing semigroup congruences; I have written and implemented a number of algorithms for this in the Semigroups package. Since submitting my thesis, I have also become a main author of the curlInterface and MathInTheMiddle packages for GAP, as well as creating pypersist and Memoisation, a Python library and a GAP package for persistent memoisation in the two systems. I also created PackageManager, a package management system for GAP.