README FILE FOR GENUS 2 CURVES DATA FILES ========================================= The files in this directory contain data on genus 2 curves with small odd discriminant and small coefficients. All these curves have good reduction mod 2, and one can show that every curve with good reduction mod 2 has a model y^2 + h(x) y = f_0(x) + 2 f(x) , where (h(x), f_0(x)) is some pair in a list of 160 pairs of polynomials with 0-1-coefficients of degrees (<=3, <=6) and f(x) is some polynomial with integral coefficients. The Magma code for producing the lists is given below. curves-with-small-odd-discriminant.txt ====================================== This file contains all curves as above with f with coefficients bounded by 5 in absolute value and discriminant at most 11^4 (obtained by calling FindCurves(5, 11^4)). The curves are sorted (1) by absolute value of the discriminant (2) by their Euler factor at 2 (3) by isomorphism classes. As an example, consider the entry for discriminant 5497: //====================================================================== // disc = 5497 <-- discriminant //====================================================================== // Euler factor at 2 = 4*T^4 + 2*T^3 + T^2 + T + 1 <-- Euler factor //---------------------------------------------------------------------- // Isomorphism Class 1 <-- number of iso. class // y^2 + (x^3 + x + 1)*y = x^3 <-- some small model // y^2 = x^6 + 2*x^4 + 6*x^3 + x^2 + 2*x + 1 <-- a model y^2 = f(x) //---------------------------------------------------------------------- , <-- all models , <-- ... // Isomorphism Class 2 // y^2 + (x^3 + x + 1)*y = -x^5 + x^4 - 5*x^2 + 6*x - 4 // y^2 = x^6 - 4*x^5 + 6*x^4 + 2*x^3 - 19*x^2 + 26*x - 15 //---------------------------------------------------------------------- , , //---------------------------------------------------------------------- // Euler factor at 2 = 4*T^4 - 2*T^3 + T^2 - T + 1 //---------------------------------------------------------------------- // Isomorphism Class 1 // y^2 + (x^3 + x + 1)*y = -x^6 + x^5 + 2*x^4 + 3*x^3 + 3*x^2 + x // y^2 = -3*x^6 + 4*x^5 + 10*x^4 + 14*x^3 + 13*x^2 + 6*x + 1 //---------------------------------------------------------------------- , , , , //---------------------------------------------------------------------- // Euler factor at 2 = 4*T^4 - T^2 + 1 //---------------------------------------------------------------------- // Isomorphism Class 1 // y^2 + (x^2 + x)*y = -x^5 - x^4 + 2*x^3 - x // y^2 = -4*x^5 - 3*x^4 + 10*x^3 + x^2 - 4*x //---------------------------------------------------------------------- , , , , , , , , , small-curves-with-more-info.txt =============================== This file contains the first bunch of curves (up to discriminant 4000), together with additional arithmetic information -- Mordell-Weil rank, torsion subgroup, number of rational points, plus conductor and reduction types (up to disc. 1205; thanks to Qing Liu's genus2reduction program). Magma code for the search ========================= The code is simple and straightforward (maybe apart from the list of (h, f_0) pairs). ------------------------------------------------------------------------ P := PolynomialRing(Rationals()); legalQ := [ , , , , ]; procedure FindCurves(n, b) // n: add -2n, -(2n-2), ..., 0, 2, ..., 2n to the coefficients of f0 // b: upper bound for absolute value of discriminant s := {-2*n..2*n by 2}; for l in legalQ do h := l[1]; h2 := h*h; for f0 in l[2] do for cs0,cs1,cs2,cs3,cs4,cs5,cs6 in s do cs := [cs0,cs1,cs2,cs3,cs4,cs5,cs6]; f := f0 + P!cs; k := h2 + 4*f; d := Discriminant(k); if Degree(k) lt 6 then d *:= LeadingCoefficient(k)^2; end if; d /:= 2^12; if b eq 0 or Abs(d) le b then printf "<%o, %o, %o>\n", h, f, d; end if; end for; end for; end for; end procedure; ----------------------------------------------------------------------- Michael Stoll