{{{id=1| K.=NumberField(x^2-x-1) from psage.ellcurve.minmodel.sqrt5 import canonical_model,f_map import nosqlite db=nosqlite.Client('/home/psharaba/EC').db /// }}} {{{id=64| from psage.number_fields.sqrt5.prime import Prime /// }}} {{{id=63| def galois_conjugate(alpha): if isinstance(alpha, Integer): return alpha return alpha[0]+alpha[1]*(1-a) /// }}} {{{id=69| temp=db('select weq1,weq2 from N1k ORDER BY N,eta,R,V,U') for r in temp: E1=EllipticCurve(K,eval(r[0])) F1=str(list(canonical_model(E1).ainvs())).replace(' ','') E2 = EllipticCurve(K, [galois_conjugate(K(alpha)) for alpha in E1.ainvs()]) F2 = str(list(canonical_model(E2).ainvs())).replace(' ','') db.N1k.update({'weq1': F1, 'weq2': F2}, weq1=r[0]) /// WARNING: Output truncated! full_output.txt False False False False False False False False True True False False True True False False False False True True True True True True False False False False True True False False False False True True False False True True True True True True False False False False False False True True False False True True True True False ... True True False False False False False False False False True True False False False False False False True True False False False False True True True True True True True True False False False False False False True True True True False False False False True True False False True True True True False False False False False False }}} {{{id=71| db. /// }}} {{{id=62| temp=db('select cond,weq from sqrt5 ORDER BY N,c_lbl,R,V,U') for r in temp: C1=K(eval(r[0])) if C1[0] < 0: C1=C1*(-1) db.sqrt5.update({'cond': str(C1).replace(' ','')},weq=r[1]) /// Traceback (most recent call last): File "", line 1, in File "_sage_input_6.py", line 10, in exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("dGVtcD1kYignc2VsZWN0IGNvbmQsd2VxIGZyb20gc3FydDUgT1JERVIgQlkgTixjX2xibCxSLFYsVScpCmZvciByIGluIHRlbXA6CiAgICBDMT1LKGV2YWwoclswXSkpCiAgICBpZiBDMVswXSA8IDA6CiAgICAgICAgQzE9QzEqKC0xKQogICAgZGIuc3FydDUudXBkYXRlKHsnY29uZCc6IHN0cihDMSkucmVwbGFjZSgnICcsJycpfSx3ZXE9clsxXSk="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))' + '\n', '', 'single') File "", line 1, in File "/tmp/tmpAo8v8m/___code___.py", line 4, in exec compile(u"for r in temp:\n C1=K(eval(r[_sage_const_0 ]))\n if C1[_sage_const_0 ] < _sage_const_0 :\n C1=C1*(-_sage_const_1 )\n db.sqrt5.update({'cond': str(C1).replace(' ','')},weq=r[_sage_const_1 ])" + '\n', '', 'single') File "", line 5, in File "/home/wstein/nosqlite/nosqlite.py", line 940, in update self.database(cmd, t) File "/home/wstein/nosqlite/nosqlite.py", line 592, in __call__ return self.client(cmds, t, file=self.name, many=many, coerce=coerce) File "/home/wstein/nosqlite/nosqlite.py", line 467, in __call__ return self.server.execute(cmd, t, file, many) File "/home/wstein/nosqlite/nosqlite.py", line 352, in execute db.commit() KeyboardInterrupt __SAGE__ }}} {{{id=2| temp=db('select b_lbl,weq1,weq2,rank,T,s,ordD,ordj,c_p,K from N1k WHERE a_lbl="209a" and b_lbl LIKE "b%" ORDER BY N,eta,R,V,U') /// }}} {{{id=8| def deal(s): if not s: return '0' ret = str(s[0]) if s[0] else '' if not s[1]: return ret if s[1] == 1: if s[0]: ret += '+' return ret+r'\varphi' if s[1] == -1: return ret+r'-\varphi' if s[1] > 0: if s[0]: ret += '+' return ret+str(s[1])+r'\varphi' return ret+str(s[1])+r'\varphi' def ko_de(s): L = str(s).split(',') for i,t in enumerate(L): end = '^*' if t.endswith('*') else '' t = t.strip('*') if t in ['II','III','IV'] : L[i] = r'\text{'+t+'}'+end else: L[i] = r'\text{I}_{'+t[1:]+'}'+end return ','.join(L) /// }}} {{{id=3| def row(temp): ret = r' &&\mkcoll{\text{'+r'}\cr \text{'.join([str(c[0]) for c in temp])+'}\\cr}\n &' for i in range(5): L = [K(eval(c[1])[i]) for c in temp] ret += r'&\mkcolr{'+r'\cr '.join([deal(e) for e in L])+'\\cr}\n ' ret += '&' for i in (2,3): ret += r'&\mkcol{'+r'\cr '.join([str(c[i]) for c in temp])+'\\cr}\n &' ret += r'&\mkcol{'+r'\cr '.join([str(c[4]).replace(',',r'\ ') for c in temp])+'\\cr}\n ' for i in (5,6,7): ret += r'&\mkcol{'+r'\cr '.join([str(c[i]) for c in temp])+'\\cr}\n &' ret += r'&\mkcol{'+r'\cr '.join([ko_de(c[8]) for c in temp])+'\\cr}\n &&' ret += '%graph stuff here\n ' ret += r'&\cr'+'\n ' return ret /// }}} {{{id=65| factor(145) /// 5 * 29 }}} {{{id=16| get_iso_str = lambda n: '%s isogeny class'%n+('es' if n>1 else '') def hack_cmp(left, right): if left.norm() == right.norm(): return -cmp(left.integral_basis()[1][0],right.integral_basis()[1][0]) return cmp(left.norm(),right.norm()) sage.rings.number_field.number_field_ideal.NumberFieldFractionalIdeal.__cmp__ = hack_cmp def compiler(bound): file = open('table.tex','w') file.write(r"""\documentclass[letterpaper]{article} \usepackage{/Users/sharaba/Desktop/pdfstuff/table1} \usepackage[margin=.5in,landscape]{geometry} \begin{document} """) lb = 0 thing = True for n in range(bound): t=db('select distinct a_lbl,cond from sqrt5 WHERE N=%s ORDER BY N,c_lbl,R,V,U'%n) for cond in t: lb += 2 t2 = list(db('select distinct R from sqrt5 WHERE a_lbl="%s" ORDER BY N,c_lbl,R,V,U'%str(cond[0]))) num_iso = len(t2) for i,iso in enumerate(t2): temp = list(db('select b_lbl,weq,rank,T,s,ordD,ordj,c_p,K from sqrt5 WHERE a_lbl="%s" and R=%s ORDER BY N,c_lbl,R,V,U'%(str(cond[0]),str(iso[0])))) lb += len(temp) fac = r'\cdot '.join([str(Prime(p))+('^{'+str(e)+'}' if e > 1 else '') for p,e in K.ideal(str(cond[1])).factor()]) if lb > 42: file.write('\\endlevel\n }\n \\tablepage\n \\def\\tablebody{\n ') file.write(' \\newlevel{%s}{%s}{%s}\n '%(str(cond[0]),fac,get_iso_str(num_iso))) lb = 2+len(temp) elif i == 0: if thing: file.write(' \\def\\tablebody{\n \\newlevel{%s}{%s}{%s}\n '%(str(cond[0]),fac,get_iso_str(num_iso))) thing = False else: file.write('\\endlevel\n \\newlevel{%s}{%s}{%s}\n '%(str(cond[0]),fac,get_iso_str(num_iso))) else: file.write('\\classgap\n ') file.write(row(temp)) file.write(r'''\endlevel} \tablepage \end{document}''') file.close() os.system('pdflatex table.tex < /dev/null 1>/dev/null') /// }}} {{{id=70| db.N1kU.columns() /// [u'K', u'ordD', u'b_lbl', u'L', u'rank', u'N', u'c_p', u'cond', u'T', u'omega', u'ordj', u's', u'weq', u'real1', u'found', u'real2', u'adj', u'a_lbl', u'adj_order', u'remove', u'a_p', u'R', u'U', u'V', u'c_lbl', u'd_lbl'] }}} {{{id=77| compiler(500) /// }}} {{{id=28| compiler(500) /// }}} {{{id=26| compiler(2000) /// }}} {{{id=19| for i,c in enumerate(db('select weq1,weq2 from N1k where N=45')): if i < 9: E = EllipticCurve(K,eval(c[0])) else: F = EllipticCurve(K,eval(c[0])) print E.is_isomorphic(F) /// False }}} {{{id=21| canonical_model(E) /// Elliptic Curve defined by y^2 + x*y + (a+1)*y = x^3 + a*x^2 + (-4976733*a-3075797)*x + (-6393196918*a-3951212998) over Number Field in a with defining polynomial x^2 - x - 1 }}} {{{id=17| E = EllipticCurve(K,[1,1,1,-80,242]) /// }}} {{{id=15| E.conductor().norm() /// 45 }}} {{{id=7| for s in strings: print s /// \mkcol{\text{b1}\cr \text{b2}\cr \text{b3}\cr \text{b4}\cr \text{b5}\cr \text{b6}} }}} {{{id=4| for c in temp: print c[5] /// [1,a+1,a+1,-250*a-165,2099*a+1308] [a+1,-a+1,a+1,-2*a,-a] [a+1,-a+1,a+1,-2*a-5,1] [a+1,-a+1,a+1,3*a-15,14*a-26] [a+1,-a+1,a+1,-47*a,-67*a-159] [a+1,-a+1,a+1,133*a-190,851*a-1361] }}} {{{id=72| temp=db('select a_lbl,b_lbl,weq,R,V,U from sqrt5 ORDER BY N,c_lbl,R,V,U') /// }}} {{{id=75| temp[1] /// (u'31a', u'a5', u'[1,-a-1,a,-30*a-45,-111*a-117]', 61, 1.6096512410167698, 350) }}} {{{id=76| db.sqrt5.find_one() /// {u'ordD': u'6', u'rank': 1, u'cond': u'32', u'a_lbl': u'1024a', u'ordj': u'0', u'weq': u'[0,-1,0,a-2,-a+2]', u'adj': u'matrix(4,[0,2,2,2,2,0,0,0,2,0,0,0,2,0,0,0])', u'K': u'III', u'b_lbl': u'b2', u'L': 1.4747956633999999, u'N': 1024, u'c_p': u'2', u'R': 874, u'U': 139, u'T': 4, u'V': 34.762695501364732, u'omega': 34.762695501364732, u'c_lbl': u'a', u's': u'+,+', u'real1': 5.0657356932128677, u'found': u'NA', u'real2': 6.862319237843419} }}} {{{id=73| for r in temp: print r[0], r[1], r[2], r[3], r[4], r[5] /// WARNING: Output truncated! full_output.txt 31a a1 [1,-a-1,a,0,0] 61 0.0194141433894 357 31a a2 [a+1,-a-1,a,15*a-27,-40*a+64] 61 0.0388282867788 1203 31a a3 [a,-1,a,1786*a-2891,-44002*a+71196] 61 0.0776565735575 892 31a a4 [1,-a-1,a,-40*a-30,-130*a-76] 61 0.155313147115 349 31a a5 [1,-a-1,a,-30*a-45,-111*a-117] 61 0.62125258846 350 31a a6 [a+1,a+1,a+1,-32196*a-19898,-3371682*a-2083814] 61 0.62125258846 1610 31b a1 [1,a+1,a,a,0] 55 0.0194141433894 767 31b a2 [a,-1,a+1,-17*a-11,39*a+24] 55 0.0388282867788 897 31b a3 [a+1,-a-1,a+1,-1788*a-1105,44001*a+27194] 55 0.0776565735575 1206 31b a4 [1,a+1,a,41*a-70,170*a-276] 55 0.155313147115 765 31b a5 [1,a+1,a,31*a-75,141*a-303] 55 0.62125258846 761 31b a6 [a,a,a+1,32197*a-52096,3319586*a-5371204] 55 0.62125258846 1122 36a a1 [a+1,a,a,0,0] 271 0.0225735561997 1552 36a a2 [a+1,a,a,-10*a-10,10*a+10] 271 0.0225735561997 1546 36a a3 [a+1,a,a,-165*a-165,-1683*a-1221] 271 0.564338904993 1544 36a a4 [a+1,a,a,-5*a-5,-51*a-37] 271 0.564338904993 1548 41a a1 [0,a-1,a+1,0,-a] 215 0.0216165371929 229 41a a2 [0,a-1,a+1,-10*a-30,-32*a-82] 215 1.05921032245 225 41b a1 [0,-a,a,0,0] 217 0.0216165371929 59 41b a2 [0,-a,a,10*a-40,31*a-113] 217 1.05921032245 58 45a a1 [1,1,1,-80,242] 151 0.0318603018896 653 45a a2 [1,1,1,-5,2] 151 0.0318603018896 656 45a a3 [1,1,1,0,0] 151 0.0318603018896 659 45a a4 [1,1,1,-10,-10] 151 0.127441207558 655 45a a5 [1,1,1,-135,-660] 151 0.509764830233 651 45a a6 [1,1,1,35,-28] 151 0.509764830233 663 45a a7 [1,1,1,-2160,-39540] 151 2.03905932093 650 45a a8 [1,1,1,-110,-880] 151 2.03905932093 652 45a a9 [1,-a+1,a,4976732*a-8052529,6393196917*a-10344409915] 151 8.15623728373 500 45a a10 [1,a,a+1,-4976733*a-3075797,-6393196918*a-3951212998] 151 8.15623728373 729 49a a1 [0,-a+1,1,1,0] 724 0.0382611020547 131 49a a2 [0,-a+1,1,-30*a-29,-102*a-84] 724 0.956527551366 129 55a a1 [1,a,1,a-1,0] 426 0.0251672670109 708 55a a2 [1,a,1,6*a-11,-10*a+16] 426 0.0251672670109 704 55a a3 [a+1,-1,1,698*a-1131,-10856*a+17565] 426 0.0503345340218 1284 55a a4 [a,-a+1,a,-96*a-60,537*a+333] 426 0.0503345340218 938 55a a5 [1,a,1,21*a-46,54*a-112] 426 0.226505403098 702 55a a6 [1,a,1,26*a-41,70*a-114] 426 0.226505403098 709 55a a7 [1,a,1,-54*a+54,374*a-572] 426 0.453010806197 700 55a a8 [a,-a+1,a,-601*a-405,-8817*a-5400] 426 0.453010806197 937 55b a1 [1,-a+1,1,-a,0] 418 0.0251672670109 485 55b a2 [1,-a+1,1,-6*a-5,10*a+6] 418 0.0251672670109 482 55b a3 [a,-a,1,-699*a-432,10856*a+6709] 418 0.0503345340218 825 55b a4 [a+1,0,a+1,94*a-156,-538*a+870] 418 0.0503345340218 1419 55b a5 [1,-a+1,1,-21*a-25,-54*a-58] 418 0.226505403098 480 55b a6 [1,-a+1,1,-26*a-15,-70*a-44] 418 0.226505403098 481 55b a7 [1,-a+1,1,54*a,-374*a-198] 418 0.453010806197 488 55b a8 [a+1,0,a+1,599*a-1006,8816*a-14217] 418 0.453010806197 1416 64a a1 [0,a-1,0,-a,0] 751 0.0260697190491 210 64a a2 [0,-a,0,11*a-16,-17*a+27] 751 0.0521394380982 51 64a a3 [0,a-1,0,-11*a-5,17*a+10] 751 0.0521394380982 202 64a a4 [0,a-1,0,-6*a-5,-11*a-7] 751 0.104278876196 203 64a a5 [0,-a,0,106*a-171,647*a-1050] 751 0.417115504786 49 64a a6 [0,a-1,0,-106*a-65,-647*a-403] 751 0.417115504786 199 71a a1 [a+1,a-1,1,0,0] 478 0.0223332061013 1441 71a a2 [a+1,a-1,1,-5*a,2*a] 478 0.0446664122026 1436 71a a3 [a+1,a-1,1,15*a-20,22*a-34] 478 0.200998854911 1442 71a a4 [a+1,a-1,1,5*a-25,12*a-46] 478 0.401997709823 1434 71b a1 [a,a+1,a,a,0] 482 0.0223332061013 1167 ... 1984a a3 [0,-1,0,-383*a-300,-4763*a-2728] 884 0.35045131967 103 1984a a4 [0,a+1,0,216*a-352,1856*a-3024] 884 0.700902639341 461 1984a b1 [0,a,0,-a+1,0] 1057 0.0444084162365 412 1984a b2 [0,a,0,4*a-4,4] 1057 0.088816832473 417 1984a c1 [0,0,0,-4*a-3,-4*a-2] 1099 0.0688594600414 255 1984a c2 [0,0,0,41*a-63,-144*a+230] 1099 0.137718920083 277 1984a d1 [0,a-1,0,-2*a-41,81*a-27] 1110 0.148217534853 307 1984a d2 [0,a-1,0,-2*a-1,a-3] 1110 0.148217534853 316 1984a e1 [0,-1,0,-2*a-1,2*a+2] 1181 0.0339743098587 128 1984a e2 [0,-1,0,3*a-11,-9*a+17] 1181 0.0679486197174 124 1984a e3 [0,a+1,0,641*a-1045,-9345*a+15100] 1181 0.135897239435 457 1984a e4 [0,-1,0,23*a-11,3*a-11] 1181 0.27179447887 152 1984a f1 [0,-a-1,0,337*a-557,-3687*a+5968] 1233 0.126343628618 19 1984a f2 [0,1,0,-33*a-27,-139*a-81] 1233 0.126343628618 341 1984a g1 [0,-1,0,-4*a-4,8*a+4] 1237 0.113865411071 121 1984a g2 [0,a+1,0,106*a-169,633*a-1021] 1237 0.227730822142 468 1984b a1 [0,-1,0,3*a-3,-a+1] 910 0.0876128299176 142 1984b a2 [0,-1,0,23*a-43,67*a-107] 910 0.175225659835 125 1984b a3 [0,-1,0,383*a-683,4763*a-7491] 910 0.35045131967 107 1984b a4 [0,-a-1,0,-214*a-137,-1641*a-1031] 910 0.700902639341 4 1984b b1 [0,-a+1,0,a,0] 1049 0.0444084162365 209 1984b b2 [0,-a+1,0,-4*a,4] 1049 0.088816832473 197 1984b c1 [0,0,0,4*a-7,4*a-6] 1096 0.0688594600414 270 1984b c2 [0,0,0,-41*a-22,144*a+86] 1096 0.137718920083 237 1984b d1 [0,-a,0,2*a-43,-81*a+54] 1108 0.148217534853 74 1984b d2 [0,-a,0,2*a-3,-a-2] 1108 0.148217534853 87 1984b e1 [0,-1,0,2*a-3,-2*a+4] 1193 0.0339743098587 141 1984b e2 [0,-1,0,-3*a-8,9*a+8] 1193 0.0679486197174 120 1984b e3 [0,-a-1,0,-639*a-405,9985*a+6160] 1193 0.135897239435 3 1984b e4 [0,-1,0,-23*a+12,-3*a-8] 1193 0.27179447887 117 1984b f1 [0,a+1,0,-335*a-221,3351*a+2060] 1235 0.126343628618 436 1984b f2 [0,1,0,33*a-60,139*a-220] 1235 0.126343628618 351 1984b g1 [0,-1,0,4*a-8,-8*a+12] 1239 0.113865411071 133 1984b g2 [0,-a-1,0,-104*a-64,-528*a-324] 1239 0.227730822142 7 1984b h1 [a+1,a+1,a,-271*a-323,-3796*a-3115] 1886 0.81516544175 2038 1984b h2 [a,a-1,0,-257364*a-159063,-75257037*a-46511406] 1886 1.63033088349 1337 1991a a1 [1,-a+1,0,-a+1,0] 556 0.0622706900783 702 1991a a2 [1,-a+1,0,4*a-4,5*a-9] 556 0.124541380157 703 1991b a1 [1,a,0,a,0] 540 0.0622706900783 969 1991b a2 [1,a,0,-4*a,-5*a-4] 540 0.124541380157 964 1991c a1 [0,-a-1,a,6*a-8,-8*a+12] 136 0.0334880145401 57 1991c b1 [a,-1,1,-a-1,-1] 624 0.110918019391 1208 1991c b2 [a,-1,1,9*a-16,14*a-25] 624 0.221836038782 1210 1991c c1 [0,-1,a,-a,a-1] 1904 0.0845258993907 170 1991c c2 [0,-1,a,9*a-80,42*a-252] 1904 0.760733094516 165 1991d a1 [0,a+1,a+1,-4*a-3,2*a+1] 135 0.0334880145401 492 1991d b1 [a+1,-a-1,1,-2,-1] 652 0.110918019391 1579 1991d b2 [a+1,-a-1,1,-10*a-7,-14*a-11] 652 0.221836038782 1573 1991d c1 [0,-1,a+1,a-1,-2*a] 1906 0.0845258993907 184 1991d c2 [0,-1,a+1,-9*a-71,-43*a-210] 1906 0.760733094516 178 1996a a1 [a+1,a+1,0,2*a-4,-4*a-8] 282 0.434749015143 2012 1996b a1 [a,a,1,a-6,-a-7] 281 0.434749015143 1470 1999a a1 [1,-a+1,0,-5*a-2,6*a+4] 550 0.0295476815357 697 1999a a2 [a+1,0,a,-a+4,23*a-32] 550 0.265929133821 1818 1999a b1 [1,a-1,a+1,-8*a-5,-15*a-9] 1790 0.0605301874797 854 1999a b2 [a+1,a,0,27*a-42,-84*a+133] 1790 0.121060374959 1958 1999b a1 [1,a,0,5*a-7,-6*a+10] 532 0.0295476815357 968 1999b a2 [a,-a+1,a+1,-a+4,-24*a-9] 532 0.265929133821 1275 1999b b1 [1,-a,a,7*a-12,14*a-23] 1788 0.0605301874797 607 1999b b2 [a,a-1,1,-26*a-17,67*a+40] 1788 0.121060374959 1355 }}} {{{id=74| /// }}}