Thanks to Harald for implementing this, which I have just tried out.
(I know that this was in part prompted by my question abot converting
sagews to pdf.)

It would be nice to be able to control the page width.  In the example
(attached -- might be of independent interest to William) whe I
display it only themiddle third of the screen is used, with very large
margins.  But I suppose that this is because the intention is to be
able to print to pdf?

John


On 4 December 2016 at 14:31, Harald Schilly <[email protected]> wrote:
> On Sat, Dec 3, 2016 at 4:45 PM, Dominique Laurain
> <[email protected]> wrote:
>> Thank you Harald
>
> Sure, thank's for testing!
>
> That next update will also be about "getting back to the original
> sagews worksheet". In particular, it will be possible to download the
> original sagews file from within that html file. This means, the
> html-converted file can be hosted anywhere and it's not hard to
> continue working with the actual worksheet later on. An idea for the
> future is to automatically convert such an html file to a sagews
> worksheet, once it is uploaded and opened in SMC.
>
> -- harald
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sage-cloud" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-cloud/CAGG4CB6oDjiE4Vc2mXWyR1%2B_qWyRtERjmd5T6rJQqgFeHCO2PA%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-cloud" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-cloud/CAD0p0K4EKXzV3TtxXhkstwWu_dztn21JoZUaeL9Za3_vh9Jrug%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Title: X_0(37).sagews

X_0(37).sagews

AuthorJohn Cremona
Date2016-12-08T13:37:13
Projecta2746225-28a9-4a8f-83b9-b089ee74d434
LocationX_0(37).sagews
Original fileX_0(37).sagews

Find a basis for $S_2(37)$ and hence obtain a hyperelliptic equation for $X=X_0(37)$

M=ModularSymbols(37,sign=+1)C=M.cuspidal_subspace()f,g = C.q_expansion_basis(prec=100)q=f.parent().gen()x=f/gy=q*x.derivative()/gx;yQX.<X>=PolynomialRing(QQ)P=-(-X^6-8*X^5+20*X^4-28*X^3+24*X^2-12*X+4)y^2==P(x)
q^-1 - 2 + 7*q - 21*q^2 + 61*q^3 - 177*q^4 + 517*q^5 - 1508*q^6 + 4402*q^7 - 12848*q^8 + 37498*q^9 - 109441*q^10 + 319411*q^11 - 932226*q^12 + 2720773*q^13 - 7940784*q^14 + 23175782*q^15 - 67640282*q^16 + 197413308*q^17 - 576165753*q^18 + 1681583570*q^19 - 4907829540*q^20 + 14323873774*q^21 - 41805314997*q^22 + 122011991280*q^23 - 356101276053*q^24 + 1039308657091*q^25 - 3033301359313*q^26 + 8852920711892*q^27 - 25837922397796*q^28 + 75409941595627*q^29 - 220089649775442*q^30 + 642348381570495*q^31 - 1874742604785018*q^32 + 5471578873761662*q^33 - 15969219078598810*q^34 + 46607380404070280*q^35 - 136027184387548285*q^36 + 397005683048175264*q^37 - 1158691279851087540*q^38 + 3381728623365916886*q^39 - 9869832181322776794*q^40 + 28805855861525815069*q^41 - 84072081132770847119*q^42 + 245370762805060201299*q^43 - 716133232677510371037*q^44 + 2090089304374795444435*q^45 - 6100084594494905018420*q^46 + 17803560824940414269037*q^47 - 51961046299817464740867*q^48 + 151652265472056798782994*q^49 - 442608670543417875697985*q^50 + 1291787067146111923240037*q^51 - 3770178801055051450985794*q^52 + 11003553568102996694295431*q^53 - 32114707952903857155614946*q^54 + 93729217612934371993379152*q^55 - 273555850086391328419574233*q^56 + 798393553497041965560037223*q^57 - 2330172306914026258087361871*q^58 + 6800785096681209538942214084*q^59 - 19848608531655555257215607569*q^60 + 57929673565948458707526883401*q^61 - 169072158086309907976765827065*q^62 + 493449951990837735710299476400*q^63 - 1440171213733836775916714037426*q^64 + 4203249218080993650967095513479*q^65 - 12267502516935908250659469846829*q^66 + 35803639088461248706431959685682*q^67 - 104495643690071520429309210732283*q^68 + 304978483422414310750778113422103*q^69 - 890102898705558277780822345086774*q^70 + 2597833005768723367417343261654427*q^71 - 7581973202958649328556750149431539*q^72 + 22128565432315883025028881944513879*q^73 - 64583901180395138713701548974169696*q^74 + 188493027459779474237970799932374563*q^75 - 550131236292341310148908460886283611*q^76 + 1605599852806852173356642819952244115*q^77 - 4686065282727292548627081946374448658*q^78 + 13676637921704912574410724414875007841*q^79 - 39916307937680590981162660414299427060*q^80 + 116498780511484237533897228553429185459*q^81 - 340010551122419342780723885982162471552*q^82 + 992346652617320682805130206210019963044*q^83 - 2896239177607890271930392289380525125221*q^84 + 8452894310457835941509348850774091030210*q^85 - 24670414921596631836004048734686724712159*q^86 + 72002482232712598756712439265851616852723*q^87 - 210144720473820458532656881073381484907486*q^88 + 613323349051940528462506116702717542325307*q^89 - 1790030839909445478240498186763307553010213*q^90 + 5224341145302719898163935345564290364751041*q^91 - 15247636964670216261282943805256309829877262*q^92 + 44501388125354916900973429788136112014776170*q^93 - 129880685752955434644593945624307038054132184*q^94 + 379066659317235031871937792905709654797954212*q^95 - 1106334874757612126190709342891291503585182331*q^96 + O(q^97) -q^-3 + 2*q^-2 + q^-1 - 39 + 258*q - 1297*q^2 + 5737*q^3 - 23495*q^4 + 91355*q^5 - 342100*q^6 + 1244938*q^7 - 4429381*q^8 + 15473807*q^9 - 53244926*q^10 + 180893848*q^11 - 607912181*q^12 + 2023810791*q^13 - 6682336604*q^14 + 21904850223*q^15 - 71344073916*q^16 + 231034558844*q^17 - 744300405993*q^18 + 2386637535179*q^19 - 7620381247889*q^20 + 24237050034248*q^21 - 76813266568053*q^22 + 242644115928696*q^23 - 764169447545519*q^24 + 2399899699740519*q^25 - 7517384041729248*q^26 + 23490287644339954*q^27 - 73236541777008069*q^28 + 227849664308112097*q^29 - 707468778345039773*q^30 + 2192585476502107654*q^31 - 6783340457161650894*q^32 + 20951345493746508043*q^33 - 64610220981054310871*q^34 + 198951904143607003345*q^35 - 611767243464709823858*q^36 + 1878653465893098731980*q^37 - 5761800840429490372079*q^38 + 17650116608836912871907*q^39 - 54005681749959906875096*q^40 + 165065725877824124279603*q^41 - 503989412720330277775539*q^42 + 1537280157251033751199311*q^43 - 4684577986638436992398763*q^44 + 14262357506358714370147267*q^45 - 43384241898747672461519586*q^46 + 131858462659292264195212695*q^47 - 400436660137425388180114302*q^48 + 1215131152855396030355623686*q^49 - 3684587466543697278750957291*q^50 + 11164599208022268205571217621*q^51 - 33806284553201979860639628051*q^52 + 102296941589650412760099557998*q^53 - 309349230893627685527553338036*q^54 + 934902580714023856748152360503*q^55 - 2823734397725502154032943329389*q^56 + 8523741489950440631414745106433*q^57 - 25715440632399885504887718445007*q^58 + 77539477834383687333478206093370*q^59 - 233681600817516914814376157727827*q^60 + 703892110187242018871042835430511*q^61 - 2119212255520255669815388477979041*q^62 + 6377289503823682133098966454652382*q^63 - 19182153574960689041860762173894430*q^64 + 57671880178874715893084288120618131*q^65 - 173317362127034920271229807594770833*q^66 + 520638998443798175077352332775208749*q^67 - 1563339152299800995955509004538997987*q^68 + 4692416952888229220274370780304901967*q^69 - 14078995129000383869158982678545563939*q^70 + 42226296195672905137303863304998732538*q^71 - 126600376505940574843316593520954073892*q^72 + 379430217188114691774883997320341266917*q^73 - 1136783621462289611417469918624891623925*q^74 + 3404682244144582412745116340897658935010*q^75 - 10193703737795529841268587090311859743045*q^76 + 30510385072947039351679270053261601936499*q^77 - 91290820736589358784659979859269829489575*q^78 + 273069772166235047802162799187972429279335*q^79 - 816564450064889301321833381485601065982418*q^80 + 2441072888359175694949307906353431694913990*q^81 - 7295372423086765391383037509646832690105348*q^82 + 21796839470316851748203333934794858700742425*q^83 - 65106105776463635190395725639107445961708317*q^84 + 194417228995827031112611854561888811221389279*q^85 - 580410449483818341977791039533716917042993452*q^86 + 1732310197312010061695105195275124399652411066*q^87 - 5169023464595857885435077575603032186054237573*q^88 + 15420061472699682850891225908948791802157883331*q^89 - 45989718000034334677804074250909030301229658045*q^90 + 137130681803751549002413182399948740108097629917*q^91 - 408799078415025288299127126311415093164131145172*q^92 + 1218396476676287208069299752856059356542137597996*q^93 - 3630553321000469995247615497536622128780205992056*q^94 + O(q^95) True

