GitHub
My personal GitHub page can be reached by clicking here. Some of the newer functionality there includes the heuristic determination of endomorphism rings of curves and the reconstruction of plane quartics from their Dixmier-Ohno invariants.
Most of the code on this page is legacy, and the code in it that is more generally useful will find its way to GitHub at some point. All of it is written in Magma, and quite a few use the Echidna package by David Kohel.
Plane quartics
Here is the implementation of the paper An explicit expression of the Lüroth invariant with Romain Basson, Reynald Lercier and Christophe Ritzenthaler.
Hyperelliptic curves
Here is the implementation of the paper Explicit Galois obstruction and descent for hyperelliptic curves with tamely cyclic reduced automorphism group with Reynald Lercier and Christophe Ritzenthaler in the particular case of a hyperelliptic curve over a field of characteristic not equal to 2 for which the reduced automorphism group is tamely cyclic.
Here and here are the implementations of the paper Fast computation of isomorphisms of hyperelliptic curves and explicit descent with Reynald Lercier and Christophe Ritzenthaler, which gives fast algorithms for isomorphisms between hyperelliptic curves.
Arithmetic pointed tori
These programs, used in my thesis, contain the following functionality:
- belyimaps: explicit determination of the permutation triples of given ramification type.
- classcheck: checking correctness of candidate representatives of the isogeny classes of some curves J_0 (K).
- padunif: computing combinatorial data regarding the dual graph of a Shimura curve.
- takdata: computing orders and traces of Frobenius for the entries in Takeuchi's list of arithmetic (1;e)-groups.
- x0search: finding a suitable elliptic curve given reduction data and valuations of its j-invariant.
In all these files, there is a file ending in Init that initializes and explains the algorithms in it. These algorithms are also used in the articles Canonical models of arithmetic (1;e)-curves and Arithmetic (1;e)-curves and Belyi maps. The first of these also uses the calculations here to determine the Lamé equations that are pullbacks of hypergeometric equations.
It should be noted that these algorithms are very specific to the case of (1;e)-curves, and should only be taken up for that particular purpose. General purpose algorithms for Shimura curves can be found in work by Greenberg, Voight, and others.