# Higher genus curve downloaded from the LMFDB on 11 December 2023.
# Search link: https://www.lmfdb.org/HigherGenus/C/Aut/
# Query "{'genus': 3, 'cyclic_trigonal': True, 'cc.1': 1}" returned 14 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 := [
["3.3-1.0.3-3-3-3-3.2", 3, "[3,1]", 3, 2, "[0,3,3,3,3,3]"],
["3.3-1.0.3-3-3-3-3.1", 3, "[3,1]", 3, 2, "[0,3,3,3,3,3]"],
["3.6-2.0.2-3-3-6.1", 3, "[6,2]", 6, 1, "[0,2,3,3,6]"],
["3.6-2.0.2-3-3-6.2", 3, "[6,2]", 6, 1, "[0,2,3,3,6]"],
["3.9-1.0.3-9-9.4", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.9-1.0.3-9-9.5", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.9-1.0.3-9-9.6", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.9-1.0.3-9-9.1", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.9-1.0.3-9-9.3", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.9-1.0.3-9-9.2", 3, "[9,1]", 9, 0, "[0,3,9,9]"],
["3.48-33.0.2-3-12.3", 3, "[48,33]", 48, 0, "[0,2,3,12]"],
["3.48-33.0.2-3-12.2", 3, "[48,33]", 48, 0, "[0,2,3,12]"],
["3.48-33.0.2-3-12.1", 3, "[48,33]", 48, 0, "[0,2,3,12]"],
["3.48-33.0.2-3-12.4", 3, "[48,33]", 48, 0, "[0,2,3,12]"]
];
create_record := function(row)
local out, gens, G;
out := rec(passport_label:=row[1],genus:=row[2],group:=row[3],group_order:=row[4],dim:=row[5],signature:=row[6]);
return out;
end;
make_data := function()
return List(data, create_record);
end;
#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.