Under $W$, $f$ maps to $-f$ and $g$ to $g-f$. Hence $x\mapsto x/(x-1)$ and $y\mapsto y/(x-1)^3$. We check that this does define an automorphism of the curve:

(y/(x-1)^3)^2 == P(x/(x-1))
True
C1, C2 = C.decomposition()C1.atkin_lehner_operator()C2.atkin_lehner_operator()f1 = C1.q_eigenform(100)f2 = C2.q_eigenform(100)assert f2==fassert f1==f-2*g
Hecke module morphism Atkin-Lehner operator W_37 defined by the matrix [1] Domain: Modular Symbols subspace of dimension 1 of Modular Symbols space ... Codomain: Modular Symbols subspace of dimension 1 of Modular Symbols space ... Hecke module morphism Atkin-Lehner operator W_37 defined by the matrix [-1] Domain: Modular Symbols subspace of dimension 1 of Modular Symbols space ... Codomain: Modular Symbols subspace of dimension 1 of Modular Symbols space ...
assert P == P(X/(X-1)) * (X-1)^6

We change variables from $x,y$ to $v,w$ so that the $W_{67}$ involution fixes $w$ and negates $v$:

w=4*y/(x-2)^3v=x/(x-2)Q = P(2*X/(X-1))*(X-1)^6 / 4Qassert Q(v)==w^2
37*X^6 - 11*X^4 - 9*X^2 - 1
Q2 = P(2/(1-X))*(1-X)^6 / 4
Q2(v)/y
-16*q^3 + 96*q^4 + 1008*q^5 + 6896*q^6 + 27280*q^7 + 158928*q^8 + 516304*q^9 + 3174592*q^10 + 7504048*q^11 + 60115072*q^12 + 66477680*q^13 + 1181359680*q^14 - 717508752*q^15 + 25932179664*q^16 - 64344096112*q^17 + 651462368240*q^18 - 2593197705488*q^19 + 18197121063024*q^20 - 88637408460304*q^21 + 540513075260384*q^22 - 2863282721337504*q^23 + 16531988977335776*q^24 - 90537908921166720*q^25 + 511962360152576528*q^26 - 2839526868766170704*q^27 + 15932570214393486656*q^28 - 88781726966111208864*q^29 + 496753907813791721584*q^30 - 2772734655741952198112*q^31 + 15498597927034521841840*q^32 - 86559676355365640016720*q^33 + 483669814221439832062080*q^34 - 2701845127514975112354896*q^35 + 15095320932640150380281312*q^36 - 84330310181700241764600080*q^37 + 471138194840850864185595600*q^38 - 2632083248134497587920016656*q^39 + 14704779500736490863960534112*q^40 - 82151046176689061124353274768*q^41 + 458955021198424769980880672176*q^42 - 2564045751950669199429412873424*q^43 + 14324589808095479095766505476800*q^44 - 80027302880131156505337090652832*q^45 + 447089439959662400226574850420800*q^46 - 2497758848782492938287103093249616*q^47 + 13954255714234021609523484257978784*q^48 - 77958379927166268327381028436830000*q^49 + 435530884584531761263577532647337584*q^50 - 2433184807257654250264028151825199184*q^51 + 13593498454356503785313085512500454640*q^52 - 75942936166631343526935148647635077296*q^53 + 424271176605825951655107607618375030608*q^54 - 2370280105980421882612706288251751283984*q^55 + 13242068043758546026832996544253305470464*q^56 - 73979596538790264902643237851281495634160*q^57 + 413302566377546438087380519559593673582160*q^58 - 2309001661565102350612396504973391728232704*q^59 + 12899723126801109567175138565016816984649936*q^60 - 72067014721174743462800172117454386306728928*q^61 + 402617525972406678166282456059044199025311408*q^62 - 2249307437578321202416493206322449778955072128*q^63 + 12566228796397160224036331903286394844918378320*q^64 - 70203878546871845618962641643464478680191333696*q^65 + 392208724104661818344239545854692881675588331360*q^66 - 2191156478068289400627325164002378866165665620832*q^67 + 12241356237921556400628641575241112329793752821840*q^68 - 68388909712062323109269160074729016430602859861760*q^69 + 382069019208627415298052843723868629259194715626624*q^70 - 2134508885338615870509080084917147654007950953705104*q^71 + 11924882554013273468856384608881131082014382123657808*q^72 - 66620862955294812401029655489135357994868485335726288*q^73 + 372191454364855455962743367208936001996138284292037744*q^74 - 2079325793110499372627305910407562978765142588686670672*q^75 + 11616590609993598822171847057381849312275689622135887184*q^76 - 64898525208175321817009674498028514898219622887833648464*q^77 + 362569252511387076477559131870865159672204896012897942304*q^78 - 2025569339903984817908956849345172455166576804605643089808*q^79 + 11316268884742807061172296377979739610078760301466338856512*q^80 - 63220714763518447862016562009953159970162639849776664536864*q^81 + 353195811792607439673701047245671450770380499858155942855200*q^82 - 1973202643065093267881545311378731758540904922402473487502544*q^83 + 11023711325561543711234059878458626835663832525556712821840672*q^84 - 61586280464608617234440571683417116050630800705367011062779904*q^85 + 344064701029553283096794540496058375012584784907403675562381712*q^86 - 1922189773460744022326694071545445366413558424339958044638882752*q^87 + 10738717206795654665673708881554709611213030934465622674343001792*q^88 - 59994100915387163335849777923191130858173151889755404056516668112*q^89 + 335169655307429237653813126005630283990501857643304302963746227408*q^90 - 1872495730827570922211924609006001700108327558142298741675982287984*q^91 + 10461090992116913774238530599192222398643633311947446756025429545760*q^92 - 58443083711055425809467909650729395690267337301395996742337984163584*q^93 + 326504571677208021030634516755078928577001198769262481731377053389152*q^94 - 1824086419758015235226361815167947671386761798460029335263963863686624*q^95 + 10190642200364262330856184093147583563426298013737706106007122082296000*q^96 - 56932164688568697660853128782088908248725008986109972494737126372701568*q^97 + 318063504968357142541969671889667643227106866341450089880356076832098864*q^98 - 1776928626307243804140206167276770884180029646743716189380399821960787712*q^99 + 9927185274853438486092564949367585823047640466543729167105092922705568864*q^100 + O(q^101)
Q(1/X)*X^6 == Q2
True
Q2((x-2)/x) == (4*y/x^3)^2Q2
True -X^6 - 9*X^4 - 11*X^2 + 37

