diff --git a/diophantine_classifier/data/families/genus-two.yaml b/diophantine_classifier/data/families/genus-two.yaml new file mode 100644 index 0000000..54ef333 --- /dev/null +++ b/diophantine_classifier/data/families/genus-two.yaml @@ -0,0 +1,27 @@ +# Family: Genus 2 curve +# Schema: see data/families/README.md; prose documentation in docs/FAMILIES.md. +# References are keys into data/references.bib, each with a 'why' annotation. +slug: genus-two +name: Genus 2 curve +priority: 1 +status: effective +class: curve +form: y^2 = f(x), deg f in {5, 6} +parents: +- hyperelliptic +matcher: true +lmfdb: g2c.q +methods: +- Igusa invariants for identification +- Chabauty machinery +software: + magma: full pipeline (Jacobian, RankBound, Chabauty) + sage: HyperellipticCurve; igusa_clebsch_invariants +examples: +- y^2 = x^5 - x + 1 +references: +- key: Igusa1960 + why: the invariants identifying a genus-2 curve up to isomorphism (the classifier's + genus-2 handle) +- key: CasselsFlynn1996 + why: explicit arithmetic of genus-2 Jacobians diff --git a/docs/FAMILIES.md b/docs/FAMILIES.md index 86434cf..c3bc567 100644 --- a/docs/FAMILIES.md +++ b/docs/FAMILIES.md @@ -189,6 +189,15 @@ PARI: `hyperellratpoints`. **References.** Baker 1969; Faltings 1983; Chabauty 1941, Coleman 1985; McCallum–Poonen survey 2012; Balakrishnan–Dogra–Müller–Tuitman–Vonk 2019. +### `genus-two` — Genus 2 curves — P1, as above with rich tooling +**Form.** y² = f(x), deg f ∈ {5, 6}. +**Status.** The best-supported genus ≥ 2 case: Igusa invariants identify the curve +up to ℚ̄-isomorphism (the classifier's identification handle in genus 2, per the +Library design), BSD-style databases exist (LMFDB), Chabauty machinery mature. +**Software.** Magma: full pipeline (`Jacobian`, `RankBound`, `Chabauty`); +Sage: `HyperellipticCurve`, `igusa_clebsch_invariants`; LMFDB genus 2 database. +**References.** Igusa 1960; Cassels–Flynn; Stoll's surveys. + ### `superelliptic` — Superelliptic curves — P1, effective (integral) **Form.** yᵐ = f(x), m ≥ 2, deg f ≥ 2 (genus ≥ 1 cases). **Status.** Integral points finite and effective (Baker); reduction to Thue diff --git a/tests/test_classify.py b/tests/test_classify.py index e3d6386..1e62d03 100644 --- a/tests/test_classify.py +++ b/tests/test_classify.py @@ -27,6 +27,7 @@ # higher-genus curves and binary forms ("x^3 + 2*y^3 = 11", "", "thue"), ("x^4 - 2*y^4 = 1", "", "thue"), + ("y^2 = x^5 - x + 1", "", "genus-two"), ("y^2 = x^7 + 3", "", "hyperelliptic"), ("y^3 = x^4 + 2", "", "superelliptic"), ("x^3*y + y^3*z + z^3*x = 0", "", "general-curve"), # Klein quartic