reu-2011-06-20

339 days ago by WilliamStein

EllipticCurve? # tab key 
       
<function EllipticCurve at 0x2824758>
<function EllipticCurve at 0x2824758>

We want to make the curve   [1,a+1,a,a,0] 

y^2 + xy + ay = x^3 + (a+1)x^2 + ax

K.<sqrt5> = QuadraticField(5) K 
       
Number Field in sqrt5 with defining polynomial x^2 - 5
Number Field in sqrt5 with defining polynomial x^2 - 5
sqrt5^2 
       
5
5
sqrt5.charpoly() 
       
x^2 - 5
x^2 - 5
a = (1+sqrt5)/2; a 
       
1/2*sqrt5 + 1/2
1/2*sqrt5 + 1/2
a.charpoly() 
       
x^2 - x - 1
x^2 - x - 1
K.ring_of_integers().basis() 
       
[1/2*sqrt5 + 1/2, sqrt5]
[1/2*sqrt5 + 1/2, sqrt5]

The following is much better:

x = var('x') K.<a> = NumberField(x^2 - x -1) K 
       
Number Field in a with defining polynomial x^2 - x - 1
Number Field in a with defining polynomial x^2 - x - 1
a.charpoly() 
       
x^2 - x - 1
x^2 - x - 1
K.ring_of_integers().basis() 
       
[1, a]
[1, a]
K.disc() 
       
5
5
E = EllipticCurve([a-10,a+5,a^2,a+1,a]); E 
       
Elliptic Curve defined by y^2 + (a-10)*x*y + (a+1)*y = x^3 + (a+5)*x^2 +
(a+1)*x + a over Number Field in a with defining polynomial x^2 - x - 1
Elliptic Curve defined by y^2 + (a-10)*x*y + (a+1)*y = x^3 + (a+5)*x^2 + (a+1)*x + a over Number Field in a with defining polynomial x^2 - x - 1
E = EllipticCurve([1,a+1,a,a,0]); E 
       
Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over
Number Field in a with defining polynomial x^2 - x - 1
Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in a with defining polynomial x^2 - x - 1
embs = K.embeddings(RR); embs 
       
[
Ring morphism:
  From: Number Field in a with defining polynomial x^2 - x - 1
  To:   Real Field with 53 bits of precision
  Defn: a |--> -0.618033988749895,
Ring morphism:
  From: Number Field in a with defining polynomial x^2 - x - 1
  To:   Real Field with 53 bits of precision
  Defn: a |--> 1.61803398874989
]
[
Ring morphism:
  From: Number Field in a with defining polynomial x^2 - x - 1
  To:   Real Field with 53 bits of precision
  Defn: a |--> -0.618033988749895,
Ring morphism:
  From: Number Field in a with defining polynomial x^2 - x - 1
  To:   Real Field with 53 bits of precision
  Defn: a |--> 1.61803398874989
]
E.period_lattice(embs[0]).basis() 
       
(3.05217315335726, 2.39884476932372*I)
(3.05217315335726, 2.39884476932372*I)
E.period_lattice(embs[1]).basis() 
       
(8.43805988789973, 4.21902994394986 + 1.57216678613265*I)
(8.43805988789973, 4.21902994394986 + 1.57216678613265*I)
 
       
N = E.conductor(); N 
       
Fractional ideal (136346*a - 1000438)
Fractional ideal (136346*a - 1000438)
N.gens_reduced()[0].norm().factor() 
       
2^2 * 5 * 41 * 1031561269
2^2 * 5 * 41 * 1031561269
E = EllipticCurve([1,a+1,a,a,0]); E 
       
Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over
Number Field in a with defining polynomial x^2 - x - 1
Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in a with defining polynomial x^2 - x - 1
for p in primes(30): for P in K.primes_above(p): print p, P, E.change_ring(P.residue_field()).cardinality() 
       
2 Fractional ideal (2) 8
3 Fractional ideal (3) 8
5 Fractional ideal (2*a - 1) 8
7 Fractional ideal (7) 48
11 Fractional ideal (3*a - 2) 8
11 Fractional ideal (3*a - 1) 16
13 Fractional ideal (13) 176
17 Fractional ideal (17) 320
19 Fractional ideal (-4*a + 1) 16
19 Fractional ideal (-4*a + 3) 24
23 Fractional ideal (23) 520
29 Fractional ideal (-a + 6) 32
29 Fractional ideal (a + 5) 32
2 Fractional ideal (2) 8
3 Fractional ideal (3) 8
5 Fractional ideal (2*a - 1) 8
7 Fractional ideal (7) 48
11 Fractional ideal (3*a - 2) 8
11 Fractional ideal (3*a - 1) 16
13 Fractional ideal (13) 176
17 Fractional ideal (17) 320
19 Fractional ideal (-4*a + 1) 16
19 Fractional ideal (-4*a + 3) 24
23 Fractional ideal (23) 520
29 Fractional ideal (-a + 6) 32
29 Fractional ideal (a + 5) 32
for p in primes(30): for P in K.primes_above(p): print p, p%5, P.gens_reduced()[0] 
       
2 2 2
3 3 3
5 0 2*a - 1
7 2 7
11 1 3*a - 2
11 1 3*a - 1
13 3 13
17 2 17
19 4 -4*a + 1
19 4 -4*a + 3
23 3 23
29 4 -a + 6
29 4 a + 5
2 2 2
3 3 3
5 0 2*a - 1
7 2 7
11 1 3*a - 2
11 1 3*a - 1
13 3 13
17 2 17
19 4 -4*a + 1
19 4 -4*a + 3
23 3 23
29 4 -a + 6
29 4 a + 5
a^10 
       
55*a + 34
55*a + 34
K.unit_group() 
       
Unit group with structure C2 x Z of Number Field in a with defining
polynomial x^2 - x - 1
Unit group with structure C2 x Z of Number Field in a with defining polynomial x^2 - x - 1
 
       
 
       
 
       
E. # tab key 
       
show(E) 
       
\newcommand{\Bold}[1]{\mathbf{#1}}y^2 + xy + ay = x^3 + \left(a + 1\right)x^2 + ax
\newcommand{\Bold}[1]{\mathbf{#1}}y^2 + xy + ay = x^3 + \left(a + 1\right)x^2 + ax
N = E.conductor(); N 
       
Fractional ideal (5*a - 2)
Fractional ideal (5*a - 2)
alpha = N.gens_reduced()[0]; alpha 
       
5*a - 2
5*a - 2
alpha.norm() 
       
-31
-31
E.torsion_order() 
       
8
8
E.torsion_subgroup() 
       
Torsion Subgroup isomorphic to Z/8 associated to the Elliptic Curve
defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in
a with defining polynomial x^2 - x - 1
Torsion Subgroup isomorphic to Z/8 associated to the Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in a with defining polynomial x^2 - x - 1
T = E.torsion_subgroup(); T 
       
Torsion Subgroup isomorphic to Z/8 associated to the Elliptic Curve
defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in
a with defining polynomial x^2 - x - 1
Torsion Subgroup isomorphic to Z/8 associated to the Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in a with defining polynomial x^2 - x - 1
T.invariants() 
       
(8,)
(8,)
E.simon_two_descent() 
       
(0, 1, [(-1 : -a + 1 : 1), (-a : 0 : 1)])
(0, 1, [(-1 : -a + 1 : 1), (-a : 0 : 1)])
E.weierstrass_p() 
       
z^-2 + (-1/15*a + 41/240)*z^2 + (11/756*a - 71/2016)*z^4 + (-11/1800*a +
1937/172800)*z^6 + (701/665280*a - 10141/5322240)*z^8 +
(-2046617/7429968000*a + 55752283/118879488000)*z^10 + (491/9331200*a -
168503/1916006400)*z^12 + (-41659883/3705077376000*a +
202725889/10944228556800)*z^14 + (80822718331/37566869243904000*a -
211495332211/60106990790246400)*z^16 + (-1210100233/2824576634880000*a +
29471537968363/42255666457804800000)*z^18 + O(z^20)
z^-2 + (-1/15*a + 41/240)*z^2 + (11/756*a - 71/2016)*z^4 + (-11/1800*a + 1937/172800)*z^6 + (701/665280*a - 10141/5322240)*z^8 + (-2046617/7429968000*a + 55752283/118879488000)*z^10 + (491/9331200*a - 168503/1916006400)*z^12 + (-41659883/3705077376000*a + 202725889/10944228556800)*z^14 + (80822718331/37566869243904000*a - 211495332211/60106990790246400)*z^16 + (-1210100233/2824576634880000*a + 29471537968363/42255666457804800000)*z^18 + O(z^20)
E.discriminant().factor() 
       
(3*a - 5) * (5*a - 2)
(3*a - 5) * (5*a - 2)
(3*a-5).norm() 
       
1
1
j = E.j_invariant(); j 
       
-106208/31*a + 51455/31
-106208/31*a + 51455/31
j.denominator() 
       
31
31
j.denominator_ideal() 
       
Fractional ideal (5*a - 2)
Fractional ideal (5*a - 2)
v = K.primes_above(31); v 
       
[Fractional ideal (5*a - 2), Fractional ideal (5*a - 3)]
[Fractional ideal (5*a - 2), Fractional ideal (5*a - 3)]
E.kodaira_symbol(v[0]) 
       
I1
I1
E = EllipticCurve('11a') 
       
E.Np(3) 
       
5
5
E.Np(7) 
       
10
10
E.Np(13) 
       
10
10
E.Np(17) 
       
20
20
       
Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational
Field
Elliptic Curve defined by y^2 + y = x^3 - x^2 - 10*x - 20 over Rational Field