Search by Igusa invariants [Jβ, Jβ, Jβ, Jββ] or by moduli point (iβ, iβ, iβ). 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 absolute invariants (iβ, iβ, iβ) as defined in Eq. 11 of [1], which uniquely determine the isomorphism class of the curve when Jβ β 0.
Each entry is stored with the following fields, imported directly from the source data files without server-side computation:
| Key (rk) | The absolute invariants (iβ, iβ, iβ) as a pipe-separated rational string β the unique moduli point identifying this isomorphism class in Mβ(Q). |
| Ig | Igusa invariants [Jβ, Jβ, Jβ, Jββ] β the SLβ-invariants of the binary sextic. |
| Canonical key | Jβ_Jβ_Jβ_Jββ β underscore-joined Igusa invariants, used as a compact identifier. |
| 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 absolute invariants (iβ, iβ, iβ) from Eq. 11 are GLβ-invariants that uniquely determine the isomorphism class when Jβ β 0.
[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"