/*************************************************************************************************** PRINCIPALLY POLARIZED SQUARES OF ELLIPTIC CURVES WITH FIELD OF MODULI EQUAL TO Q ALEXANDRE GÉLIN, EVERETT W. HOWE, AND CHRISTOPHE RITZENTHALER ***************************************************************************************************/ // This is Maple code for reducing the period matrices using the functon Siegel(). // The results are available in the file RedPerMat.m to get something that uses only Magma with(algcurves): List:=[ [-8, [ 1/4*(u - 4), 1/6*(u + 4), 1/2 ]], [-20, [ 1/10*u, 1/10*u, -1/2 ]], [-24, [ 1/14*(u - 48), 1/12*(u + 12), -1/2 ]], [-40, [ 1/22*(u - 120), 1/20*(u + 20), -1/2 ]], [-40, [ 1/110*(7*u - 260), 1/11*(3*u + 30), 1/11*(u + 10) ]], [-52, [ 1/26*u, 1/26*u, -1/2 ]], [-52, [ 1/182*(9*u - 611), 1/14*(3*u + 39), 1/14*(u + 13) ]], [-88, [ 1/46*(u - 528), 1/44*(u + 44), -1/2 ]], [-88, [ 1/619391*(798*u - 1247417), 1/619391*(1992*u - 328922), 1/619391*(985*u - 155804) ]], [-148, [ 1/74*u, 1/74*u, -1/2 ]], [-148, [ 1/14190326*(951*u - 17772743), 1/28380652*(17621*u - 9617003), 1/14190326*(2198*u - 1184703) ]], [-148, [ 1/5513*(31*u - 30784), 1/149*(6*u + 444), 1/149*(u + 74) ]], [-232, [ 1/118*(u - 3480), 1/116*(u + 116), -1/2 ]], [-232, [ 1/413878394*(20373*u - 828346706), 1/206939197*(21939*u - 32448622), 1/206939197*(10955*u - 15929323) ]], [-232, [ 1/36276587*(3026*u - 54502185), 1/36276587*(27166*u - 18514470), 1/36276587*(6777*u - 4541284) ]], [-232, [ 1/406*(u - 12934), 1/406*(u - 464), -4/7 ]], [-232, [ 1/59681989387*(225803*u - 101777596362), 1/1411489*(7*u + 63336), 1/1411489*(2*u + 18096) ]], [-120, [ 1/5442919*(2348*u - 10920803), 1/5442919*(5476*u - 1889670), 1/5442919*(2723*u - 909840) ]], [-120, [ 1/33511*(241*u + 400110), 1/1081*(5*u + 900), 1/1081*(-2*u - 360) ]], [-120, [ 1/59551*(409*u + 1423650), 1/1921*(5*u + 1200), 1/1921*(-2*u - 480) ]], [-132, [ 1/3227518*(547*u - 3639969), 1/8449*(5*u + 2640), 1/8449*(2*u + 1056) ]], [-228, [ 1/10021341242*(116101*u - 34860850696), 1/10021341242*(48377*u - 439795128), 1/10021341242*(24616*u - 217880163) ]], [-312, [ 1/75512*(u - 169044), 1/624*(u - 2340), -3/8 ]], [-520, [ 1/6492975371*(40322*u - 9742081809), 1/6492975371*(338566*u - 1309408230), 1/6492975371*(84609*u - 324733240) ]], [-520, [ 1/188772*(u - 1099740), 1/1560*(u - 49140), -7/12 ]], [-520, [ 1/41380320340902*(9616537*u - 247973162655122), 1/20690160170451*(746507*u - 155224633070), 1/20690160170451*(375561*u - 77491613095) ]], [-708, [ 1/709609818579826*(24220441*u - 965405833995765), 1/130909201*(11*u + 1674420), 1/130909201*(5*u + 761100) ]], [-760, [ 1/106697681915039*(10330122*u - 853588324409027), 1/106697681915039*(20911044*u - 2604365993030), 1/106697681915039*(10455427*u - 1301201698100) ]], [-11, [ 1/9*(u - 13), 1/9*(u - 13), 1/18*(u - 13) ]], [-19, [ 1/10*(3*u - 13), u + 1, 1/2*(u + 1) ]], [-43, [ 1/11*(3*u - 47), u + 1, 1/2*(u + 1) ]], [-43, [ 1/66*(u - 419), 1/66*(u - 1), -2/3 ]], [-67, [ 1/34*(9*u - 247), u + 1, 1/2*(u + 1) ]], [-67, [ 1/102*(u - 1055), 1/102*(u - 1), -2/3 ]], [-67, [ 1/646*(9*u - 2117), 1/19*(2*u + 70), 1/38*(u + 35) ]], [-163, [ 1/82*(21*u - 1579), u + 1, 1/2*(u + 1) ]], [-163, [ 1/246*(u - 6479), 1/246*(u - 1), -2/3 ]], [-163, [ 1/3526*(21*u - 32657), 1/43*(2*u + 166), 1/86*(u + 83) ]], [-163, [ 1/410*(u - 19599), 1/410*(u - 1), -3/5 ]], [-163, [ 1/82*(7*u + 567), 3*u + 3, 1/2*(-u - 1) ]], [-163, [ 1/44839*(3*u - 105987), 1/1838399*(3740*u + 7229152), 1/89678*(u - 35329) ]], [-163, [ 1/368818*(7*u - 803701), 1/7560769*(13175*u + 36065718), 1/368818*(u - 220191) ]], [-595, [ 1/2522665198*(212055*u - 3780021221), 1/1261332599*(535376*u + 1418475698), 1/2522665198*(475181*u + 1259691465) ]], [-595, [ 1/382063439*(606*u - 501638492), 1/1910317195*(70839*u - 777747454), 1/3820634390*(21829*u - 238858845) ]], [-795, [ 1/6812521*(5*u - 15098025), 1/1355691679*(340636*u + 21931819504), 1/13625042*(u - 3019605) ]], [-795, [ 1/634611*(154*u - 11120274), 1/6378*(11*u + 17523), 1/6378*(u + 1593) ]]]: ListB:=[]: for l in List do Disc:=l[1]; u:=RootOf(_Z^2-Disc); M:=Matrix(2,2,[[l[2][1],l[2][3]],[conjugate(l[2][3]),l[2][2]]]); S:=Siegel(M); B:=S[2]; ListB:=[op(ListB),[seq(seq(B[i,j],j=1..4),i=1..4)]]; end do: