Curves1LeVeque

338 days ago by Ben.LeVeque

x=var('x') K.<a>=NumberField(x^2-x-1);K embs=K.embeddings(RR);embs[0] embs[0](a) 
       
-0.618033988749895
-0.618033988749895
C=EllipticCurve([1,-a+1,1,-a,0]) c=C.discriminant() embs[0](c) 
       
-0.575461516245483
-0.575461516245483
A=EllipticCurve(K,[1,1,1,0,0]) print 'ord_(j): ', A.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', A.tamagawa_numbers() pa=K.prime_above(45) print 'kodaira symbol: ', A.kodaira_symbol(pa) 
       
ord_(j):  3 * 5
Tamagawa Numbers:  [1, 2]
kodaira symbol:  I2
ord_(j):  3 * 5
Tamagawa Numbers:  [1, 2]
kodaira symbol:  I2
B=EllipticCurve(K,[0,a,1,1,0]) print '|T|: ', B.torsion_order() print 's ord(disc): ', B.discriminant().factor() print 'ord_(j): ', B.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', B.tamagawa_numbers() pb=K.prime_above(49) print 'kodaira symbol: ', B.kodaira_symbol(pb) 
       
|T|:  5
s ord(disc):  (8*a - 13) * 7
ord_(j):  7
Tamagawa Numbers:  [1]
kodaira symbol:  I1
|T|:  5
s ord(disc):  (8*a - 13) * 7
ord_(j):  7
Tamagawa Numbers:  [1]
kodaira symbol:  I1
b=B.discriminant() embs[0](b) 
       
-125.609903369994
-125.609903369994
C=EllipticCurve(K,[1,-a+1,1,-a,0]) print '|T|: ', C.torsion_order() print 's ord(disc): ', C.discriminant().factor() print 'ord_(j): ', C.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', C.tamagawa_numbers() pc=K.prime_above(55) print 'kodaira symbol: ', B.kodaira_symbol(pc) 
       
|T|:  6
s ord(disc):  (5*a + 3) * (3*a - 1) * (2*a - 1)
ord_(j):  5 * 11
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I0
|T|:  6
s ord(disc):  (5*a + 3) * (3*a - 1) * (2*a - 1)
ord_(j):  5 * 11
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I0
c=C.discriminant() embs[0](c) 
       
-0.575461516245483
-0.575461516245483
D=EllipticCurve(K,[1,a,1,a-1,0]) print '|T|: ', D.torsion_order() print 's ord(disc): ', D.discriminant().factor() print 'ord_(j): ', D.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', D.tamagawa_numbers() pd=K.prime_above(55) print 'kodaira symbol: ', D.kodaira_symbol(pd) 
       
|T|:  6
s ord(disc):  (-5*a + 8) * (3*a - 2) * (2*a - 1)
ord_(j):  5 * 11
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
|T|:  6
s ord(disc):  (-5*a + 8) * (3*a - 2) * (2*a - 1)
ord_(j):  5 * 11
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
d=D.discriminant() embs[1](d) 
       
-0.575461516245483
-0.575461516245483
E=EllipticCurve([0,a-1,0,-a,0]) e=E.discriminant() embs[1](e) 
       
287.108350559987
287.108350559987
E=EllipticCurve(K,[0,a-1,0,-a,0]) print '|T|: ', E.torsion_order() print 's ord(disc): ', E.discriminant().factor() print 'ord_(j): ', E.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', E.tamagawa_numbers() pb=K.prime_above(64) print 'kodaira symbol: ', E.kodaira_symbol(pb) 
       
|T|:  8
s ord(disc):  (8*a + 5) * 2^4
ord_(j):  1
Tamagawa Numbers:  [2]
kodaira symbol:  III
|T|:  8
s ord(disc):  (8*a + 5) * 2^4
ord_(j):  1
Tamagawa Numbers:  [2]
kodaira symbol:  III
type(E.discriminant().factor()[0][0]) norm(8*a+5) 
       
1
1
e=E.discriminant() embs[1](e) 
       
287.108350559987
287.108350559987
F=EllipticCurve(K,[1,a,1,1,0]) print '|T|: ', F.torsion_order() print 's ord(disc): ', F.discriminant().factor() print 'ord_(j): ', F.j_invariant().denominator().factor() print 'Tamagawa Numbers: ', F.tamagawa_numbers() pb=K.prime_above(71) print 'kodaira symbol: ', F.kodaira_symbol(pb) 
       
|T|:  1
s ord(disc):  (-2*a + 3) * (67*a - 24)
ord_(j):  5521
Tamagawa Numbers:  [1]
kodaira symbol:  I0
|T|:  1
s ord(disc):  (-2*a + 3) * (67*a - 24)
ord_(j):  5521
Tamagawa Numbers:  [1]
kodaira symbol:  I0
F=EllipticCurve(K,[a,a+1,a,a,0]) 
       
norm(67*a-24) 
       
-5521
-5521
norm(8*a+5) 
       
1
1
 
       
 
       

Elliptic Curve Data:

x=var('x') K.<a>=NumberField(x^2-x-1) 
       
A=EllipticCurve(K,[1,1,1,0,0]) B=EllipticCurve(K,[0,a,1,1,0]) C=EllipticCurve(K,[1,-a+1,1,-a,0]) D=EllipticCurve(K,[1,a,1,a-1,0]) E=EllipticCurve(K,[0,a-1,0,-a,0]) F=EllipticCurve(K,[1,a,1,1,0]) 
       
def InvariantCalculator(K,EL): N=EL.conductor() embs=K.embeddings(RR) print 'a invariants: ', EL.a_invariants() print '|T|: ', EL.torsion_order() for m in embs: e=m(EL.discriminant()) if e != abs(e): print 's: -' else: print 's: +' fac=K(EL.discriminant()).factor() h=0 k=[] for j in fac: k.append(fac[h][1]) h+=1 print 'ord(disc): ', k i=0 l=[] denfac=K(EL.j_invariant().denominator_ideal().gens_reduced()[0]).factor() for j in denfac: l.append(denfac[i][1]) i+=1 print 'ord_(j): ', l print 'Tamagawa Numbers: ', EL.tamagawa_numbers() pe=K.primes_above(N) n=0 for i in pe: print 'kodaira symbol: ', EL.kodaira_symbol(pe[n]) n+=1 
       
for i in [A,B,C,D,E,F]: print '----------------------' InvariantCalculator(K,i) print '----------------------' 
       
----------------------
a invariants:  (1, 1, 1, 0, 0)
|T|:  8
s: -
s: -
ord(disc):  [1, 2]
ord_(j):  [1, 2]
Tamagawa Numbers:  [1, 2]
kodaira symbol:  I2
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (0, a, 1, 1, 0)
|T|:  5
s: -
s: -
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (1, -a + 1, 1, -a, 0)
|T|:  6
s: -
s: +
ord(disc):  [1, 1]
ord_(j):  [1, 1]
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (1, a, 1, a - 1, 0)
|T|:  6
s: +
s: -
ord(disc):  [1, 1]
ord_(j):  [1, 1]
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (0, a - 1, 0, -a, 0)
|T|:  8
s: +
s: +
ord(disc):  [4]
ord_(j):  []
Tamagawa Numbers:  [2]
kodaira symbol:  III
----------------------
----------------------
a invariants:  (1, a, 1, 1, 0)
|T|:  1
s: -
s: -
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (1, 1, 1, 0, 0)
|T|:  8
s: -
s: -
ord(disc):  [1, 2]
ord_(j):  [1, 2]
Tamagawa Numbers:  [1, 2]
kodaira symbol:  I2
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (0, a, 1, 1, 0)
|T|:  5
s: -
s: -
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (1, -a + 1, 1, -a, 0)
|T|:  6
s: -
s: +
ord(disc):  [1, 1]
ord_(j):  [1, 1]
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (1, a, 1, a - 1, 0)
|T|:  6
s: +
s: -
ord(disc):  [1, 1]
ord_(j):  [1, 1]
Tamagawa Numbers:  [1, 1]
kodaira symbol:  I1
kodaira symbol:  I1
----------------------
----------------------
a invariants:  (0, a - 1, 0, -a, 0)
|T|:  8
s: +
s: +
ord(disc):  [4]
ord_(j):  []
Tamagawa Numbers:  [2]
kodaira symbol:  III
----------------------
----------------------
a invariants:  (1, a, 1, 1, 0)
|T|:  1
s: -
s: -
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
----------------------
 
       
 
       
 
       
 
       
for i in [[A,A.conductor()],[B,B.conductor()],[C,C.conductor()],[D,D.conductor()],[E,E.conductor()],[F,F.conductor()]]: print '----------------------' InvariantCalculator(K,i[0],i[1]) print '----------------------' 
       
D=EllipticCurve(K,[1,a,1,a-1,0]) print K(D.j_invariant().denominator()).factor() print K(D.discriminant()).factor() 
       
(3*a - 2) * (3*a - 1) * (2*a - 1)^2
(-5*a + 8) * (3*a - 2) * (2*a - 1)
(3*a - 2) * (3*a - 1) * (2*a - 1)^2
(-5*a + 8) * (3*a - 2) * (2*a - 1)
A.j_invariant().denominator().factor()[0] 
       
(3, 1)
(3, 1)
d=K(D.j_invariant().denominator()).factor();d 
       
(3*a - 2) * (3*a - 1) * (2*a - 1)^2
(3*a - 2) * (3*a - 1) * (2*a - 1)^2
K(11).factor() 
       
(3*a - 2) * (3*a - 1)
(3*a - 2) * (3*a - 1)
e=K(D.discriminant()).factor();e 
       
(-5*a + 8) * (3*a - 2) * (2*a - 1)
(-5*a + 8) * (3*a - 2) * (2*a - 1)
norm(-5*a+8) 
       
-1
-1

A: ord(disc) = (1, 2) for primes 3, 2a-1

    ord_(j) = (1,2) for primes 3, sqrt(5)