Find me on: arXiv, GitHub, ORCiD, Stack Exchange.
Research interests
- Data science and machine learning.
- Kernel density estimation.
- Computational p-adics.
- Galois theory and ramification theory.
- Factorization and root-finding of systems of equations.
Papers & Reports
- Exact p-adic computation in Magma, Journal of Symbolic Computation (accepted 2020). (Accepted PDF, arXiv, DOI)
- Data Study Group Network Final Report - Woolfson Laboratory, with several co-authors, Alan Turing Institute (June 2020). Workshop on predicting oligomeric protein structure from amino acid sequences. (report, DOI)
- Guiding Principles for Unlocking the Workforce - What Can Mathematics Tell Us?, with many authors, Knowledge Transfer Network, Isaac Newton Institute & International Centre for Mathematical Sciences (working paper, 2020). Workshop on mathematical principles for easing the COVID-19 lockdown. (homepage, PDF)
- Computing the Galois group of a p-adic polynomial, Int. J. Number Theory (2020). (overview, tables, arXiv, DOI)
- 3-torsion and conductor of genus 2 curves, with T. Dokchitser, Math. Comput. (2018). (overview, article, arXiv)
- PhD Thesis: Aspects of p-adic computation, Bristol University (2019). (thesis)
- ExactpAdics: An exact representation of p-adic numbers, pre-print (2018). (overview, arXiv)
- On enumerating extensions of p-adic fields with given invariants, pre-print (2018). (overview, arXiv)
Tables
Code
PythonCall.jl
: Call Python code from Julia and vice-versa.Bokeh.jl
: Julia bindings for the BokehJS plotting library.ARFFFiles.jl
: For loading and saving ARFF (Attribute Relation File Format) files.Countries.jl
: For handling the countries on Earth.CustomAxes.jl
: Arrays supporting customized axes, such as names and labels.ShadeYourData.jl
: Interactive plotting of millions of data points.Edlib.jl
: Julia bindings for the edlib string alignment library.MagmaCall.jl
: Call Magma code from Julia.LTWA.jl
: Produce abbreviations using ISO 4 and the List of Word Title Abbreviations.LogarithmicNumbers.jl
: Implementation of a logarithmic number system for Julia.Infinity.jl
: Julia package to extend the integers, or any other real type, with infinity.ExactpAdics2
(github): User-friendly package for performing p-adic computations exactly. Newer implementation, recommended. (See the article “ExactpAdics…”.)ExactpAdics
(github): User-friendly package for performing p-adic computations exactly. First implementation, generally slower thanExactpAdics2
. (See the article “ExactpAdics…”.)Genus2Conductor
(github): For computing the conductor of a genus 2 hyperelliptic curve. (See the article “3-torsion…”.)pAdicGaloisGroup
(github): Experimental code for computing Galois groups over p-adic fields.pAdicExtensions
(github): For computing extensions of p-adic fields. (See the article “On enumerating extensions…”.)MagmaUtils
(github): Adds extra basic functionality to Magma.magdoc
(github): For automatically generating documentation from Magma code.sublime-magma
(github): Magma language support for the Sublime text editor.sublime-magma-snippets
(github): Magma snippets for Sublime.
Articles
- Given n red and n blue points, the total monochromatic distance is less than the total bichromatic distance. (MathSE)
- On computing the Galois group of a rational polynomial. (MathSE)
- When we adjoin one root of a polynomial to a field, how many other roots do we get? (MathSE)
- Counting p-adic fields with certain properties. (MathOverflow)
- Why a normal extension of a normal extension of a field is not normal. (MathSE)
- Trace and discriminant of a field extension are independent. (MathOverflow)
- Why algebraic numbers are a field. (MathSE)
- Minimal polynomial of ab when those of a and b are known. (MathSE)
Resume
- 2020-: Senior data scientist, Alan Turing Institiute.
- 2018-2020: Heilbronn research fellow, University of Bristol.
- 2014-2018: PhD mathematics, University of Bristol. Supervisor: Tim Dokchitser.
- 2008-2009: Part III/MMath (Distinction), University of Cambridge.
- 2005-2008: BSc mathematics (Class I), University of Cambridge.