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
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)
main.mag
generate_ccnums.mag
ries.mag
ries_helper_fn.mag
addl_data.mag
hyeqn.mag
ishypiscyc.mag
/OutputFiles/README
SupplementaryFiles/README
SupplementaryFiles/BreuerRaw/gxx
In the process of running the code the following files will be created:
/SupplementaryFiles/gxx
/OutputFiles/gxxpossible_full
/OutputFiles/gxxfull
/OutputFiles/gxxnotfull
/OutputFiles/TBLDATA
gxxfinaldata
See the README
files of the respective folders for descriptions of what these files do.
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