Search by Igusa invariants [Jβ, Jβ, Jβ, Jββ] or by canonical key. The system auto-detects the format. Click an example to try:
-912, 61956, -13777884, 12393056
J= -1384, 91744, -33761728, 35436544
All .pth imports recorded here. To import new files, run:
docker compose exec app python import_curves.py /imports/yourfile.pth
This is a searchable database of rational points in the moduli space Mβ of genus 2 curves over Q, based on the datasets described in Beshaj et al. (2019) and Aurand, Siadat & Shaska (2025). Each point is identified by its Igusa invariants [Jβ, Jβ, Jβ, Jββ], which uniquely determine the isomorphism class of the curve.
Each entry is stored with the following fields, imported directly from the source data files without server-side computation:
| Canonical key | Jβ_Jβ_Jβ_Jββ β the primary identifier for each curve. Underscore-joined Igusa invariants. |
| Ig | Igusa invariants [Jβ, Jβ, Jβ, Jββ] β the SLβ-invariants of the binary sextic. |
| aH | Absolute Height β a real-valued arithmetic height used for ordering and range searches. |
| Aut | Automorphism group β e.g. [2, 1]. |
| L | Lβ locus membership (True/False). |
| S | Lβ locus membership (True/False). |
There are several ways to find a curve:
Enter 4 Igusa invariants like -912, 61956, -13777884, 12393056
or prefix with J= to be explicit, e.g.
J= -912, 61956, -13777884, 12393056.
Finds curves by their [Jβ, Jβ, Jβ, Jββ] values.
Page through all curves ordered by Absolute Height, or filter by height range, Aut group, Lβ/Lβ locus membership, and Igusa invariant ranges.
Summary tiles, height distribution histogram, locus membership and automorphism group breakdown charts for the entire dataset.
Export current browse/search results to CSV or LaTeX table format for use in publications and further analysis.
The moduli space Mβ of genus 2 curves over Q is a three-dimensional arithmetic variety. A genus 2 curve is given by yΒ² = f(x), where f is a binary sextic with coefficients [aβ, β¦, aβ]. The SLβ-invariants of this sextic are the Igusa invariants Jβ, Jβ, Jβ, Jββ, computed via the Clebsch invariants (A, B, C, D) using transvectant algebra. The Igusa invariants uniquely determine the isomorphism class of the curve.
[1] L. Beshaj et al. Rational Points in the Moduli Space of Genus Two. 2019.
[2] A. Aurand, M. Siadat, T. Shaska. A Self-Populating Database and API for Rational Points in the Moduli Space of Genus Two Curves. 2025.
Use this key to access the curve database from Python, Sage, curl, or any HTTP client. See the full API documentation for endpoints and examples.
pip install requests # or: pip install curvedb
from curvedb import CurveDB
db = CurveDB("YOUR_KEY")
# Lookup by equation
info = db.lookup("x^5 + 3x^3 - 2x^2 + x + 1")
print(info["automorphism_group"])
print(info["in_database"])
# Lookup by coefficients
info = db.lookup(coefficients=[-912, 61956, -13777884, 12393056])
# Browse with filters
for c in db.browse_all(signature="2,1", inv_max=100):
print(c["value"]["coefficients"])
# Lookup a curve
curl "https://data.i-aims.com/api/v1/lookup?curve=x^5+3x^3-2x^2+x+1&api_key=YOUR_KEY"
# Browse
curl "https://data.i-aims.com/api/v1/browse?page=1&per_page=10&api_key=YOUR_KEY"