This is the academic website of 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 September 2014. The final version of my thesis, Semigroup Congruences: Computational Techniques and Theoretical Applications, was accepted by the university in February 2019, and I expect to graduate in June.
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)
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.