/* This code can be loaded, or copied and pasted, into Magma. It will load the data associated to the HMF, including the field, level, and Hecke and Atkin-Lehner eigenvalue data. At the *bottom* of the file, there is code to recreate the Hilbert modular form in Magma, by creating the HMF space and cutting out the corresponding Hecke irreducible subspace. From there, you can ask for more eigenvalues or modify as desired. It is commented out, as this computation may be lengthy. */ P := PolynomialRing(Rationals()); g := P![-52, -1, 1]; F := NumberField(g); ZF := Integers(F); NN := ideal; primesArray := [ [2, 2, -11*w - 74], [2, 2, -11*w + 85], [5, 5, 4*w - 31], [5, 5, -4*w - 27], [9, 3, 3], [11, 11, -70*w - 471], [13, 13, -2*w - 13], [13, 13, -2*w + 15], [19, 19, 92*w - 711], [23, 23, -26*w + 201], [23, 23, -26*w - 175], [29, 29, 18*w - 139], [29, 29, 18*w + 121], [41, 41, -10*w - 67], [41, 41, 10*w - 77], [47, 47, 2*w - 17], [47, 47, 2*w + 15], [49, 7, -7], [79, 79, 40*w - 309], [79, 79, 40*w + 269], [107, 107, 4*w + 25], [107, 107, -4*w + 29], [109, 109, 2*w - 11], [109, 109, -2*w - 9], [127, 127, 136*w + 915], [127, 127, 136*w - 1051], [137, 137, -8*w - 55], [137, 137, 8*w - 63], [151, 151, -16*w - 107], [151, 151, 16*w - 123], [157, 157, 188*w + 1265], [157, 157, 188*w - 1453], [163, 163, 14*w + 95], [163, 163, 14*w - 109], [167, 167, -24*w + 185], [167, 167, -24*w - 161], [173, 173, 2*w - 7], [173, 173, -2*w - 5], [191, 191, 2*w - 21], [191, 191, -2*w - 19], [193, 193, 2*w - 5], [193, 193, -2*w - 3], [199, 199, 166*w - 1283], [199, 199, 166*w + 1117], [211, 211, 4*w - 27], [211, 211, -4*w - 23], [227, 227, 84*w - 649], [227, 227, 84*w + 565], [229, 229, -100*w + 773], [229, 229, -100*w - 673], [241, 241, 14*w - 107], [241, 241, -14*w - 93], [251, 251, -10*w - 69], [251, 251, 10*w - 79], [281, 281, 6*w + 37], [281, 281, -6*w + 43], [289, 17, -17], [293, 293, 298*w + 2005], [293, 293, 298*w - 2303], [307, 307, -4*w - 21], [307, 307, 4*w - 25], [311, 311, 22*w + 149], [311, 311, -22*w + 171], [313, 313, 16*w - 125], [313, 313, -16*w - 109], [337, 337, 46*w + 309], [337, 337, -46*w + 355], [353, 353, -64*w + 495], [353, 353, -64*w - 431], [367, 367, 2*w - 25], [367, 367, -2*w - 23], [373, 373, -38*w + 293], [373, 373, 38*w + 255], [389, 389, 4*w - 37], [389, 389, -4*w - 33], [397, 397, -12*w - 83], [397, 397, 12*w - 95], [409, 409, 202*w + 1359], [409, 409, 202*w - 1561], [419, 419, -50*w + 387], [419, 419, 50*w + 337], [431, 431, 320*w - 2473], [431, 431, 320*w + 2153], [439, 439, 128*w - 989], [439, 439, 128*w + 861], [443, 443, -86*w - 579], [443, 443, -86*w + 665], [463, 463, 306*w + 2059], [463, 463, 306*w - 2365], [467, 467, 2*w - 27], [467, 467, -2*w - 25], [499, 499, 30*w + 203], [499, 499, -30*w + 233], [523, 523, 68*w + 457], [523, 523, 68*w - 525], [547, 547, 4*w - 19], [547, 547, -4*w - 15], [563, 563, -28*w - 187], [563, 563, 28*w - 215], [569, 569, 150*w - 1159], [569, 569, 150*w + 1009], [577, 577, 72*w + 485], [577, 577, 72*w - 557], [587, 587, 262*w - 2025], [587, 587, 262*w + 1763], [601, 601, -10*w + 73], [601, 601, 10*w + 63], [607, 607, 16*w - 121], [607, 607, -16*w - 105], [617, 617, -152*w + 1175], [617, 617, -152*w - 1023], [619, 619, -6*w - 47], [619, 619, 6*w - 53], [631, 631, -58*w + 449], [631, 631, 58*w + 391], [643, 643, -174*w + 1345], [643, 643, -174*w - 1171], [647, 647, 218*w + 1467], [647, 647, 218*w - 1685], [653, 653, -196*w - 1319], [653, 653, 196*w - 1515], [659, 659, -52*w + 401], [659, 659, 52*w + 349], [673, 673, 482*w + 3243], [673, 673, 482*w - 3725], [677, 677, 246*w + 1655], [677, 677, 246*w - 1901], [691, 691, 2*w - 31], [691, 691, -2*w - 29], [709, 709, 20*w + 137], [709, 709, 20*w - 157], [719, 719, -94*w + 727], [719, 719, -94*w - 633], [727, 727, 38*w + 257], [727, 727, -38*w + 295], [743, 743, -8*w + 55], [743, 743, 8*w + 47], [757, 757, 12*w - 97], [757, 757, 12*w + 85], [787, 787, -4*w - 5], [787, 787, 4*w - 9], [811, 811, 4*w - 7], [811, 811, -4*w - 3], [823, 823, 6*w - 55], [823, 823, -6*w - 49], [827, 827, -4*w - 1], [827, 827, 4*w - 5], [857, 857, 6*w - 35], [857, 857, -6*w - 29], [859, 859, -10*w - 73], [859, 859, 10*w - 83], [877, 877, 194*w - 1499], [877, 877, 194*w + 1305], [881, 881, -8*w - 61], [881, 881, 8*w - 69], [883, 883, -66*w + 511], [883, 883, 66*w + 445], [887, 887, 504*w + 3391], [887, 887, 504*w - 3895], [929, 929, 424*w + 2853], [929, 929, 424*w - 3277], [941, 941, 386*w - 2983], [941, 941, 386*w + 2597], [947, 947, 2*w - 35], [947, 947, -2*w - 33], [953, 953, 22*w - 167], [953, 953, -22*w - 145], [961, 31, -31]]; primes := [ideal : I in primesArray]; heckePol := x^5 - 3*x^4 - 15*x^3 + 54*x^2 - 32*x + 4; K := NumberField(heckePol); heckeEigenvaluesArray := [1, 0, -7/18*e^4 + 17/18*e^3 + 107/18*e^2 - 161/9*e + 65/9, e, e - 1, 1/18*e^4 - 5/18*e^3 - 23/18*e^2 + 41/9*e + 1/9, 1/6*e^4 + 1/6*e^3 - 17/6*e^2 - 1/3*e + 10/3, -2/3*e^4 + 4/3*e^3 + 31/3*e^2 - 80/3*e + 32/3, 1/6*e^4 - 5/6*e^3 - 17/6*e^2 + 44/3*e - 14/3, 5/9*e^4 - 16/9*e^3 - 79/9*e^2 + 284/9*e - 125/9, 11/18*e^4 - 19/18*e^3 - 181/18*e^2 + 181/9*e - 7/9, 1/6*e^4 - 5/6*e^3 - 17/6*e^2 + 41/3*e - 2/3, -7/6*e^4 + 17/6*e^3 + 113/6*e^2 - 152/3*e + 44/3, e^4 - 3*e^3 - 16*e^2 + 56*e - 20, 1/2*e^4 - 1/2*e^3 - 15/2*e^2 + 12*e, 2/9*e^4 - 1/9*e^3 - 28/9*e^2 + 56/9*e - 59/9, 13/18*e^4 - 47/18*e^3 - 209/18*e^2 + 398/9*e - 131/9, 1/2*e^4 - 1/2*e^3 - 15/2*e^2 + 12*e - 5, 1/2*e^4 - 1/2*e^3 - 17/2*e^2 + 14*e + 8, 11/6*e^4 - 25/6*e^3 - 181/6*e^2 + 235/3*e - 58/3, 2/3*e^4 - 4/3*e^3 - 28/3*e^2 + 80/3*e - 62/3, -5/3*e^4 + 13/3*e^3 + 79/3*e^2 - 242/3*e + 86/3, -e^4 + 3*e^3 + 15*e^2 - 54*e + 22, 11/6*e^4 - 31/6*e^3 - 175/6*e^2 + 274/3*e - 88/3, -2/3*e^4 + 4/3*e^3 + 28/3*e^2 - 80/3*e + 44/3, 5/3*e^4 - 13/3*e^3 - 79/3*e^2 + 242/3*e - 50/3, 43/18*e^4 - 107/18*e^3 - 683/18*e^2 + 989/9*e - 281/9, -e^4 + e^3 + 16*e^2 - 26*e + 6, -1/6*e^4 - 7/6*e^3 + 17/6*e^2 + 52/3*e - 40/3, -2/3*e^4 + 4/3*e^3 + 34/3*e^2 - 62/3*e - 16/3, -13/9*e^4 + 20/9*e^3 + 209/9*e^2 - 409/9*e + 1/9, 17/18*e^4 - 49/18*e^3 - 247/18*e^2 + 454/9*e - 217/9, 2*e^4 - 5*e^3 - 33*e^2 + 91*e - 16, -2*e^4 + 6*e^3 + 32*e^2 - 108*e + 36, 1/3*e^4 + 1/3*e^3 - 17/3*e^2 - 14/3*e + 50/3, -11/6*e^4 + 31/6*e^3 + 175/6*e^2 - 268/3*e + 100/3, 13/6*e^4 - 23/6*e^3 - 203/6*e^2 + 236/3*e - 74/3, -5/6*e^4 + 13/6*e^3 + 85/6*e^2 - 115/3*e + 16/3, -e^3 - e^2 + 15*e - 12, 13/9*e^4 - 29/9*e^3 - 200/9*e^2 + 535/9*e - 253/9, 2/3*e^4 - 7/3*e^3 - 31/3*e^2 + 116/3*e - 38/3, -5/2*e^4 + 15/2*e^3 + 83/2*e^2 - 134*e + 38, 5/3*e^4 - 7/3*e^3 - 82/3*e^2 + 143/3*e + 13/3, -5/6*e^4 + 7/6*e^3 + 73/6*e^2 - 76/3*e + 7/3, -6, 7/3*e^4 - 17/3*e^3 - 107/3*e^2 + 322/3*e - 112/3, 7/6*e^4 - 17/6*e^3 - 113/6*e^2 + 155/3*e - 2/3, 2*e^2 - 2*e - 18, -e^4 + 3*e^3 + 16*e^2 - 52*e + 22, 14/9*e^4 - 25/9*e^3 - 223/9*e^2 + 518/9*e - 71/9, 7/2*e^4 - 15/2*e^3 - 111/2*e^2 + 141*e - 32, 11/6*e^4 - 31/6*e^3 - 175/6*e^2 + 265/3*e - 88/3, e^4 - 3*e^3 - 17*e^2 + 50*e, 55/18*e^4 - 113/18*e^3 - 887/18*e^2 + 1040/9*e - 197/9, -29/6*e^4 + 73/6*e^3 + 469/6*e^2 - 661/3*e + 190/3, -e^4 + 2*e^3 + 14*e^2 - 38*e + 20, -7/9*e^4 - 1/9*e^3 + 116/9*e^2 - 61/9*e - 167/9, 2*e^4 - 6*e^3 - 31*e^2 + 108*e - 40, 7/6*e^4 - 11/6*e^3 - 125/6*e^2 + 92/3*e + 46/3, 1/2*e^4 + 1/2*e^3 - 19/2*e^2 - 5*e + 24, -2/3*e^4 + 10/3*e^3 + 34/3*e^2 - 158/3*e + 56/3, -13/18*e^4 + 29/18*e^3 + 263/18*e^2 - 263/9*e - 157/9, -2/9*e^4 + 19/9*e^3 + 28/9*e^2 - 272/9*e + 203/9, 43/18*e^4 - 89/18*e^3 - 647/18*e^2 + 881/9*e - 407/9, -43/18*e^4 + 89/18*e^3 + 683/18*e^2 - 845/9*e + 353/9, 19/6*e^4 - 41/6*e^3 - 299/6*e^2 + 377/3*e - 80/3, -1/6*e^4 - 13/6*e^3 + 17/6*e^2 + 97/3*e - 64/3, -41/18*e^4 + 61/18*e^3 + 619/18*e^2 - 637/9*e + 229/9, -55/18*e^4 + 149/18*e^3 + 887/18*e^2 - 1382/9*e + 413/9, 3*e^4 - 7*e^3 - 48*e^2 + 129*e - 45, -23/6*e^4 + 73/6*e^3 + 367/6*e^2 - 628/3*e + 193/3, -7/2*e^4 + 17/2*e^3 + 109/2*e^2 - 156*e + 38, 7/6*e^4 - 35/6*e^3 - 119/6*e^2 + 293/3*e - 110/3, -4*e^4 + 8*e^3 + 64*e^2 - 157*e + 34, 16/9*e^4 - 35/9*e^3 - 242/9*e^2 + 673/9*e - 247/9, -14/3*e^4 + 34/3*e^3 + 226/3*e^2 - 611/3*e + 191/3, 11/6*e^4 - 19/6*e^3 - 175/6*e^2 + 187/3*e + 5/3, -8/3*e^4 + 19/3*e^3 + 127/3*e^2 - 350/3*e + 80/3, 10/3*e^4 - 17/3*e^3 - 161/3*e^2 + 352/3*e - 28/3, 2*e^4 - 7*e^3 - 33*e^2 + 121*e - 34, e^4 - 2*e^3 - 16*e^2 + 39*e - 30, -13/6*e^4 + 23/6*e^3 + 191/6*e^2 - 245/3*e + 134/3, -1/2*e^4 - 3/2*e^3 + 17/2*e^2 + 22*e - 36, 7/6*e^4 - 23/6*e^3 - 131/6*e^2 + 194/3*e + 34/3, -2*e^4 + 6*e^3 + 30*e^2 - 114*e + 56, -e^3 + e^2 + 19*e - 6, 16/9*e^4 - 44/9*e^3 - 251/9*e^2 + 817/9*e - 301/9, 7/3*e^4 - 26/3*e^3 - 113/3*e^2 + 448/3*e - 157/3, 2*e^4 - 7*e^3 - 33*e^2 + 125*e - 44, e^4 - e^3 - 17*e^2 + 26*e - 4, -8/9*e^4 + 13/9*e^3 + 130/9*e^2 - 260/9*e - 133/9, -41/9*e^4 + 97/9*e^3 + 682/9*e^2 - 1769/9*e + 359/9, -32/9*e^4 + 79/9*e^3 + 502/9*e^2 - 1490/9*e + 377/9, -4/3*e^4 + 14/3*e^3 + 74/3*e^2 - 232/3*e - 8/3, 5/3*e^4 - 13/3*e^3 - 79/3*e^2 + 236/3*e - 116/3, -7/6*e^4 + 17/6*e^3 + 113/6*e^2 - 149/3*e + 86/3, -1/6*e^4 - 13/6*e^3 + 11/6*e^2 + 97/3*e - 88/3, e^4 - 3*e^3 - 13*e^2 + 48*e - 54, -3/2*e^4 + 7/2*e^3 + 47/2*e^2 - 70*e + 10, -1/6*e^4 + 5/6*e^3 - 1/6*e^2 - 56/3*e + 134/3, 7/6*e^4 + 1/6*e^3 - 113/6*e^2 + 20/3*e + 52/3, -2*e^4 + 3*e^3 + 28*e^2 - 63*e + 46, -31/18*e^4 + 65/18*e^3 + 497/18*e^2 - 650/9*e + 221/9, -17/9*e^4 + 13/9*e^3 + 256/9*e^2 - 341/9*e + 65/9, 10/9*e^4 - 41/9*e^3 - 176/9*e^2 + 712/9*e - 205/9, -11/6*e^4 + 49/6*e^3 + 187/6*e^2 - 403/3*e + 94/3, -3/2*e^4 + 13/2*e^3 + 47/2*e^2 - 107*e + 44, 4/3*e^4 - 8/3*e^3 - 62/3*e^2 + 172/3*e - 40/3, 7/2*e^4 - 15/2*e^3 - 111/2*e^2 + 142*e - 36, -35/18*e^4 + 85/18*e^3 + 589/18*e^2 - 742/9*e - 71/9, -35/18*e^4 + 139/18*e^3 + 535/18*e^2 - 1201/9*e + 469/9, 61/18*e^4 - 143/18*e^3 - 989/18*e^2 + 1376/9*e - 389/9, -43/18*e^4 + 125/18*e^3 + 647/18*e^2 - 1142/9*e + 461/9, 16/9*e^4 - 44/9*e^3 - 269/9*e^2 + 781/9*e - 283/9, 7*e^4 - 15*e^3 - 111*e^2 + 286*e - 80, 3*e^4 - 8*e^3 - 48*e^2 + 145*e - 30, 1/3*e^4 - 2/3*e^3 - 23/3*e^2 + 40/3*e + 47/3, e^4 - 16*e^2 + 13*e - 2, 5/18*e^4 - 7/18*e^3 - 97/18*e^2 + 52/9*e + 203/9, -77/18*e^4 + 187/18*e^3 + 1231/18*e^2 - 1744/9*e + 445/9, -4*e^4 + 11*e^3 + 62*e^2 - 197*e + 76, -17/6*e^4 + 55/6*e^3 + 283/6*e^2 - 481/3*e + 124/3, 1/6*e^4 + 1/6*e^3 - 23/6*e^2 - 13/3*e - 2/3, -11/3*e^4 + 37/3*e^3 + 184/3*e^2 - 650/3*e + 182/3, -17/6*e^4 + 49/6*e^3 + 271/6*e^2 - 436/3*e + 124/3, -5/3*e^4 + 10/3*e^3 + 70/3*e^2 - 194/3*e + 104/3, 7/6*e^4 - 29/6*e^3 - 125/6*e^2 + 224/3*e - 32/3, -5/2*e^4 + 9/2*e^3 + 83/2*e^2 - 91*e + 11, -2*e^4 + 8*e^3 + 30*e^2 - 146*e + 72, 8/3*e^4 - 13/3*e^3 - 133/3*e^2 + 260/3*e - 11/3, -9/2*e^4 + 21/2*e^3 + 145/2*e^2 - 189*e + 51, -35/18*e^4 + 103/18*e^3 + 517/18*e^2 - 1003/9*e + 487/9, -e^4 + 6*e^3 + 16*e^2 - 105*e + 58, -3*e^3 + 46*e - 35, -3*e^4 + 9*e^3 + 51*e^2 - 158*e + 40, -11/6*e^4 + 31/6*e^3 + 175/6*e^2 - 280/3*e + 130/3, -19/6*e^4 + 53/6*e^3 + 305/6*e^2 - 473/3*e + 104/3, -16/9*e^4 + 8/9*e^3 + 251/9*e^2 - 214/9*e - 203/9, 49/18*e^4 - 119/18*e^3 - 821/18*e^2 + 1055/9*e - 95/9, e^4 - 3*e^3 - 17*e^2 + 54*e - 38, 4/3*e^4 - 14/3*e^3 - 74/3*e^2 + 226/3*e + 32/3, 2*e^3 - 4*e^2 - 32*e + 52, -7/2*e^4 + 15/2*e^3 + 111/2*e^2 - 130*e + 36, 7*e^4 - 15*e^3 - 111*e^2 + 290*e - 84, -14/9*e^4 + 52/9*e^3 + 259/9*e^2 - 941/9*e + 53/9, -16/3*e^4 + 38/3*e^3 + 260/3*e^2 - 712/3*e + 238/3, -3/2*e^4 + 11/2*e^3 + 51/2*e^2 - 100*e + 18, 7/6*e^4 - 41/6*e^3 - 119/6*e^2 + 341/3*e - 110/3, 2/3*e^4 - 4/3*e^3 - 43/3*e^2 + 92/3*e + 94/3, 4/9*e^4 - 20/9*e^3 - 65/9*e^2 + 301/9*e - 163/9, -e^4 + 14*e^2 - 11*e + 10, e^4 - 8*e^3 - 16*e^2 + 124*e - 56, 2*e^4 - 7*e^3 - 33*e^2 + 122*e - 36, -e^4 + 7*e^3 + 18*e^2 - 116*e + 58, -41/18*e^4 + 151/18*e^3 + 691/18*e^2 - 1294/9*e + 319/9, -67/18*e^4 + 137/18*e^3 + 1055/18*e^2 - 1280/9*e + 149/9, -13/18*e^4 + 83/18*e^3 + 245/18*e^2 - 632/9*e + 149/9, 3*e^4 - 7*e^3 - 47*e^2 + 134*e - 62, -14/3*e^4 + 40/3*e^3 + 226/3*e^2 - 710/3*e + 218/3, 4*e^4 - 8*e^3 - 61*e^2 + 154*e - 66, -4*e^4 + 8*e^3 + 63*e^2 - 154*e + 50, 2*e^4 - 6*e^3 - 32*e^2 + 106*e - 28, -7/3*e^4 + 29/3*e^3 + 113/3*e^2 - 478/3*e + 142/3, -16/9*e^4 + 53/9*e^3 + 260/9*e^2 - 880/9*e + 67/9, 1/9*e^4 - 23/9*e^3 + 4/9*e^2 + 289/9*e - 349/9, 2*e^4 - 10*e^3 - 32*e^2 + 162*e - 56, 5/3*e^4 - 7/3*e^3 - 91/3*e^2 + 134/3*e + 118/3, -37/6*e^4 + 101/6*e^3 + 599/6*e^2 - 902/3*e + 287/3]; heckeEigenvalues := AssociativeArray(); for i := 1 to #heckeEigenvaluesArray do heckeEigenvalues[primes[i]] := heckeEigenvaluesArray[i]; end for; ALEigenvalues := AssociativeArray(); ALEigenvalues[ideal] := -1; ALEigenvalues[ideal] := -1; // EXAMPLE: // pp := Factorization(2*ZF)[1][1]; // heckeEigenvalues[pp]; print "To reconstruct the Hilbert newform f, type f, iso := Explode(make_newform());"; function make_newform(); M := HilbertCuspForms(F, NN); S := NewSubspace(M); // SetVerbose("ModFrmHil", 1); NFD := NewformDecomposition(S); newforms := [* Eigenform(U) : U in NFD *]; if #newforms eq 0 then; print "No Hilbert newforms at this level"; return 0; end if; print "Testing ", #newforms, " possible newforms"; newforms := [* f: f in newforms | IsIsomorphic(BaseField(f), K) *]; print #newforms, " newforms have the correct Hecke field"; if #newforms eq 0 then; print "No Hilbert newform found with the correct Hecke field"; return 0; end if; autos := Automorphisms(K); xnewforms := [* *]; for f in newforms do; if K eq RationalField() then; Append(~xnewforms, [* f, autos[1] *]); else; flag, iso := IsIsomorphic(K,BaseField(f)); for a in autos do; Append(~xnewforms, [* f, a*iso *]); end for; end if; end for; newforms := xnewforms; for P in primes do; xnewforms := [* *]; for f_iso in newforms do; f, iso := Explode(f_iso); if HeckeEigenvalue(f,P) eq iso(heckeEigenvalues[P]) then; Append(~xnewforms, f_iso); end if; end for; newforms := xnewforms; if #newforms eq 0 then; print "No Hilbert newform found which matches the Hecke eigenvalues"; return 0; else if #newforms eq 1 then; print "success: unique match"; return newforms[1]; end if; end if; end for; print #newforms, "Hilbert newforms found which match the Hecke eigenvalues"; return newforms[1]; end function;