It will be more convenient to make another change of variables so that both the genus $2$ curve and its elliptic curve quotient have monic equations:

v1=1/vw1=w/v^3assert v1==(x-2)/xassert w1==4*y/x^3assert Q2(v1)==w1^2
R = X^3-9*X^2+11*X+37assert R(-X^2)==Q2assert w1^2==R(-v1^2)assert w1^2==Q2(v1)
a6,a4,a2,a0 = R.coefficients(sparse=True)E=EllipticCurve([0,a2,0,a4,a6])EE.conductor().factor()
Elliptic Curve defined by y^2 = x^3 - 9*x^2 + 11*x + 37 over Rational Field 37

Now we compute the $j$-map $X_0(37)\to X(1)$, the $j$-line. First as a rational function of $v_1$,$w_1$. To reduce this to linear algebra on $q$-expansions we’ll multiply $j$ by $(v_1-1)(v_2+1)^{37}$ to clear the poles, then express this as $a(v_1)+w_1b(v_1)$ where $a$, $b$ are polynomials of degree at most $38$ and $35$:

jq=j_invariant_qexp(200)t = (v1-1)*(v1+1)^37 *jqrelmat=Matrix([[fq[j] for j in [0..90]] for fq in [t] + [v1^i for i in range(39)] + [w1*v1^i for i in range(36)]])relmat.nullity()==1bas=relmat.left_kernel().basis()[0]bas
True (1, 19830091900536000, 58441345187486400, -7233748402609480, -182784532019863728, -142830220093745264, 156499634266828688, 250446579653938168, 40052693382651328, -109324166655741632, -97497354908476480, -47709753912153312, 4866009404150528, 34527726132542592, 24346797856103168, 7120289847187104, -692008322845760, -3769115416697664, -3104957417380544, -1177816808113712, -285835086139616, 41159755598112, 129848296286624, 68849164909008, 27324618790720, 10706988351424, 1293272764224, -225641305568, -193755504768, -202540022272, -58193964672, -16130795872, -6419153088, -361304704, -164954880, -35881416, 3692304, -5450544, -470448, -287496, -3260047059360000, -9607698755928000, 704610283977400, 28621355539246320, 23153044382178960, -22749745076797904, -37749942077828208, -6496524017618448, 15397540828613520, 12845207661594160, 5865533386871664, -182546665454928, -3692528575484208, -2675298950700816, -773115033781680, -18516457420624, 259931406086352, 243595143234672, 93608387655136, 25629302843088, 4473516039088, -4478529942896, -2682662606928, -882096447536, -454451494736, -90870661488, -8442096624, -7006833264, 1603349232, 631820880, 122229360, 141154704, 24266736, 7912080, 1646568, 0)
Qx.<x>=QQ[]apol = -Qx(list(bas)[1:40])bpol = -Qx(list(bas)[40:75])apolbpol
287496*x^38 + 470448*x^37 + 5450544*x^36 - 3692304*x^35 + 35881416*x^34 + 164954880*x^33 + 361304704*x^32 + 6419153088*x^31 + 16130795872*x^30 + 58193964672*x^29 + 202540022272*x^28 + 193755504768*x^27 + 225641305568*x^26 - 1293272764224*x^25 - 10706988351424*x^24 - 27324618790720*x^23 - 68849164909008*x^22 - 129848296286624*x^21 - 41159755598112*x^20 + 285835086139616*x^19 + 1177816808113712*x^18 + 3104957417380544*x^17 + 3769115416697664*x^16 + 692008322845760*x^15 - 7120289847187104*x^14 - 24346797856103168*x^13 - 34527726132542592*x^12 - 4866009404150528*x^11 + 47709753912153312*x^10 + 97497354908476480*x^9 + 109324166655741632*x^8 - 40052693382651328*x^7 - 250446579653938168*x^6 - 156499634266828688*x^5 + 142830220093745264*x^4 + 182784532019863728*x^3 + 7233748402609480*x^2 - 58441345187486400*x - 19830091900536000 -1646568*x^34 - 7912080*x^33 - 24266736*x^32 - 141154704*x^31 - 122229360*x^30 - 631820880*x^29 - 1603349232*x^28 + 7006833264*x^27 + 8442096624*x^26 + 90870661488*x^25 + 454451494736*x^24 + 882096447536*x^23 + 2682662606928*x^22 + 4478529942896*x^21 - 4473516039088*x^20 - 25629302843088*x^19 - 93608387655136*x^18 - 243595143234672*x^17 - 259931406086352*x^16 + 18516457420624*x^15 + 773115033781680*x^14 + 2675298950700816*x^13 + 3692528575484208*x^12 + 182546665454928*x^11 - 5865533386871664*x^10 - 12845207661594160*x^9 - 15397540828613520*x^8 + 6496524017618448*x^7 + 37749942077828208*x^6 + 22749745076797904*x^5 - 23153044382178960*x^4 - 28621355539246320*x^3 - 704610283977400*x^2 + 9607698755928000*x + 3260047059360000
apol.degree(), [a.degree() for a,e in apol.factor()]bpol.degree(),[b.degree() for b,e in bpol.factor()]
(38, [38]) (34, [2, 2, 4, 12, 14])

