Code for a database of group actions on Riemann surfaces
This repository hosts code used to compute the data found at www.lmfdb.org/HigherGenus/C/Aut/. This data classifies groups acting on Riemann surfaces.
To run this code, first open the file main.mag in an editor and set the genus you wish to run by searching and replacing “xx” with the genus: some number between 02-10. There are 8 places where 'xx' appears in the document (one is inside a comment).
Be sure a copy of the file https://github.com/jenpaulhus/breuer-modified/blob/master/genvectors.mag is in the folder also.
Then start Magma and type:
load “main.mag”;
The data will be written to a file called gxxfinaldata
Sample Output
The data in the file gxxfinaldata will have entries for each possible group action, up to simultaneous conjugation, separated by the '@' symbol. Depending on whether the action represents the full automorphism group, the entries will have one of the following two possible organizations.
-
If the entry represents the full automorphism group it will have the format:
- group as ordered pair [n,d] representing SmallGroup(n,d)
- signature
- conjugacy classes for this refined passport, listed as in Magma
- ordered pair representing which list of possible conjugacy classes for this group and signature the action comes from (as computed in
generate_ccnums.mag) - r lists of integers representing the r generating vectors as permutations
- HY or HN representing if the action is hyperelliptic or not
- (optional) if HY on the previous line, a list of integers representing the hyperelliptic involution as a permutation
- (optional) if HY on the line two previously, equation(s) for the curve(s) in LaTeX form
- CY or CN representing if cyclic trigonal or not
- (optional) if CY on the previous line, a list of integers representing the trigonal automorphism as a permutation
For example, in genus 3 there is a family of hyperelliptic curves with automorphism group SmallGroup(32,9) and signature [0;2,4,8]. One of the actions corresponds to conjugacy classes [6,10,12] and its entry in the file g03finaldata looks like:
[32,9]
[ 0, 2, 4, 8 ]
[ 6, 10, 12 ]
[ 7, 1 ]
[ 11, 12, 9, 10, 16, 15, 14, 13, 3, 4, 1, 2, 8, 7, 6, 5, 27, 28, 25, 26, 32, 31, 30, 29, 19, 20, 17, 18, 24, 23, 22, 21 ]
[ 20, 19, 18, 17, 23, 24, 21, 22, 32, 31, 30, 29, 28, 27, 26, 25, 2, 1, 4, 3, 5, 6, 7, 8, 14, 13, 16, 15, 10, 9, 12, 11 ]
[ 28, 27, 26, 25, 32, 31, 30, 29, 23, 24, 21, 22, 20, 19, 18, 17, 10, 9, 12, 11, 14, 13, 16, 15, 5, 6, 7, 8, 2, 1, 4, 3 ]
HY
[ 3, 4, 1, 2, 7, 8, 5, 6, 11, 12, 9, 10, 15, 16, 13, 14, 19, 20, 17, 18, 23, 24, 21, 22, 27, 28, 25, 26, 31, 32, 29, 30 ]
y^2=x^{8}-1
CN
- group as ordered pair [n,d] representing SmallGroup(n,d)
-
If the entry does not represents the full automorphism group it will have the format:
- group as ordered pair [n,d] representing SmallGroup(n,d)
- signature
- conjugacy classes for this refined passport, listed as in Magma
- ordered pair representing which list of possible conjugacy classes for this group and signature the action comes from (as computed in
generate_ccnums.mag) - the full automorphism group as an ordered pair [n,d] representing SmallGroup(n,d)
- the signature for the full automorphism
- r lists of integers representing the r generating vectors as permutations
For example, in genus 5 there is a family of curves with automorphism group SmallGroup(8,2) and signature [0;4,4,4,4]. This group is not the full automorphism group of the family. Instead SmallGroup(32,27) and signature [0;2,2,2,4] represent the full action, and the enty in the file g05finaldata looks like:
[8,2]
[ 0, 4, 4, 4, 4 ]
[ 5, 5, 7, 7 ]
[ 1, 1 ]
[32,27]
[ 0, 2, 2, 2, 4 ]
[ 5, 6, 7, 8, 2, 1, 4, 3 ]
[ 5, 6, 7, 8, 2, 1, 4, 3 ]
[ 7, 8, 5, 6, 4, 3, 2, 1 ]
[ 7, 8, 5, 6, 4, 3, 2, 1 ]
- group as ordered pair [n,d] representing SmallGroup(n,d)
Files Included
main.maggenerate_ccnums.magries.magries_helper_fn.magaddl_data.maghyeqn.magishypiscyc.mag/OutputFiles/READMESupplementaryFiles/READMESupplementaryFiles/BreuerRaw/gxx
Temporary Files
In the process of running the code the following files will be created:
/SupplementaryFiles/gxx/OutputFiles/gxxpossible_full/OutputFiles/gxxfull/OutputFiles/gxxnotfull/OutputFiles/TBLDATAgxxfinaldata
See the README files of the respective folders for descriptions of what these files do.
Reference
More detailed explanation may be found at: http://www.math.grinnell.edu/~paulhusj/Paulhus-lmfdb.pdf
Some of the code comes from work in the following sources:
-
Breuer, Thomas. Characters and automorphism groups of compact Riemann surfaces. London Mathematical Society Lecture Note Series, v. 280. Cambridge University Press, Cambridge, 2000.
-
Ries, J. F. X. (1993). Subvarieties of moduli space determined by finite groups acting on surfaces. Trans. Amer. Math. Soc., 335(1):385–406.
-
Shaska, Tanush. Determining the automorphism group of a hyperelliptic curve, in ISSAC 2003--Proceedings of the 2003 International Symposium of Symbolic and Algebraic Computation, pp. 248-254.
-
Swinarski, David. Equations of Riemann surfaces with automorphisms (2016). https://arxiv.org/abs/1607.04778