/************************************************************/
/* Author : Gonzalo Tornaria <mailto:tornaria@math.utexas.edu>
 * Date   : December 2003
 */

/*
 * Data about imaginary quadratic twists for elliptic curves of prime
 * conductor less than 300, and even rank.
 *
 *   [ell, vec, qfs, aut]
 *
 * ell : elliptic curve data, as given in <data_ell.gp>
 * vec : vector of coefficients
 * qfs : vector of ternary quadratic forms [a1,a2,a3,a23,a13,a12]
 * aut : vector of number of automorphisms of forms in qfs
 *
 * For the explicit formula for the central value of the L-series of
 * the (imaginary) quadratic twists, see the file <twist.gp>
 *
 * Based on Gross, 1987 (Heights and the Special Values of L-series)
 *
 * For PARI/GP routines to compute this data, see
 *   <http://www.ma.utexas.edu/~villegas/cnt/cnt.html>
 *
 * TODO: continue up to conductor 20000 (all Cremona data)
 *
 */
{

tw_11A_i = [
 /* ell */ ell_11A,
 /* vec */ [-1,1],
 /* qfs */ [[12,11,4,0,4,0], [15,15,3,-2,-2,-14]],
 /* aut */ [4,6]
 ];


tw_17A_i = [
 /* ell */ ell_17A,
 /* vec */ [-1,1],
 /* qfs */ [[20,11,7,-6,-4,-8], [23,23,3,-2,-2,-22]],
 /* aut */ [2,6]
 ];

tw_19A_i = [
 /* ell */ ell_19A,
 /* vec */ [-1,1],
 /* qfs */ [[23,11,7,-2,-6,-10], [20,19,4,0,4,0]],
 /* aut */ [2,4]
 ];

tw_37B_i = [
 /* ell */ ell_37B,
 /* vec */ [-1,1],
 /* qfs */ [[23,20,15,-4,-14,-8], [39,19,8,4,8,2]],
 /* aut */ [1,2]
 ];

tw_67A_i = [
 /* ell */ ell_67A,
 /* vec */ [-2,1,1],
 /* qfs */ [[39,36,15,-4,-14,-16], [71,19,16,12,16,6], [68,67,4,0,4,0]],
 /* aut */ [1,2,4]
 ];

tw_73A_i = [
 /* ell */ ell_73A,
 /* vec */ [-2,2,-1,1],
 /* qfs */ [[40,39,15,2,8,20], [44,31,20,-12,-4,-28], [84,43,7,-6,-4,-40],
            [80,28,11,8,4,28]],
 /* aut */ [1,1,2,2]
 ];

tw_89B_i = [
 /* ell */ ell_89B,
 /* vec */ [-2,-1,1,1,1,-1,1],
 /* qfs */ [[48,31,23,2,12,16], [103,51,7,-2,-6,-50], [92,31,12,8,12,4],
            [95,24,15,4,2,24], [96,27,15,-14,-8,-20], [95,23,19,-18,-10,-14],
            [119,119,3,-2,-2,-118]],
 /* aut */ [1,2,2,2,2,2,6]
 ];

tw_109A_i = [
 /* ell */ ell_109A,
 /* vec */ [-2,1,1],
 /* qfs */ [[56,39,24,16,12,4], [119,40,11,4,2,40], [119,23,19,-2,-18,-22]],
 /* aut */ [1,2,2]
 ];

tw_113A_i = [
 /* ell */ ell_113A,
 /* vec */ [-2,2,-2,-1,1,1,1],
 /* qfs */ [[59,40,23,8,2,20], [68,47,20,-12,-4,-44], [47,39,35,-6,-34,-10],
            [116,39,12,8,12,4], [119,24,19,4,2,24], [119,24,23,20,10,24],
            [151,151,3,-2,-2,-150]],
 /* aut */ [1,1,1,2,2,2,6]
 ];

tw_139A_i = [
 /* ell */ ell_139A,
 /* vec */ [-2,-1,1,1,1],
 /* qfs */ [[71,47,24,8,12,2], [159,80,7,4,2,80], [152,52,11,8,4,52],
           [139,28,20,4,0,0], [144,31,20,16,20,8]],
 /* aut */ [1,2,2,2,2]
 ];

tw_179A_i = [
 /* ell */ ell_179A,
 /* vec */ [-2,1,1,1,-1,-1,1],
 /* qfs */ [[76,56,39,-12,-20,-52], [191,48,15,4,2,48], [183,47,16,12,16,6],
            [192,51,15,-14,-8,-44], [191,39,19,-10,-14,-34],
            [184,39,20,16,20,8], [180,179,4,0,4,0]],
 /* aut */ [1,2,2,2,2,2,4]
 ];

tw_233A_i = [
 /* ell */ ell_233A,
 /* vec */ [-3,1,1,2,3,-2,2,-6,-1,2,-2,2,1],
 /* qfs */ [[244,39,27,-22,-16,-28], [311,311,3,-2,-2,-310],
           [239,39,24,4,24,2], [87,68,44,-28,-20,-36], [239,43,24,20,24,10],
           [79,59,48,12,16,2], [87,68,47,40,38,36], [119,47,40,8,20,2],
           [255,87,11,-10,-6,-82], [140,95,20,-12,-4,-92],
           [96,80,39,-36,-8,-68], [84,80,35,4,24,28], [236,79,12,8,12,4]],
 /* aut */ [2,6,2,1,2,1,1,1,2,1,1,1,2]
];

/************************************************************/

/* List of available data (rank 0) */

tw_imag = [tw_11A_i, tw_17A_i, tw_19A_i, tw_37B_i, tw_67A_i, tw_73A_i,
           tw_89B_i, tw_109A_i, tw_113A_i, tw_139A_i, tw_179A_i,
           tw_233A_i];

}

/************************************************************/