Check that the polynomials computed have the correct property:

assert apol(v1)+w1*bpol(v1)==t

Divide out to get the rational functions $a(x),b(x)$ such that $j=a(v_1)+w_1b(v_1)$:

arat = apol/((x-1)*(x+1)^37)brat = bpol/((x-1)*(x+1)^37)arat.denominator().factor()brat.denominator().factor()
(x - 1) * (x + 1)^37 (x - 1) * (x + 1)^37

To evaluate $j=a(v_1)+w_1*b(v_1)$ at the relevant points $(v_1,w_1)=(-1,4), (1,-4)$ is not so easy since its poles are at $(v_1,w_1)=(1,-4), (-1,4)$ so the rational functions $a,b$ have poles at $\pm1$.

What we do is to expand $v_1$ and $w_1$ in terms of a local uniformizer $t$. At $(1,4)$ they are $v_{1}(t)=1+t$ and $w_{1}(t)=\sqrt{Q_2(1+t)}$.

Qt.<t>=QQ[[]]v1t=1+tw1t=Q2(v1t).sqrt()w1tassert w1t^2 == Q2(v1t)assert (v1t(0),w1t(0)) == (1,4)
4 - 8*t - 18*t^2 - 43*t^3 - 259/2*t^4 - 1813/4*t^5 - 3441/2*t^6 - 27491/4*t^7 - 910607/32*t^8 - 3872309/32*t^9 - 67243023/128*t^10 - 296778517/128*t^11 - 1327627821/128*t^12 - 1501551057/32*t^13 - 219453392453/1024*t^14 - 2020986042245/2048*t^15 - 37487091018625/8192*t^16 - 2733032325425/128*t^17 - 102576315121921/1024*t^18 - 15474480030558071/32768*t^19 + O(t^20)

