This is the academic website of Dr Michael Torpey. I am a research software engineer at the School of Computer Science in the University of St Andrews, where I am employed as part of the OpenDreamKit project.
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
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:
- Computing with Semigroup Congruences (2014-09-05, MT5099 Dissertation for MSc Programme/s)
- Computing with Congruences on Finite 0-Simple Semigroups (2014-05-19, MT5991 Professional Skills for Mathematical Scientists)
From September 2019 I will be an associate lecturer (education-focused) in the school.
My main interest is in computational semigroup theory; 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 is 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, a new persistent memoisation framework for Python. I also created PackageManager, a package management system for GAP.