/* 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![44, 0, -14, 0, 1]; F := NumberField(g); ZF := Integers(F); NN := ideal; primesArray := [ [4, 2, -1/2*w^3 + w^2 + 4*w - 8], [11, 11, 1/2*w^3 - 3/2*w^2 - 4*w + 11], [11, 11, -1/2*w^2 - w + 2], [11, 11, -1/2*w^2 + w + 2], [19, 19, 1/2*w^3 - 1/2*w^2 - 4*w + 5], [19, 19, 1/2*w^3 + w^2 - 4*w - 9], [19, 19, 1/2*w^3 - w^2 - 4*w + 9], [19, 19, 1/2*w^3 + 1/2*w^2 - 4*w - 5], [25, 5, 1/2*w^2 - 1], [29, 29, 1/2*w^3 - 4*w - 1], [29, 29, -1/2*w^3 + 4*w - 1], [31, 31, -w - 1], [31, 31, w - 1], [41, 41, 1/2*w^3 + 1/2*w^2 - 4*w - 2], [41, 41, -1/2*w^3 + 1/2*w^2 + 4*w - 2], [49, 7, -1/2*w^3 + 1/2*w^2 + 5*w - 7], [49, 7, 3/2*w^3 - 7/2*w^2 - 13*w + 29], [59, 59, -1/2*w^3 - 3/2*w^2 + 3*w + 10], [59, 59, 1/2*w^3 - 3/2*w^2 - 3*w + 10], [61, 61, 1/2*w^2 + w - 6], [61, 61, 1/2*w^2 - w - 6], [71, 71, w^3 - 5/2*w^2 - 8*w + 20], [71, 71, -w^3 + 5/2*w^2 + 10*w - 24], [81, 3, -3], [101, 101, -1/2*w^3 + 1/2*w^2 + 4*w - 1], [101, 101, 1/2*w^3 + 1/2*w^2 - 4*w - 1], [109, 109, 3/2*w^2 + w - 12], [109, 109, 3/2*w^2 - w - 12], [149, 149, 1/2*w^3 + 2*w^2 - 4*w - 15], [149, 149, -1/2*w^3 + 2*w^2 + 4*w - 15], [151, 151, 1/2*w^3 - 1/2*w^2 - 4*w + 8], [151, 151, -w^3 + 5/2*w^2 + 8*w - 18], [151, 151, -w^3 + 3/2*w^2 + 10*w - 18], [151, 151, -1/2*w^3 - 1/2*w^2 + 4*w + 8], [179, 179, 1/2*w^3 + w^2 - 4*w - 5], [179, 179, -1/2*w^3 + w^2 + 4*w - 5], [181, 181, 1/2*w^3 - 5*w - 3], [181, 181, w^3 - 1/2*w^2 - 7*w - 1], [181, 181, -1/2*w^3 - 5/2*w^2 + 4*w + 15], [181, 181, 1/2*w^3 - 5*w + 3], [191, 191, w^3 - 2*w^2 - 7*w + 13], [191, 191, -w^3 - 2*w^2 + 7*w + 13], [199, 199, -5/2*w^2 - 2*w + 18], [199, 199, -5/2*w^2 + 2*w + 18], [241, 241, -3/2*w^3 + 7/2*w^2 + 14*w - 30], [241, 241, -3/2*w^3 + 5/2*w^2 + 16*w - 30], [251, 251, 3/2*w^2 - w - 13], [251, 251, 3/2*w^2 + w - 13], [269, 269, 1/2*w^3 + 1/2*w^2 - 3*w - 10], [269, 269, -w^3 + 1/2*w^2 + 7*w - 8], [269, 269, w^3 + 1/2*w^2 - 7*w - 8], [269, 269, -1/2*w^3 + 1/2*w^2 + 3*w - 10], [271, 271, -w^3 + 8*w + 5], [271, 271, -2*w^2 + 2*w + 15], [271, 271, 2*w^2 + 2*w - 15], [271, 271, w^3 - 8*w + 5], [281, 281, -2*w + 3], [281, 281, w^3 - 2*w^2 - 12*w + 25], [311, 311, 1/2*w^3 + 5/2*w^2 - 3*w - 17], [311, 311, -1/2*w^3 + 5/2*w^2 + 3*w - 17], [331, 331, -1/2*w^3 + 3/2*w^2 + 5*w - 10], [331, 331, 1/2*w^3 + 3/2*w^2 - 5*w - 10], [349, 349, -1/2*w^2 + 3*w - 3], [349, 349, -w^3 + 5/2*w^2 + 11*w - 25], [379, 379, 5/2*w^2 - w - 21], [379, 379, 5/2*w^2 + w - 21], [389, 389, 3/2*w^2 - w - 14], [389, 389, 1/2*w^3 - 5/2*w^2 - 3*w + 16], [389, 389, -1/2*w^3 - 5/2*w^2 + 3*w + 16], [389, 389, 3/2*w^2 + w - 14], [409, 409, w^3 + w^2 - 8*w - 7], [409, 409, -w^3 + w^2 + 8*w - 7], [419, 419, 3/2*w^3 - 5/2*w^2 - 15*w + 28], [419, 419, 3/2*w^3 - 7/2*w^2 - 13*w + 28], [439, 439, 1/2*w^2 + 2*w - 9], [439, 439, -3/2*w^2 + 2*w + 6], [439, 439, -3/2*w^2 - 2*w + 6], [439, 439, 1/2*w^2 - 2*w - 9], [449, 449, -w^3 + 1/2*w^2 + 6*w - 1], [449, 449, 1/2*w^2 + 2*w - 5], [449, 449, 1/2*w^2 - 2*w - 5], [449, 449, w^3 + 1/2*w^2 - 6*w - 1], [461, 461, w^3 + 3/2*w^2 - 7*w - 9], [461, 461, -w^3 + 3/2*w^2 + 7*w - 9], [491, 491, -1/2*w^3 - 1/2*w^2 + 6*w + 7], [491, 491, -5/2*w^2 + w + 16], [491, 491, 5/2*w^2 + w - 16], [491, 491, 1/2*w^3 - 1/2*w^2 - 6*w + 7], [499, 499, -1/2*w^3 + 5/2*w^2 + 4*w - 19], [499, 499, 1/2*w^3 + 5/2*w^2 - 4*w - 19], [541, 541, -1/2*w^3 + 3/2*w^2 + 4*w - 7], [541, 541, 1/2*w^3 + 3/2*w^2 - 4*w - 7], [569, 569, 1/2*w^2 + 2*w - 2], [569, 569, 1/2*w^2 - 2*w - 2], [571, 571, -2*w^3 + 9/2*w^2 + 17*w - 39], [571, 571, 1/2*w^3 - 1/2*w^2 - 5*w - 2], [571, 571, -1/2*w^3 - 1/2*w^2 + 5*w - 2], [571, 571, w^3 - 5/2*w^2 - 11*w + 27], [599, 599, -w^3 + 2*w^2 + 8*w - 13], [599, 599, w^3 + 2*w^2 - 8*w - 13], [601, 601, 1/2*w^2 + 2*w - 4], [601, 601, 1/2*w^2 - 2*w - 4], [619, 619, -1/2*w^3 + 2*w^2 + 6*w - 13], [619, 619, 1/2*w^3 + 2*w^2 - 6*w - 13], [631, 631, -w^3 - 1/2*w^2 + 6*w - 2], [631, 631, w^3 - 1/2*w^2 - 6*w - 2], [641, 641, w^3 - 8*w - 1], [641, 641, -1/2*w^3 - 1/2*w^2 + 5*w - 1], [641, 641, 1/2*w^3 - 1/2*w^2 - 5*w - 1], [641, 641, w^3 - 8*w + 1], [661, 661, -1/2*w^3 + 7/2*w^2 + 2*w - 25], [661, 661, 3/2*w^3 - 9/2*w^2 - 11*w + 32], [661, 661, -5/2*w^3 + 13/2*w^2 + 23*w - 56], [661, 661, 1/2*w^3 + 7/2*w^2 - 2*w - 25], [691, 691, 1/2*w^3 + 7/2*w^2 - 3*w - 28], [691, 691, -1/2*w^3 + 7/2*w^2 + 3*w - 28], [701, 701, -1/2*w^3 + 1/2*w^2 + 5*w - 10], [701, 701, 3/2*w^3 - 5/2*w^2 - 17*w + 34], [709, 709, 1/2*w^3 - 5/2*w^2 - 6*w + 17], [709, 709, w^3 + 5/2*w^2 - 7*w - 14], [709, 709, -w^3 + 5/2*w^2 + 7*w - 14], [709, 709, -1/2*w^3 - 5/2*w^2 + 6*w + 17], [719, 719, -w^3 + 7/2*w^2 + 8*w - 23], [719, 719, w^3 + 7/2*w^2 - 8*w - 23], [751, 751, 7/2*w^2 + 2*w - 27], [751, 751, 7/2*w^2 - 2*w - 27], [761, 761, -1/2*w^3 + 3/2*w^2 + 3*w - 13], [761, 761, 1/2*w^3 + 3/2*w^2 - 3*w - 13], [769, 769, -w^3 + 7/2*w^2 + 8*w - 25], [769, 769, w^3 + 7/2*w^2 - 8*w - 25], [809, 809, 2*w^3 - 7/2*w^2 - 20*w + 40], [809, 809, -1/2*w^2 + 2*w - 4], [811, 811, -1/2*w^2 - 3*w + 8], [811, 811, 1/2*w^3 + 3/2*w^2 - 3*w - 18], [811, 811, -1/2*w^3 + 3/2*w^2 + 3*w - 18], [811, 811, 1/2*w^2 - 3*w - 8], [821, 821, 3/2*w^3 - 7/2*w^2 - 16*w + 37], [821, 821, -3/2*w^3 + 7/2*w^2 + 12*w - 29], [839, 839, 3*w^2 - 2*w - 23], [839, 839, 3*w^2 + 2*w - 23], [841, 29, -5/2*w^2 + 16], [859, 859, 5/2*w^2 + 3*w - 16], [859, 859, 5/2*w^2 - 3*w - 16], [911, 911, 3*w^2 - 2*w - 17], [911, 911, 3*w^2 + 2*w - 17], [919, 919, 3*w^2 - w - 23], [919, 919, -2*w^2 + 3*w + 15], [919, 919, -2*w^2 - 3*w + 15], [919, 919, 3*w^2 + w - 23], [941, 941, 3/2*w^2 - 3*w - 2], [941, 941, 2*w^3 - 11/2*w^2 - 17*w + 42], [961, 31, -w^2 + 13], [971, 971, 1/2*w^3 + 1/2*w^2 - 6*w - 5], [971, 971, -1/2*w^3 + 1/2*w^2 + 6*w - 5], [991, 991, w^3 + 3/2*w^2 - 8*w - 8], [991, 991, -w^3 + 3/2*w^2 + 8*w - 8]]; primes := [ideal : I in primesArray]; heckePol := x^8 - 41*x^6 + 591*x^4 - 3440*x^2 + 6400; K := NumberField(heckePol); heckeEigenvaluesArray := [-7/320*e^7 + 207/320*e^5 - 1817/320*e^3 + 27/2*e, -1, e, 1/80*e^7 - 21/80*e^5 + 91/80*e^3 + 3/4*e, 9/320*e^7 - 209/320*e^5 + 1319/320*e^3 - 29/4*e, -e^2 + 10, 1/16*e^6 - 25/16*e^4 + 191/16*e^2 - 30, -3/80*e^7 + 83/80*e^5 - 693/80*e^3 + 45/2*e, 1/16*e^6 - 25/16*e^4 + 175/16*e^2 - 19, -7/160*e^7 + 207/160*e^5 - 1817/160*e^3 + 26*e, -9/160*e^7 + 249/160*e^5 - 1999/160*e^3 + 105/4*e, -13/160*e^7 + 373/160*e^5 - 3203/160*e^3 + 95/2*e, -13/320*e^7 + 373/320*e^5 - 3043/320*e^3 + 73/4*e, 1/320*e^7 - 41/320*e^5 + 591/320*e^3 - 31/4*e, -1/40*e^7 + 31/40*e^5 - 301/40*e^3 + 85/4*e, 1/32*e^7 - 25/32*e^5 + 191/32*e^3 - 16*e, -3/40*e^7 + 83/40*e^5 - 693/40*e^3 + 43*e, 1/8*e^6 - 25/8*e^4 + 167/8*e^2 - 30, 3/16*e^6 - 75/16*e^4 + 541/16*e^2 - 70, 5/16*e^6 - 141/16*e^4 + 1195/16*e^2 - 177, -3/8*e^6 + 83/8*e^4 - 685/8*e^2 + 198, -1/8*e^6 + 25/8*e^4 - 175/8*e^2 + 38, -1/8*e^6 + 25/8*e^4 - 175/8*e^2 + 38, -12, -1/160*e^7 + 41/160*e^5 - 591/160*e^3 + 33/2*e, 1/16*e^7 - 29/16*e^5 + 259/16*e^3 - 167/4*e, -3/8*e^6 + 83/8*e^4 - 685/8*e^2 + 200, 5/16*e^6 - 141/16*e^4 + 1195/16*e^2 - 175, -1/2*e^6 + 29/2*e^4 - 251/2*e^2 + 300, 3/4*e^6 - 83/4*e^4 + 677/4*e^2 - 370, 1/8*e^6 - 25/8*e^4 + 191/8*e^2 - 72, 1/16*e^7 - 33/16*e^5 + 327/16*e^3 - 115/2*e, 1/16*e^7 - 33/16*e^5 + 327/16*e^3 - 115/2*e, -2*e^2 + 8, -1/80*e^7 + 41/80*e^5 - 591/80*e^3 + 34*e, 11/80*e^7 - 311/80*e^5 + 2681/80*e^3 - 331/4*e, -3/160*e^7 + 83/160*e^5 - 773/160*e^3 + 59/4*e, 3/20*e^7 - 83/20*e^5 + 673/20*e^3 - 73*e, 27/320*e^7 - 787/320*e^5 + 6677/320*e^3 - 173/4*e, 1/20*e^7 - 31/20*e^5 + 301/20*e^3 - 87/2*e, 7/320*e^7 - 127/320*e^5 + 457/320*e^3 - 19/4*e, -43/320*e^7 + 1123/320*e^5 - 8453/320*e^3 + 221/4*e, -1/16*e^6 + 41/16*e^4 - 463/16*e^2 + 95, 1/2*e^6 - 27/2*e^4 + 211/2*e^2 - 200, 11/64*e^7 - 291/64*e^5 + 2181/64*e^3 - 235/4*e, 11/64*e^7 - 291/64*e^5 + 2181/64*e^3 - 235/4*e, 5/8*e^6 - 141/8*e^4 + 1155/8*e^2 - 308, -7/16*e^6 + 207/16*e^4 - 1785/16*e^2 + 242, -3/16*e^6 + 75/16*e^4 - 509/16*e^2 + 40, 1/2*e^6 - 25/2*e^4 + 177/2*e^2 - 170, 7/16*e^6 - 175/16*e^4 + 1209/16*e^2 - 130, -1/4*e^6 + 25/4*e^4 - 179/4*e^2 + 80, 11/160*e^7 - 331/160*e^5 + 3181/160*e^3 - 237/4*e, -5/16*e^6 + 157/16*e^4 - 1419/16*e^2 + 202, 11/16*e^6 - 307/16*e^4 + 2469/16*e^2 - 308, -13/160*e^7 + 373/160*e^5 - 3363/160*e^3 + 115/2*e, 21/80*e^7 - 581/80*e^5 + 4771/80*e^3 - 269/2*e, 3/40*e^7 - 83/40*e^5 + 613/40*e^3 - 17*e, 1/16*e^6 - 25/16*e^4 + 111/16*e^2 + 17, 5/16*e^6 - 125/16*e^4 + 939/16*e^2 - 143, 13/80*e^7 - 373/80*e^5 + 3203/80*e^3 - 91*e, 21/160*e^7 - 541/160*e^5 + 3771/160*e^3 - 67/2*e, -13/64*e^7 + 341/64*e^5 - 2499/64*e^3 + 263/4*e, -31/160*e^7 + 871/160*e^5 - 7201/160*e^3 + 94*e, -13/16*e^6 + 357/16*e^4 - 2899/16*e^2 + 420, 1/2*e^6 - 29/2*e^4 + 253/2*e^2 - 290, 1/16*e^6 - 25/16*e^4 + 191/16*e^2 - 30, 5/8*e^6 - 133/8*e^4 + 1019/8*e^2 - 240, 1/16*e^6 - 9/16*e^4 - 113/16*e^2 + 55, -e^2 + 10, 5/32*e^7 - 125/32*e^5 + 827/32*e^3 - 30*e, 3/16*e^7 - 83/16*e^5 + 677/16*e^3 - 175/2*e, -43/160*e^7 + 1203/160*e^5 - 9813/160*e^3 + 126*e, -47/160*e^7 + 1287/160*e^5 - 10177/160*e^3 + 253/2*e, 13/16*e^6 - 341/16*e^4 + 2579/16*e^2 - 320, 29/160*e^7 - 789/160*e^5 + 6179/160*e^3 - 72*e, 33/160*e^7 - 873/160*e^5 + 6543/160*e^3 - 145/2*e, 3/16*e^6 - 59/16*e^4 + 221/16*e^2 + 15, 7/80*e^7 - 227/80*e^5 + 2317/80*e^3 - 351/4*e, -1/160*e^7 + 41/160*e^5 - 591/160*e^3 + 35/2*e, 3/40*e^7 - 83/40*e^5 + 693/40*e^3 - 41*e, -3/80*e^7 + 83/80*e^5 - 773/80*e^3 + 57/2*e, -13/80*e^7 + 333/80*e^5 - 2443/80*e^3 + 125/2*e, 19/320*e^7 - 459/320*e^5 + 3229/320*e^3 - 109/4*e, 29/160*e^7 - 789/160*e^5 + 6339/160*e^3 - 89*e, -1/8*e^6 + 33/8*e^4 - 351/8*e^2 + 148, 11/16*e^6 - 291/16*e^4 + 2277/16*e^2 - 307, 3/320*e^7 - 123/320*e^5 + 1133/320*e^3 - 1/4*e, -9/8*e^6 + 241/8*e^4 - 1895/8*e^2 + 510, 1/4*e^6 - 33/4*e^4 + 335/4*e^2 - 240, 1/16*e^7 - 29/16*e^5 + 259/16*e^3 - 207/4*e, -21/160*e^7 + 461/160*e^5 - 2411/160*e^3 + 9*e, -27/160*e^7 + 707/160*e^5 - 5317/160*e^3 + 65*e, -3/80*e^7 + 83/80*e^5 - 613/80*e^3 + 11/2*e, -9/16*e^6 + 209/16*e^4 - 1287/16*e^2 + 117, -31/160*e^7 + 751/160*e^5 - 5001/160*e^3 + 215/4*e, 17/160*e^7 - 457/160*e^5 + 3727/160*e^3 - 66*e, -9/8*e^6 + 233/8*e^4 - 1719/8*e^2 + 412, 1/40*e^7 - 21/40*e^5 + 171/40*e^3 - 53/2*e, -51/160*e^7 + 1371/160*e^5 - 10861/160*e^3 + 151*e, -13/32*e^7 + 357/32*e^5 - 2899/32*e^3 + 203*e, -7/80*e^7 + 207/80*e^5 - 1657/80*e^3 + 26*e, 7/320*e^7 - 287/320*e^5 + 2857/320*e^3 - 61/4*e, 1/4*e^7 - 29/4*e^5 + 255/4*e^3 - 162*e, -e^6 + 27*e^4 - 213*e^2 + 468, 1/4*e^6 - 33/4*e^4 + 327/4*e^2 - 202, -21/160*e^7 + 541/160*e^5 - 4091/160*e^3 + 115/2*e, 1/8*e^7 - 25/8*e^5 + 175/8*e^3 - 36*e, 3/160*e^7 - 43/160*e^5 - 227/160*e^3 + 23*e, 17/160*e^7 - 457/160*e^5 + 3727/160*e^3 - 61*e, 5/16*e^6 - 157/16*e^4 + 1467/16*e^2 - 212, 13/16*e^6 - 357/16*e^4 + 2931/16*e^2 - 438, -5/8*e^6 + 141/8*e^4 - 1203/8*e^2 + 352, -7/8*e^6 + 191/8*e^4 - 1521/8*e^2 + 418, 17/16*e^6 - 441/16*e^4 + 3327/16*e^2 - 437, 1/4*e^6 - 21/4*e^4 + 87/4*e^2 + 18, -5/16*e^6 + 125/16*e^4 - 859/16*e^2 + 72, -3/8*e^6 + 75/8*e^4 - 533/8*e^2 + 112, -11/80*e^7 + 331/80*e^5 - 3021/80*e^3 + 199/2*e, 3/32*e^7 - 91/32*e^5 + 877/32*e^3 - 157/2*e, -19/320*e^7 + 619/320*e^5 - 6589/320*e^3 + 267/4*e, -7/160*e^7 + 247/160*e^5 - 2497/160*e^3 + 163/4*e, -3/10*e^7 + 73/10*e^5 - 483/10*e^3 + 73*e, 1/80*e^7 - 41/80*e^5 + 591/80*e^3 - 47*e, -1/8*e^6 + 25/8*e^4 - 143/8*e^2 + 32, -3/8*e^6 + 75/8*e^4 - 557/8*e^2 + 192, -5/4*e^6 + 141/4*e^4 - 1171/4*e^2 + 648, 9/8*e^6 - 257/8*e^4 + 2167/8*e^2 - 612, -11/16*e^6 + 323/16*e^4 - 2789/16*e^2 + 415, e^6 - 28*e^4 + 229*e^2 - 470, -3/16*e^6 + 91/16*e^4 - 797/16*e^2 + 120, 5/16*e^6 - 141/16*e^4 + 1147/16*e^2 - 135, 67/160*e^7 - 1907/160*e^5 + 16357/160*e^3 - 999/4*e, 1/4*e^6 - 21/4*e^4 + 111/4*e^2 - 42, 11/16*e^6 - 291/16*e^4 + 2181/16*e^2 - 257, 9/160*e^7 - 289/160*e^5 + 2359/160*e^3 - 15*e, 15/16*e^6 - 423/16*e^4 + 3553/16*e^2 - 513, -e^6 + 28*e^4 - 233*e^2 + 532, 15/16*e^6 - 423/16*e^4 + 3569/16*e^2 - 520, -17/16*e^6 + 473/16*e^4 - 3919/16*e^2 + 565, 17/16*e^6 - 425/16*e^4 + 2975/16*e^2 - 337, 7/32*e^7 - 207/32*e^5 + 1849/32*e^3 - 152*e, 7/320*e^7 - 447/320*e^5 + 6217/320*e^3 - 251/4*e, -3/64*e^7 + 91/64*e^5 - 973/64*e^3 + 227/4*e, 9/40*e^7 - 259/40*e^5 + 2289/40*e^3 - 591/4*e, 13/16*e^6 - 373/16*e^4 + 3251/16*e^2 - 500, 1/32*e^7 - 25/32*e^5 + 191/32*e^3 - 4*e, 3/40*e^7 - 43/40*e^5 - 147/40*e^3 + 52*e, -21/16*e^6 + 573/16*e^4 - 4651/16*e^2 + 665, 3/320*e^7 - 283/320*e^5 + 4493/320*e^3 - 215/4*e, 3/40*e^7 - 103/40*e^5 + 1073/40*e^3 - 167/2*e, 3/4*e^6 - 75/4*e^4 + 525/4*e^2 - 238, 33/160*e^7 - 873/160*e^5 + 6863/160*e^3 - 197/2*e, -9/80*e^7 + 249/80*e^5 - 2159/80*e^3 + 157/2*e, -19/160*e^7 + 459/160*e^5 - 2909/160*e^3 + 29/2*e, -23/160*e^7 + 543/160*e^5 - 3273/160*e^3 + 15*e]; heckeEigenvalues := AssociativeArray(); for i := 1 to #heckeEigenvaluesArray do heckeEigenvalues[primes[i]] := heckeEigenvaluesArray[i]; end for; ALEigenvalues := AssociativeArray(); 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;