Now we can evaluate the $j$-map by replacing $v_1$, $w_1$ with these power series and setting $t=0$. If we negate $w_1(t)$ we are evaluating at the cusp $(1,-4)$ where $j$ has a simple pole, as we can see from its $t$-expansion:

jt=arat(v1t)+w1t*brat(v1t)jtj1=jt(0)print("{} = {}".format(j1,j1.factor()))j2t=arat(v1t)-w1t*brat(v1t)j2t
-9317 + 210419/2*t - 479853*t^2 + 11186025/8*t^3 - 49574635/16*t^4 + 177027869/32*t^5 - 564054899/64*t^6 + 1445967881/128*t^7 - 1108402303/64*t^8 + 1918829953/256*t^9 - 58519790631/1024*t^10 - 285241537861/2048*t^11 - 21385384061/32*t^12 - 22058876609951/8192*t^13 - 186812549871949/16384*t^14 - 1581350806000297/32768*t^15 - 13508851872072089/65536*t^16 - 116107808705225111/131072*t^17 - 1003677078944594737/262144*t^18 + O(t^19) -9317 = -1 * 7 * 11^3 -2*t^-1 + 746 - 196877/2*t + 21100027/4*t^2 - 97561304*t^3 + 7802458509/8*t^4 - 206232045405/32*t^5 + 1010757190855/32*t^6 - 15793174605041/128*t^7 + 103174105893871/256*t^8 - 582806866982353/512*t^9 + 2917193510317207/1024*t^10 - 13177534646382431/2048*t^11 + 3406134377291935/256*t^12 - 104308100771164773/4096*t^13 + 746446562389289861/16384*t^14 - 2510792801526908531/32768*t^15 + 31344554693678993/256*t^16 - 24201337703128048779/131072*t^17 + 71596625786364815073/262144*t^18 + O(t^19)

