Submit a curve
Found a genus 2 curve over ℚ whose Jacobian has a torsion subgroup that is not yet in the census — for geometrically simple Jacobians, for Jacobians split over ℚ, or for Jacobians that are simple over ℚ but split over ℚ̄? Or a smaller-conductor example of a known group? Submit it here. Every submission is re-verified with Magma on the Mordell workstation: the torsion subgroup is computed exactly, the Jacobian is certified geometrically simple or split (see below), and the curve is added to the census with its certificate and log.
What is accepted. A curve enters the census if its torsion group is new for its class (geometrically simple / split over ℚ / simple over ℚ but split over ℚ̄), or if its conductor is strictly smaller than that of every census curve with the same group and class. Curves isomorphic over ℚ to a census curve are duplicates and rejected; so is a curve of a known group whose conductor Magma cannot compute within the time limit (it cannot be compared). Earliest-known historical examples of a group, which usually have a larger conductor, are added by the curators — open an issue with the reference.
0. Run the preparation script on your machine (recommended)
pipeline/magma/prepare_submission.m
computes, with your own Magma (V2.28-9 or later), everything the verifier needs: the torsion subgroup with its generators in Mumford representation
⟨a(x), b(x), d⟩ on the even model y² = 4f + h², the point-count bound, a strict prime or the split signature,
the conductor, and it prints the submission as JSON:
magma -b f:="x^5 - 8*x^4 + 16*x^3 - x" h:="x" pipeline/magma/prepare_submission.m
Paste the generators into the form (or the whole JSON into a bulk submission). When the order of the group they generate equals the gcd of #J(𝔽p) over good primes — the case for about 60% of the census curves — Mordell certifies the torsion from the generators alone, without running Stoll's algorithm; otherwise it runs it, so nothing is lost by supplying them. The script is not required: the verifier recomputes everything anyway.
1. Fill in the form
Submissions are GitHub issues created from a form (a free GitHub account is all you need):
You give the curve as y² + h(x)y = f(x) with f, h ∈ ℚ[x], deg f ≤ 6,
deg h ≤ 3 (leave h empty for y² = f(x)), either as polynomials in x
(Magma/Sage style, e.g. x^5 - 8*x^4 + 16*x^3 - x) or as coefficient lists in ascending degree (the LMFDB convention, e.g.
[[0,-1,0,16,-8,1],[0,1]]). Only digits, x, + - * / ^ ( ) and spaces are allowed — nothing else is ever evaluated.
Then the torsion group you expect as invariant factors, e.g. [2,2,12], and whether you believe the Jacobian is geometrically simple or split.
Please say who found the curve and where it is published (or "new"); these are shown in the tables.
Optionally give the generators of the torsion subgroup (as printed by the script above) as a JSON list of Mumford triples
[["a(x)", "b(x)", d], …] on the even model y² = 4f + h²; they must be independent torsion points, or the
submission is rejected.
2. What happens next
- The issue is labelled
submissionand waits in the queue (the home page shows how many are waiting). - Periodically the queue is pulled to Mordell. Magma checks that the model is a smooth genus 2 curve and computes the gcd of
#J(𝔽p) over good primes, a bound for #J(ℚ)tors. If you gave generators that are independent
torsion points generating a group of that order, the torsion subgroup is certified; otherwise it is computed exactly (Stoll's algorithm,
TorsionSubgroup). If your group differs from the computed one, the curve is recorded with the computed group. - The class is certified: geometrically simple by a good prime whose Frobenius polynomial is irreducible with no degree drop of πⁿ for n ≤ 12; split over ℚ by an extra involution over ℚ, by a chain of at most two Richelot (2,2)-isogenies over ℚ reaching a product of elliptic curves, or by a map to an elliptic curve over ℚ that you supply; geometrically split likewise over a quadratic field, or by more than one involution in the geometric automorphism group; and simple over ℚ by an irreducible Frobenius polynomial. If none of the automatic certificates applies, the curve is still listed, as verified · class not certified, with the Frobenius evidence.
- The reduced minimal model and the conductor are computed when the discriminant can be factored quickly; the curve is linked to the LMFDB when it is there.
- The acceptance rule above is applied (new group for the class, or smaller conductor). The result is posted as a comment on the issue, the issue is closed, and an accepted curve appears on this site with its certificate and Magma log. If a submission is rejected because of a data problem, just fix it and submit again.
Supplying a splitness certificate
Jacobians that split only through an isogeny of odd degree, or over a field of degree > 2, are not found by the automatic
Richelot search. You can then supply an explicit nonconstant map (x, y) ↦ (p(x)/q(x), y·hh(x)/q(x)²) from the even model
y² = g(x), g = 4f + h², to a genus 1 curve v² = e₃u³ + e₂u² + e₁u + e₀ over
ℚ (give the elliptic curve by its Cremona label, or the cubic) or over a number field ℚ(w) given by a
polynomial in X; the verifier checks the identity (e₃p³ + e₂p²q + e₁pq² + e₀q³)·q = g·hh² and that the map is
nonconstant. In the form, paste it as JSON in the "splitness certificate" field:
{"cremona": "19a1", "p": [-84, 684, -276, 192], "q": [-4, 0, -5, 1], "hh": [4104, -4104, 0, 2052]}
{"field": "X^2 - 32246250*X + 2573441015625", "cubic": ["4", "0", "-(w)", "-(1/52*(113515*w - 9308159375))"],
"p": ["1/92625*(2*w+4803750)", "..."], "q": ["0", "0", "..."], "hh": ["0", "..."]}
Coefficient lists are in ascending degree; elements of the field are polynomials in w, a root of the field polynomial.
(The first example is the [9] curve of Table 2 of the paper, which covers the elliptic curve 19a1.)
Bulk submissions
For many curves at once, open a pull request adding files to submissions/inbox/ of the
repository, one JSON file per curve:
{
"schema": "genus-2-torsion/submission/1",
"f": "x^5 - 8*x^4 + 16*x^3 - x",
"h": "x",
"group": [2, 4],
"class": "simple",
"submitter": "Your Name", "affiliation": "Your institution", "github": "your-handle",
"discoverer": "J. Doe", "year": 2026,
"reference": "arXiv:XXXX.XXXXX, Theorem 3",
"notes": "anything the curators should know",
"generators": [["x", "0", 1], ["x^2 - 4*x + 1", "x", 2]],
"cover": null
}
Instead of "f" and "h" you may give "coeffs": [[f],[h]]. "class" is "simple",
"split" or empty; "generators" and "cover" are optional. The example values are the [2,4] curve
997.a.997.1 (already in the census, so this exact submission would be rejected as a duplicate). Curators may add "historical": true
with a "year" to record the earliest known example of a group regardless of its conductor.
Families
A proof that a group occurs for infinitely many Jacobians (a family) cannot be verified automatically. Open an issue with the reference or the equations, and it will be added to the ∞? column by hand, with the source; see about for what is required.