CurveDataReadIn

328 days ago by Ben.LeVeque

K.<a>=NumberField(x^2-x-1) 
       
def InvariantCalculator(EL): K.<a>=NumberField(x^2-x-1) 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() k=[e for p,e in fac] print 'ord(disc): ', k i=0 l=[] denfac=K(EL.j_invariant().denominator_ideal().gens_reduced()[0]).factor() l=[e for p,e in denfac] print 'ord_(j): ', l print 'Tamagawa Numbers: ', EL.tamagawa_numbers() pe=K.prime_factors(N) n=0 for i in pe: print 'kodaira symbol: ', EL.kodaira_symbol(pe[n]) n+=1 
       
f=open('/Users/bleveque/Sage/matched.txt') 
       
f.readline() 
       
'31      5*a-2       0   -3 2 -2 2 4 -4 4 -4 -2 -2 ? ? -6 -6 12 -4 6 -2
-8 0 0 16 10 -6              [1,a+1,a,a,0]                 8\n'
'31      5*a-2       0   -3 2 -2 2 4 -4 4 -4 -2 -2 ? ? -6 -6 12 -4 6 -2 -8 0 0 16 10 -6              [1,a+1,a,a,0]                 8\n'
K.<a>=NumberField(x^2-x-1) embs=K.embeddings(RR) def grabber(s): return eval('['+s.split('[')[1].split(']')[0]+']') def list_maker(s): s=s[:-1] ret = [s] E = EllipticCurve(K,grabber(s)) T = E.torsion_subgroup() TI = T.invariants() t2 = len([a for a in TI if a%2 == 0]) simon = E.simon_two_descent() ret.append(str(simon[0])) #upperrankbound ret.append(str(simon[1] - t2)) #lowerrankbound D=K(E.discriminant()) t='' for m in embs: e=m(D) if sgn(e)<0: t+='-' else: t+='+' t+=',' ret.append(t[:-1]) #disc signs fac=D.factor() k=[str(e) for p,e in fac] ret.append(','.join(k)) #disc ord denfac = K(E.j_invariant()).denominator_ideal().factor() l=[str(e) for p,e in denfac] ret.append(','.join(l)) #j-ord ret.append(','.join([str(e) for e in E.tamagawa_numbers()])) #tamagawa z = E.conductor().factor() ret.append(','.join([str(E.kodaira_symbol(p)) for p,e in z])) #kodaira return ret def output_string(curr_data): ret = '' for i,s in enumerate(curr_data): ret += s ret += (2+width[i]-len(s))*' ' return ret+'\n' 
       
data=[] for s in f.readlines(): data.append(list_maker(s)) width = [0 for i in range(8)] for cur_data in data: for i,e in enumerate(cur_data): t = len(e) if t > width[i]: width[i] = t g = open('/Users/bleveque/Sage/newdatafile.txt','w') for curr_data in data: g.write(output_string(curr_data)) f.close() g.close() 
       
f=open('/Users/bleveque/Sage/matched.txt','r') 
       
list_maker(f.readline()) 
       
['76      -8*a+2      0   ? 1 -3 -4 -6 3 ? ? -6 3 5 5 6 6 6 -12 8 8 -9 0
-1 -1 9 0                    [a,-a+1,1,-1,0]               9', '0', '0',
'-,-', '1,3', '1,3', '1,3', 'I1,I3']
['76      -8*a+2      0   ? 1 -3 -4 -6 3 ? ? -6 3 5 5 6 6 6 -12 8 8 -9 0 -1 -1 9 0                    [a,-a+1,1,-1,0]               9', '0', '0', '-,-', '1,3', '1,3', '1,3', 'I1,I3']
InvariantCalculator(EllipticCurve(K,[a+1,0,a+1,-2*a-1,-a-1])) 
       
a invariants:  (a + 1, 0, a + 1, -2*a - 1, -a - 1)
|T|:  1
s: -
s: +
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
a invariants:  (a + 1, 0, a + 1, -2*a - 1, -a - 1)
|T|:  1
s: -
s: +
ord(disc):  [1]
ord_(j):  [1]
Tamagawa Numbers:  [1]
kodaira symbol:  I1
grabber(f.readline()) 
       
[1, a + 1, a, a, 0]
[1, a + 1, a, a, 0]
InvariantCalculator(EllipticCurve(K,grabber(f.readline()))) 
       
a invariants:  (a, a - 1, a, -1, -a + 1)
|T|:  10
s: -
s: -
ord(disc):  [2, 1]
ord_(j):  [2, 1]
Tamagawa Numbers:  [2, 1]
kodaira symbol:  I2
kodaira symbol:  I1
a invariants:  (a, a - 1, a, -1, -a + 1)
|T|:  10
s: -
s: -
ord(disc):  [2, 1]
ord_(j):  [2, 1]
Tamagawa Numbers:  [2, 1]
kodaira symbol:  I2
kodaira symbol:  I1