The above shows that the $j$-invariant image of $(1,4)$ is $-9317$, the $j$-invariant of a curve with rational $37$-isogenies:

E37a=EllipticCurve(j=jt(0))E37aE37a.isogenies_prime_degree()
Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 8*x + 6 over Rational Field [Isogeny of degree 37 from Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 8*x + 6 over Rational Field to Elliptic Curve defined by y^2 + x*y + y = x^3 + x^2 - 208083*x - 36621194 over Rational Field]

We could find the other rational $j$ from the codomain of the above isogeny:

j2=E37a.isogenies_prime_degree()[0].codomain().j_invariant()print("{} = {}".format(j2,j2.factor()))
-162677523113838677 = -1 * 7 * 137^3 * 2083^3

Instead we’ll use expansions in terms of a uniformizer at $(-1,-4)$, which we’ll call $t$ again. Now $v_{1}(t)=-1+t$ and $w_{1}(t)=\sqrt{Q_2(-1+t)}$. Taking the “wrong” sign of square root should give a pole of order $37$.

v1t=-1+t+O(t^75)w1t=-(Q2(v1t)).sqrt(prec=75)w1tassert w1t^2 == Q2(v1t)assert (v1t(0),w1t(0)) == (-1,-4)
-4 - 8*t + 18*t^2 - 43*t^3 + 259/2*t^4 - 1813/4*t^5 + 3441/2*t^6 - 27491/4*t^7 + 910607/32*t^8 - 3872309/32*t^9 + 67243023/128*t^10 - 296778517/128*t^11 + 1327627821/128*t^12 - 1501551057/32*t^13 + 219453392453/1024*t^14 - 2020986042245/2048*t^15 + 37487091018625/8192*t^16 - 2733032325425/128*t^17 + 102576315121921/1024*t^18 - 15474480030558071/32768*t^19 + 293076153980358323/131072*t^20 - 1393099974730020151/131072*t^21 + 13290772678155288209/262144*t^22 - 127208185416076317003/524288*t^23 + 152639048726509760681/131072*t^24 - 11753466053454887100273/2097152*t^25 + 113410352964628141107393/4194304*t^26 - 548407403434790132417273/4194304*t^27 + 10630026673428395507700109/16777216*t^28 - 51613141496087509554110621/16777216*t^29 + 1004251102351830702775949253/67108864*t^30 - 2446681962346809704412897069/33554432*t^31 + 191054844154277160313376035445/536870912*t^32 - 466918002522886126848552252275/268435456*t^33 + 9141674879551760283813722833847/1073741824*t^34 - 89610229439526375840943571234879/2147483648*t^35 + 54968415566324473712296321046265/268435456*t^36 - 8642163440576674026044872684872771/8589934592*t^37 + 21253855563630277068024650952068745/4294967296*t^38 - 418604039739818330689780691818868273/17179869184*t^39 + 16505778029940366892089368904465145571/137438953472*t^40 - 40715869206434117912507006528434275285/68719476736*t^41 + 201055669254081256235418391052371292573/68719476736*t^42 - 7949413175268339917920453726026242054579/549755813888*t^43 + 78641632079746247329164254133013621559351/1099511627776*t^44 - 778596400264183077752186028245073717039139/2199023255552*t^45 + 1928588243766029304910479508414417176788109/1099511627776*t^46 - 38244560202854535651129668227565662257719867/4398046511104*t^47 + 379463130444587856125334997747460390701993349/8796093022208*t^48 - 3767530618796177549089837395398280528113072619/17592186044416*t^49 + 74859958459039916479731589449875076635050814729/70368744177664*t^50 - 93022280088315118251295894821783019913655597553/17592186044416*t^51 + 7402162050621565813028195803216056604943160370073/281474976710656*t^52 - 36834492585373805083430604382990421559881228728819/281474976710656*t^53 + 22924299738431471064871803502867460432429672697087/35184372088832*t^54 - 456787296787925084904410739320763169294049293426623/140737488355328*t^55 + 72851801535810827113299014527650331586126017766833759/4503599627370496*t^56 - 363268017845793412643011934393381905935992353883710707/4503599627370496*t^57 + 3624492644952858081000067353755627491296294286523479685/9007199254740992*t^58 - 36179576799048671378280422364915502054044492307897197979/18014398509481984*t^59 + 722602235240625405978048224307197106794234437435713456049/72057594037927936*t^60 - 3609594225317902042512398353419494526444893547622862470943/72057594037927936*t^61 + 9019131694281260181945513570273695032922866595284926014633/36028797018963968*t^62 - 360713674832437564664829123481591338288910636392833104257963/288230376151711744*t^63 + 14432002647554379795854208707864201682559100896920607874259509/2305843009213693952*t^64 - 9025505833890345327732246678802073688577270896908873735998171/288230376151711744*t^65 + 722740616168206379868618181756559148387287351491015320353244249/4611686018427387904*t^66 - 7236934726860522698247047523144102898928467099080612039500712609/9223372036854775808*t^67 + 72489250956411744149551893700750547716043864449563537725890910001/18446744073709551616*t^68 - 726331738823559670691982729594595947142564898325346868602699574139/36893488147419103232*t^69 + 3640028362655181028814077455392884602977991146514286743686119462907/36893488147419103232*t^70 - 2280966523979066087546070321604027169181463798940716233796420617149/4611686018427387904*t^71 + 91504749277270543056380622580406832030967256209603743672096710037505/36893488147419103232*t^72 - 3671938030197037945546421148743095965711722583337407545263164016387079/295147905179352825856*t^73 + 73695431442001596863604615279017837432824330299945550097075740128781927/1180591620717411303424*t^74 + O(t^75)

