{{{id=1| import nosqlite db=nosqlite.Client('/home/psharaba/table/ECdb').db from psage.ellcurve.minmodel.sqrt5 import canonical_model K.=NumberField(x^2-x-1) /// }}} {{{id=18| db.N1k.find_one() /// {u'nh': 41.096588465662798, u'rlow': 0, u'tama': u'1', u'cond1': u'5*a-2', u'ainv2': u'[1,-a-1,a,0,0]', u'ainv1': u'[1,a+1,a,a,0]', u'cond2': u'-5*a+3', u'tor': 8, u'Lstar': 0.35992895949800002, u'ordD': u'1', u'kod': u'I1', u'sign': u'+,-', u'rhi': 0, u'eta': 63, u'label': u'31a1a', u'fh': -1.1440120797665994, u'found': u'J', u'N': 31, u'mtrx': u'matrix(6,[0,2,0,0,0,0,2,0,2,2,0,0,0,2,0,0,2,2,0,2,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0])', u'ordj': u'1'} }}} {{{id=17| E = EllipticCurve(K,[1,a+1,a,a,0]) F = E.global_minimal_model() F = canonical_model(F).a_invariants() G1 = str([F[0],F[1],F[2],F[3],F[4]]).replace(' ','') E = EllipticCurve(K, [galois_conjugate(K(alpha)) for alpha in F]) F = E.global_minimal_model() F = canonical_model(F).a_invariants() G2 = str([F[0],F[1],F[2],F[3],F[4]]).replace(' ','') J1 = K.ideal(5*a-2) J2 = K.ideal(galois_conjugate(5*a-2)) #if J1.integral_basis()[1][0] > J2.integral_basis()[1][0]: # J1,J2 = J2,J1 # G1,G2 = G2,G1 print G1, G2 /// [1,a+1,a,a,0] [1,-a-1,a,0,0] }}} {{{id=16| print F /// (1, -a - 1, a, 0, 0) }}} {{{id=15| E=EllipticCurve(K,[1,-a+2,1-a,1-a,0]) /// }}} {{{id=19| F=E.global_minimal_model();F /// Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (-a-1)*x^2 over Number Field in a with defining polynomial x^2 - x - 1 }}} {{{id=20| F=canonical_model(F).a_invariants();F /// (1, -a - 1, a, 0, 0) }}} {{{id=2| f=open('/home/psharaba/ECD/ECData.txt') f1=open('/home/psharaba/ECD/ECNew.txt') /// }}} {{{id=3| def eta(alpha): return (alpha*alpha).trace() def find_small(alpha): while True: plus=a*alpha minus=alpha/a if eta(plus) J2.integral_basis()[1][0]: J1,J2 = J2,J1 G1,G2 = G2,G1 db.N20k.insert({'N': int(J1.norm()), 'eta': int(eta_ideal(J1)), 'cond1': str(J1.gen(0)).replace(' ',''), 'cond2': str(J2.gen(0)).replace(' ',''), 'ainv1': G1, 'ainv2': G2, 'rlow': int(c[29]), 'rhi': int(c[30]), 'tor': int(c[28]), 'sign': c[31], 'ordD': c[32], 'ordj': c[33], 'tama': c[34], 'kod': c[35]}) /// }}} {{{id=11| db.N20k.count() /// (4173,) }}} {{{id=5| #f3=open('/Users/sharaba/ECtable/ECTable21k.txt') for t in f1.readlines(): c = t.split() E = EllipticCurve(K,eval(c[2])) F = E.global_minimal_model() F = canonical_model(F).a_invariants() G1 = str([F[0],F[1],F[2],F[3],F[4]]).replace(' ','') H = list(db.N20k.find(ainv1=G1))+list(db.N20k.find(ainv2=G1)) L = len(H) if L == 0: E = EllipticCurve(K, [galois_conjugate(K(alpha)) for alpha in F]) F = E.global_minimal_model() F = canonical_model(F).a_invariants() G2 = str([F[0],F[1],F[2],F[3],F[4]]).replace(' ','') J1 = K.ideal(eval(c[1])) J2 = K.ideal(galois_conjugate(K(eval(c[1])))) if J1.integral_basis()[1][0] > J2.integral_basis()[1][0]: J1,J2 = J2,J1 G1,G2 = G2,G1 db.N20k.insert({'N': int(J1.norm()), 'eta': int(eta_ideal(J1)), 'cond1': str(J1.gen(0)).replace(' ',''), 'cond2': str(J2.gen(0)).replace(' ',''), 'ainv1': G1, 'ainv2': G2, 'rlow': int(c[3]), 'rhi': int(c[4]), 'tor': int(c[6]), 'sign': c[5], 'ordD': c[7], 'ordj': c[8], 'tama': c[9], 'kod': c[10]}) /// }}} {{{id=12| db.N20k.count() /// (4346,) }}} {{{id=6| temp=db('select N,eta,ainv1 from N20k ORDER BY N,eta') /// }}} {{{id=7| def golf(): lastchar = ord('a') for i in range(len(temp)): key=str(temp[i][0]) if temp[i][0]==temp[i-1][0]: if temp[i][1]!=temp[i-1][1]: lastchar+=1 else: lastchar = ord('a') key=str(temp[i][0])+chr(lastchar) db.N20k.update({'label': key}, ainv1=temp[i][2]) /// }}} {{{id=9| golf() /// }}} {{{id=10| db.N20k.count() /// (4346,) }}} {{{id=14| /// }}}