// Higher genus curve downloaded from the LMFDB on 29 February 2024.
// Search link: https://www.lmfdb.org/HigherGenus/C/Aut/?genus=4&inc_hyper=only
// Query "{'genus': 4, 'hyperelliptic': True, 'cc.1': 1}" returned 29 refined passports, sorted by genus.
// Each entry in the following data list has the form:
// [Refined passport label, Genus, Group, Group order, Dimension, Signature]
// For more details, see the definitions at the bottom of the file.
// To create a list of refined passports, type "passports:= make_data();"
columns := ["passport_label", "genus", "group", "group_order", "dim", "signature"];
data := [
[*"4.2-1.0.2-2-2-2-2-2-2-2-2-2.1", 4, "[2,1]", 2, 7, "[0,2,2,2,2,2,2,2,2,2,2]"*],
[*"4.4-1.0.2-2-2-2-4-4.1", 4, "[4,1]", 4, 3, "[0,2,2,2,2,4,4]"*],
[*"4.4-2.0.2-2-2-2-2-2-2.1", 4, "[4,2]", 4, 4, "[0,2,2,2,2,2,2,2]"*],
[*"4.4-2.0.2-2-2-2-2-2-2.4", 4, "[4,2]", 4, 4, "[0,2,2,2,2,2,2,2]"*],
[*"4.4-2.0.2-2-2-2-2-2-2.6", 4, "[4,2]", 4, 4, "[0,2,2,2,2,2,2,2]"*],
[*"4.6-2.0.2-2-2-3-6.1", 4, "[6,2]", 6, 2, "[0,2,2,2,3,6]"*],
[*"4.6-2.0.2-2-2-3-6.2", 4, "[6,2]", 6, 2, "[0,2,2,2,3,6]"*],
[*"4.8-4.0.2-4-4-4.1", 4, "[8,4]", 8, 1, "[0,2,4,4,4]"*],
[*"4.8-3.0.2-2-2-2-4.1", 4, "[8,3]", 8, 2, "[0,2,2,2,2,4]"*],
[*"4.16-7.0.2-2-2-8.1", 4, "[16,7]", 16, 1, "[0,2,2,2,8]"*],
[*"4.16-7.0.2-2-2-8.2", 4, "[16,7]", 16, 1, "[0,2,2,2,8]"*],
[*"4.18-2.0.2-9-18.2", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.18-2.0.2-9-18.4", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.18-2.0.2-9-18.3", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.18-2.0.2-9-18.1", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.18-2.0.2-9-18.5", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.18-2.0.2-9-18.6", 4, "[18,2]", 18, 0, "[0,2,9,18]"*],
[*"4.20-4.0.2-2-2-5.1", 4, "[20,4]", 20, 1, "[0,2,2,2,5]"*],
[*"4.20-4.0.2-2-2-5.2", 4, "[20,4]", 20, 1, "[0,2,2,2,5]"*],
[*"4.24-3.0.3-4-6.2", 4, "[24,3]", 24, 0, "[0,3,4,6]"*],
[*"4.24-3.0.3-4-6.1", 4, "[24,3]", 24, 0, "[0,3,4,6]"*],
[*"4.32-19.0.2-4-16.3", 4, "[32,19]", 32, 0, "[0,2,4,16]"*],
[*"4.32-19.0.2-4-16.4", 4, "[32,19]", 32, 0, "[0,2,4,16]"*],
[*"4.32-19.0.2-4-16.1", 4, "[32,19]", 32, 0, "[0,2,4,16]"*],
[*"4.32-19.0.2-4-16.2", 4, "[32,19]", 32, 0, "[0,2,4,16]"*],
[*"4.40-8.0.2-4-10.2", 4, "[40,8]", 40, 0, "[0,2,4,10]"*],
[*"4.40-8.0.2-4-10.1", 4, "[40,8]", 40, 0, "[0,2,4,10]"*],
[*"4.40-8.0.2-4-10.3", 4, "[40,8]", 40, 0, "[0,2,4,10]"*],
[*"4.40-8.0.2-4-10.4", 4, "[40,8]", 40, 0, "[0,2,4,10]"*]
];
RecFormat := recformat;
function create_record(row)
out := rec;
return out;
end function;
function make_data()
return [create_record(row) : row in data];
end function;
//Refined passport label (passport_label) --
// Let $X$ be a compact Riemann surface (equivalently, a smooth projective curve over $\C$) of genus $g$, let $G$ be a group of automorphisms acting on $X$, and let $g_0$ be the genus of the quotient $Y:=X/G$. The natural projection $X \to Y$ is branched at $r$ points in $Y$, and the corresponding generators of the monodromy group have orders $m_1$, $m_2$, $\ldots$, $m_r$; the sequence of integers $[g_0; m_1, \ldots, m_r]$ is called the signature of the group action.
// The label for the family of higher genus curves with a group $G \simeq$ SmallGroup$(n,d)$ acting on it with signature $[g_0; m_1, \ldots, m_r]$ is given as
// $$g.n\text{-}d.g_0.m_1\text{-}m_2\text{-} \cdots \text{-}m_r$$
// For example, the genus 3 Hurwitz curve with automorphism group PSL$(2,7) \simeq $SmallGroup$(168,42)$ and signature $[0;2,3,7]$ is labeled:
// $$\text{5.168-42.0.2-3-7}$$
// There may be several inequivalent actions described by that label, though. We also distinguish the actions by which conjugacy classes in $G$ the monodromy generators are from, creating passport labels. For our previous example
// $$\text{5.168-42.0.2-3-7.1} \text{ and } \text{5.168-42.0.2-3-7.2}$$
// represent the two distinct actions of PSL$(2,7)$ as a Hurwitz group on a genus $3$ curve up to refined passports.
// The suffixes $1$ and $2$ are ordinals that are assigned by lexicographically ordering the sequence of conjugacy class identifiers associated to a refined passport.
// In order to explicitly identify elements of $G$ listed in generating vectors for a given refined passport (and elsewhere), we choose a particular permutation representation of $G$ as a subgroup of $S_{|G|}$, the symmetric group on $|G|$ elements (this choice depends only on the isomorphism class of $G$ and is the same for all $G$ with the same group identifier).
// Genus --
// The **genus** of a smooth projective geometrically integral curve $C$ defined over a field $k$ is the dimension of the $k$-vector space of regular differentials $H^0(C, \omega_C)$. When $k=\C$ this coincides with the topological genus of the corresponding Riemann surface.
// The quantity defined above is sometimes also called the **algebraic genus** or the **geometric genus** of $C$. Because of our assumption on the smoothness of $C$, it coincides with the **arithmetic genus** $H^1(C,\mathcal{O}_C)$.
// Group --
// The computer algebra systems GAP and Magma both include a database of small groups that includes all groups of order up to 2000, except for groups of order 1024. Groups in this database are identified by an ordered pair $[n,d]$ where $n$ is the order of the group and $d$ is a positive integer that distinguishes the group from others of the same order (the value of $d$ is the same in both GAP and Magma).
// In both systems, the command "SmallGroup($n$,$d$)" will return an explicit representation of the group in terms of generators and relations.
// Magma also associates a descriptive name to each small group. For example, the command "GroupName(SmallGroup(24,3))" returns the string "SL(2,3)".
//Group order (group_order) --
// The **order** of a group is its cardinality as a set.
//Dimension (dim) --
// Given a group of automorphisms $G$ acting on a curve $X/\C$ of genus $g$, with signature $[g_0;m_1, \ldots, m_r]$, the **dimension** of the family of curves with this signature is $3g_0+r-3$, where $r$ is the number of branch points of the map $X \to X/G$ and $g_0$ is the quotient genus.
// Signature --
// Let $G$ be a group of automorphisms acting on a curve $X/\C$ of genus at least $2$, let $g_0$ be the genus of the quotient $Y:=X/G$, and let $B$ be the set of branch points of the projection $\phi\colon X\to Y$. For each standard generator for $\pi_1(Y-B,y_0)$ corresponding to the elements of $B=\{y_1,\ldots,y_r\}$ and a fixed pre-image of $y_0$, there is a lift of that loop to a path in $X - \phi^{-1}(B)$ starting at the particular pre-image of $y_0$. The lifted path ends at some (possibly different) pre-image of $y_0$. Varying the particular pre-images of $y_0$ and then recording the end point corresponding to that starting point induces a permutation on those pre-images.
// We define $m_1 \leq m_2 \leq \ldots \leq m_r$ to be the orders of the permutations described above, one for each of the $r$ standard generators.
// The sequence of integers $[g_0; m_1, \ldots, m_r]$ is the **signature** of the group action.