Note that using lower $t$-adic precision here fails!

j3t=arat(v1t)+w1t*brat(v1t)j3tj4t=arat(v1t)-w1t*brat(v1t)j4tj2=j4t(0)print("{} = {}".format(j2,j2.factor()))
137438953472*t^-37 + 5085241278464*t^-36 + 82635170775040*t^-35 + 769778398527488*t^-34 + 4481368876646400*t^-33 + 16507011017474048*t^-32 + 36025994552803328*t^-31 + 33694411426627584*t^-30 - 26609220237393920*t^-29 - 75693448941797376*t^-28 + 15705653469249536*t^-27 + 98475968007503872*t^-26 - 50430325343387648*t^-25 - 85785912276942848*t^-24 + 108403466103160832*t^-23 - 3056752685744128*t^-22 - 88081252661329920*t^-21 + 83146104759123968*t^-20 - 21563109054873600*t^-19 - 27126249744760832*t^-18 + 37632761994543104*t^-17 - 24839468042551296*t^-16 + 9600135862943744*t^-15 - 1010520755257344*t^-14 - 1578480302768128*t^-13 + 1449394537349120*t^-12 - 782102448947200*t^-11 + 319511980435456*t^-10 - 106169489975296*t^-9 + 29577141629696*t^-8 - 7003056247168*t^-7 + 1413956347392*t^-6 - 241917391264*t^-5 + 34445701744*t^-4 - 3942240184*t^-3 + 340789684*t^-2 - 19758814*t^-1 + 162677523114413670 + O(t) -162677523113838677 + O(t) -162677523113838677 = -1 * 7 * 137^3 * 2083^3

I was expecting these to be the other way round since I though the second cusp was $(-1,4)$ and not $(-1,-4)$…

Reply via email to