/* 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![8, 8, -7, -2, 1]; F := NumberField(g); ZF := Integers(F); NN := ideal; primesArray := [ [2, 2, 1/2*w^2 + 1/2*w - 2], [2, 2, -1/2*w^3 + 1/2*w^2 + 3*w + 1], [7, 7, -1/2*w^3 + 3/2*w^2 + w - 3], [23, 23, 1/2*w^3 + 1/2*w^2 - 3*w - 3], [25, 5, -1/2*w^3 + 9/2*w + 1], [25, 5, -1/2*w^3 + 5/2*w - 1], [31, 31, -1/2*w^3 + 1/2*w^2 + 2*w - 1], [31, 31, 1/2*w^3 - w^2 - 3/2*w + 1], [41, 41, 3/2*w^3 - w^2 - 21/2*w - 5], [41, 41, 1/2*w^3 - 2*w^2 - 5/2*w + 7], [47, 47, -w^2 - w + 5], [47, 47, -w^3 + 1/2*w^2 + 13/2*w + 5], [49, 7, 1/2*w^2 - 1/2*w - 5], [73, 73, -1/2*w^3 + 1/2*w^2 + 4*w - 3], [73, 73, 1/2*w^3 - w^2 - 7/2*w + 1], [79, 79, w^2 - 3*w + 1], [79, 79, w^2 + w - 1], [81, 3, -3], [89, 89, -1/2*w^3 + 3*w^2 + 7/2*w - 11], [89, 89, 1/2*w^3 - 5/2*w - 3], [89, 89, -1/2*w^3 + 3/2*w^2 + w - 5], [89, 89, 5/2*w^3 - 2*w^2 - 33/2*w - 7], [97, 97, -1/2*w^3 + w^2 + 3/2*w - 5], [97, 97, -1/2*w^2 - 3/2*w + 3], [97, 97, w^3 - w^2 - 6*w - 1], [97, 97, 1/2*w^3 - 1/2*w^2 - 2*w - 3], [113, 113, w^3 - 3*w^2 - 6*w + 13], [113, 113, 3*w^3 - 3/2*w^2 - 43/2*w - 11], [127, 127, -1/2*w^3 + w^2 + 3/2*w - 7], [127, 127, 3/2*w^3 - w^2 - 13/2*w + 7], [127, 127, 3/2*w^3 + w^2 - 29/2*w - 11], [127, 127, 1/2*w^3 - 1/2*w^2 - 2*w - 5], [137, 137, 2*w^3 - 3/2*w^2 - 25/2*w - 9], [137, 137, -3*w^2 - w + 11], [167, 167, 1/2*w^2 + 3/2*w - 5], [167, 167, 1/2*w^2 - 5/2*w - 3], [191, 191, 2*w^3 - w^2 - 15*w - 5], [191, 191, -w^3 + 3/2*w^2 + 11/2*w - 7], [199, 199, -1/2*w^3 - w^2 + 11/2*w + 7], [199, 199, 5/2*w^3 - 3/2*w^2 - 17*w - 9], [199, 199, 1/2*w^3 - 5/2*w^2 - 4*w + 11], [199, 199, 1/2*w^3 - 5/2*w + 3], [223, 223, -w^3 + 2*w^2 + 5*w - 3], [223, 223, w^3 - w^2 - 6*w + 3], [233, 233, -2*w^2 + 7], [233, 233, w^3 + w^2 - 6*w - 5], [233, 233, -5/2*w^3 + w^2 + 35/2*w + 13], [233, 233, -w^3 + 1/2*w^2 + 13/2*w + 7], [241, 241, w^3 + w^2 - 10*w - 9], [241, 241, -1/2*w^3 + 3/2*w^2 + 3*w - 3], [241, 241, -1/2*w^3 + 9/2*w - 1], [241, 241, w^3 - 1/2*w^2 - 9/2*w + 5], [257, 257, w^3 - w^2 - 8*w + 3], [257, 257, 5/2*w^3 - w^2 - 39/2*w - 7], [263, 263, w^3 - 5*w + 3], [263, 263, w^3 + 1/2*w^2 - 19/2*w - 5], [271, 271, -1/2*w^3 + 2*w^2 + 5/2*w - 13], [271, 271, -2*w^3 + 7/2*w^2 + 17/2*w - 15], [281, 281, 1/2*w^3 - 5/2*w - 7], [281, 281, -1/2*w^3 + 3/2*w^2 + w - 9], [289, 17, 3/2*w^2 - 3/2*w - 5], [289, 17, 3/2*w^2 - 3/2*w - 7], [311, 311, w^3 - 3*w^2 - 2*w + 3], [311, 311, -w^3 + 5*w - 1], [313, 313, 7/2*w^3 - w^2 - 53/2*w - 15], [313, 313, -1/2*w^3 + 3/2*w^2 + w - 7], [313, 313, 1/2*w^3 - 5/2*w - 5], [313, 313, 3/2*w^3 - 3*w^2 - 17/2*w + 15], [337, 337, w^3 - w^2 - 8*w - 1], [337, 337, -w^3 + 2*w^2 + 7*w - 9], [353, 353, w^3 - w^2 - 6*w - 5], [353, 353, 1/2*w^3 - 13/2*w - 5], [359, 359, 3/2*w^3 - 5/2*w^2 - 7*w + 13], [359, 359, 5/2*w^3 + 1/2*w^2 - 21*w - 17], [361, 19, 3/2*w^3 - 3/2*w^2 - 10*w - 3], [361, 19, -1/2*w^3 + 5/2*w^2 + 2*w - 7], [401, 401, 1/2*w^3 + 1/2*w^2 - 5*w - 1], [401, 401, -1/2*w^3 + 2*w^2 + 5/2*w - 5], [409, 409, 5/2*w^3 - 5/2*w^2 - 14*w - 9], [409, 409, 1/2*w^3 + 7/2*w^2 - 13], [431, 431, -w^3 + 3/2*w^2 + 7/2*w - 7], [431, 431, -1/2*w^3 + 13/2*w - 9], [439, 439, -w^3 + 2*w^2 + 3*w - 7], [439, 439, w^3 - w^2 - 4*w - 3], [457, 457, -1/2*w^3 + 9/2*w - 3], [457, 457, -1/2*w^3 + 3/2*w^2 + 3*w - 1], [487, 487, -1/2*w^3 + 1/2*w^2 + 4*w - 7], [487, 487, w^2 - 3*w - 5], [487, 487, w^2 + w - 7], [487, 487, 1/2*w^3 - w^2 - 7/2*w - 3], [529, 23, 1/2*w^2 - 1/2*w - 7], [569, 569, -w^3 + 3/2*w^2 + 15/2*w - 5], [569, 569, -w^3 + 3/2*w^2 + 15/2*w - 3], [577, 577, -w^3 + 2*w^2 + 7*w - 7], [577, 577, w^3 - w^2 - 8*w + 1], [593, 593, 3/2*w^3 + w^2 - 17/2*w - 5], [593, 593, -3/2*w^3 + 11/2*w^2 + 2*w - 11], [599, 599, -w^3 + 5/2*w^2 + 9/2*w - 5], [599, 599, -3/2*w^3 + 2*w^2 + 15/2*w - 7], [599, 599, 3/2*w^3 - 5/2*w^2 - 7*w + 1], [599, 599, w^3 - 1/2*w^2 - 13/2*w + 1], [601, 601, -1/2*w^3 - w^2 + 15/2*w + 1], [601, 601, -2*w^3 + 5/2*w^2 + 23/2*w + 1], [607, 607, w^3 - w^2 - 6*w + 7], [607, 607, 2*w^3 - 1/2*w^2 - 31/2*w - 7], [617, 617, 3/2*w^3 - 1/2*w^2 - 7*w + 5], [617, 617, 3/2*w^3 + 1/2*w^2 - 14*w - 7], [631, 631, -9/2*w^3 + 7/2*w^2 + 29*w + 15], [631, 631, w^3 - 3/2*w^2 - 15/2*w + 9], [641, 641, 2*w^3 + 1/2*w^2 - 37/2*w - 11], [641, 641, -2*w^3 + 2*w^2 + 8*w - 9], [647, 647, w^3 - 2*w^2 - 5*w + 1], [647, 647, -w^3 + w^2 + 6*w - 5], [719, 719, -1/2*w^3 + 3/2*w^2 + 5*w - 9], [719, 719, w^3 - 1/2*w^2 - 13/2*w + 7], [727, 727, -3*w^2 - w + 9], [727, 727, -1/2*w^3 + w^2 + 7/2*w - 9], [727, 727, 1/2*w^3 - 1/2*w^2 - 4*w - 5], [727, 727, 2*w^3 - 5/2*w^2 - 23/2*w - 3], [743, 743, w^3 - 3*w^2 - 2*w + 9], [743, 743, w^3 + 1/2*w^2 - 19/2*w - 11], [751, 751, -1/2*w^3 + 3*w^2 - 1/2*w - 11], [751, 751, 1/2*w^3 + 3/2*w^2 - 4*w - 9], [761, 761, w^3 + w^2 - 8*w - 7], [761, 761, -w^3 + 4*w^2 + 3*w - 13], [823, 823, 3/2*w^3 - 7/2*w^2 - 6*w + 11], [823, 823, -3/2*w^3 + 5/2*w^2 + 7*w - 9], [823, 823, 5/2*w^3 - 3/2*w^2 - 19*w - 5], [823, 823, 5/2*w^3 - 3/2*w^2 - 19*w - 7], [841, 29, 1/2*w^3 + 1/2*w^2 - 3*w - 9], [841, 29, -1/2*w^3 + 2*w^2 + 1/2*w - 11], [857, 857, -3/2*w^3 + 4*w^2 + 11/2*w - 15], [857, 857, -w^3 + w^2 + 6*w - 9], [863, 863, -2*w^3 + w^2 + 9*w - 7], [863, 863, -1/2*w^3 + 2*w^2 + 9/2*w - 9], [863, 863, 5/2*w^3 - 2*w^2 - 33/2*w - 5], [863, 863, 2*w^3 + 1/2*w^2 - 37/2*w - 9], [887, 887, 1/2*w^3 + 1/2*w^2 - 3*w + 3], [887, 887, -1/2*w^3 - 3/2*w^2 + 6*w + 9], [911, 911, -1/2*w^3 - 3/2*w^2 + 6*w + 7], [911, 911, -1/2*w^3 + 3*w^2 + 3/2*w - 11], [919, 919, 4*w^3 - w^2 - 31*w - 17], [919, 919, 2*w^3 - 7/2*w^2 - 21/2*w + 17], [929, 929, 1/2*w^3 + 1/2*w^2 - 5*w + 3], [929, 929, -1/2*w^3 + 2*w^2 + 5/2*w - 1], [937, 937, -w^3 + 9/2*w^2 + 5/2*w - 13], [937, 937, -2*w^3 + 9/2*w^2 + 19/2*w - 13], [937, 937, 2*w^3 - 3/2*w^2 - 25/2*w - 1], [937, 937, w^3 + 3/2*w^2 - 17/2*w - 7], [953, 953, 3/2*w^3 - 2*w^2 - 11/2*w + 9], [953, 953, -3/2*w^3 - w^2 + 29/2*w + 13], [961, 31, 2*w^2 - 2*w - 7], [977, 977, -1/2*w^3 + 3/2*w^2 + 5*w - 13], [977, 977, 1/2*w^3 - 13/2*w - 7], [983, 983, 2*w^3 + 1/2*w^2 - 25/2*w - 7], [983, 983, -2*w^3 + 7/2*w^2 + 17/2*w - 17], [983, 983, -3*w^3 - w^2 + 26*w + 23], [983, 983, 2*w^3 - 3/2*w^2 - 25/2*w + 1], [991, 991, -w^3 - 1/2*w^2 + 11/2*w - 1], [991, 991, -11/2*w^2 - 5/2*w + 19], [991, 991, -4*w^3 + 4*w^2 + 24*w + 11], [991, 991, -w^3 + 9*w + 1], [1009, 1009, 1/2*w^3 + 1/2*w^2 - 7*w + 3], [1009, 1009, -1/2*w^3 + 2*w^2 + 9/2*w - 3], [1031, 1031, -4*w^2 - 2*w + 13], [1031, 1031, -3/2*w^3 + 3/2*w^2 + 8*w - 3], [1033, 1033, -1/2*w^3 - 2*w^2 + 9/2*w + 15], [1033, 1033, -1/2*w^3 + 7/2*w^2 - w - 17], [1039, 1039, -1/2*w^3 + 3*w^2 - 1/2*w - 9], [1039, 1039, -1/2*w^3 - 3/2*w^2 + 4*w + 7], [1049, 1049, 3/2*w^2 - 11/2*w - 3], [1049, 1049, -w^3 + 3/2*w^2 + 15/2*w - 13], [1049, 1049, 3/2*w^3 - 7/2*w^2 - 6*w + 15], [1049, 1049, 3/2*w^2 + 5/2*w - 7], [1063, 1063, 7/2*w^3 - 2*w^2 - 47/2*w - 13], [1063, 1063, -w^3 + 1/2*w^2 + 21/2*w + 9], [1063, 1063, -w^3 - w^2 + 6*w + 9], [1063, 1063, w^3 + 1/2*w^2 - 15/2*w - 3], [1097, 1097, -3/2*w^3 + 4*w^2 + 7/2*w - 11], [1097, 1097, w^3 - 9/2*w^2 - 9/2*w + 17], [1103, 1103, w^2 - 3*w - 7], [1103, 1103, w^2 + w - 9], [1151, 1151, -w^3 + 7/2*w^2 + 3/2*w - 11], [1151, 1151, w^3 + 1/2*w^2 - 11/2*w - 7], [1153, 1153, 3/2*w^3 - 2*w^2 - 19/2*w - 1], [1153, 1153, -3/2*w^3 + 5/2*w^2 + 9*w - 11], [1201, 1201, 3/2*w^3 - 9/2*w^2 - 7*w + 15], [1201, 1201, w^3 - 7/2*w^2 - 15/2*w + 17], [1217, 1217, 1/2*w^3 + w^2 - 11/2*w - 1], [1217, 1217, -1/2*w^3 - 2*w^2 + 1/2*w + 9], [1217, 1217, -3/2*w^3 + w^2 + 17/2*w + 9], [1217, 1217, -1/2*w^3 + 5/2*w^2 + 2*w - 5], [1223, 1223, -1/2*w^3 + w^2 + 11/2*w - 1], [1223, 1223, -1/2*w^3 + 1/2*w^2 + 6*w - 5], [1231, 1231, -1/2*w^3 - 5/2*w^2 + 9*w + 11], [1231, 1231, 3/2*w^3 + 1/2*w^2 - 6*w + 3], [1249, 1249, -5*w^3 + 3*w^2 + 34*w + 19], [1249, 1249, -1/2*w^3 + 9/2*w^2 + 4*w - 19], [1249, 1249, 7/2*w^3 - 3/2*w^2 - 24*w - 19], [1249, 1249, -3*w^3 - w^2 + 28*w + 17], [1279, 1279, 3/2*w^3 - w^2 - 25/2*w + 1], [1279, 1279, -w^3 - w^2 + 10*w + 13], [1279, 1279, -w^3 + 5/2*w^2 + 5/2*w - 9], [1279, 1279, 3/2*w^3 - 7/2*w^2 - 10*w + 11], [1289, 1289, 3/2*w^2 - 11/2*w - 1], [1289, 1289, 2*w^3 - 1/2*w^2 - 15/2*w + 3], [1289, 1289, w^3 + w^2 - 12*w - 5], [1289, 1289, 2*w^3 - 3*w^2 - 11*w + 9], [1297, 1297, 1/2*w^3 - 7/2*w^2 - 3*w + 11], [1297, 1297, 4*w^3 - 5/2*w^2 - 55/2*w - 13], [1297, 1297, w^3 - 4*w^2 - 7*w + 17], [1297, 1297, 5/2*w^3 - 5/2*w^2 - 16*w - 5], [1303, 1303, -w^3 + 2*w^2 + 3*w - 9], [1303, 1303, w^3 - w^2 - 4*w - 5], [1319, 1319, w^2 + w - 11], [1319, 1319, w^2 - 3*w - 9], [1321, 1321, 3*w^2 + 3*w - 13], [1321, 1321, -2*w^3 + w^2 + 13*w + 13], [1321, 1321, 7/2*w^2 + 1/2*w - 13], [1321, 1321, 3*w^3 - 5/2*w^2 - 37/2*w - 9], [1327, 1327, -w^3 + 1/2*w^2 + 13/2*w - 3], [1327, 1327, 3/2*w^3 - 3/2*w^2 - 6*w + 5], [1327, 1327, 3/2*w^3 - 1/2*w^2 - 13*w - 3], [1327, 1327, w^3 - 5/2*w^2 - 9/2*w + 3], [1361, 1361, 1/2*w^3 + w^2 - 7/2*w - 11], [1361, 1361, -1/2*w^3 + 5/2*w^2 - 13], [1367, 1367, -3/2*w^3 + 3*w^2 + 13/2*w - 9], [1367, 1367, 3/2*w^3 - 3/2*w^2 - 8*w - 1], [1399, 1399, 3/2*w^3 - 1/2*w^2 - 7*w + 7], [1399, 1399, 3/2*w^3 - 4*w^2 - 7/2*w + 7], [1399, 1399, 5*w^3 - w^2 - 40*w - 21], [1399, 1399, 3/2*w^3 + 3/2*w^2 - 15*w - 13], [1409, 1409, -w^3 + 3*w^2 + 6*w - 19], [1409, 1409, w^3 + 2*w^2 - 11*w - 9], [1409, 1409, -5/2*w^3 + 37/2*w + 17], [1409, 1409, w^3 - 9*w - 11], [1423, 1423, 2*w^3 - 5/2*w^2 - 15/2*w + 11], [1423, 1423, -2*w^3 - w^2 + 19*w + 15], [1433, 1433, 2*w^3 - 9/2*w^2 - 19/2*w + 15], [1433, 1433, 3*w^2 - 5*w - 13], [1433, 1433, 3*w^2 - w - 15], [1433, 1433, 2*w^3 - 3/2*w^2 - 25/2*w - 3], [1439, 1439, 1/2*w^3 - 4*w^2 - 5/2*w + 15], [1439, 1439, 1/2*w^3 - 1/2*w^2 - 2*w - 7], [1439, 1439, -1/2*w^3 + w^2 + 3/2*w - 9], [1439, 1439, 5/2*w^3 - w^2 - 35/2*w - 15], [1447, 1447, -3/2*w^3 + 1/2*w^2 + 13*w + 5], [1447, 1447, -1/2*w^3 + 5/2*w - 5], [1447, 1447, 1/2*w^3 - 3/2*w^2 - w - 3], [1447, 1447, 2*w^3 - 2*w^2 - 14*w - 7], [1471, 1471, -1/2*w^3 + 3/2*w^2 + 5*w - 7], [1471, 1471, 1/2*w^3 - 13/2*w - 1], [1489, 1489, -2*w^3 + 7*w^2 + 5*w - 21], [1489, 1489, 1/2*w^3 - 5*w^2 - 7/2*w + 17], [1489, 1489, 7/2*w^3 - 3*w^2 - 45/2*w - 11], [1489, 1489, 2*w^3 + w^2 - 13*w - 11], [1511, 1511, w^3 - w^2 - 4*w - 7], [1511, 1511, -1/2*w^3 - 3*w^2 + 19/2*w + 15], [1543, 1543, w^3 + 1/2*w^2 - 19/2*w - 3], [1543, 1543, -w^3 + 7/2*w^2 + 11/2*w - 11], [1553, 1553, 1/2*w^3 - 1/2*w^2 - 5], [1553, 1553, -1/2*w^3 + w^2 - 1/2*w - 5], [1559, 1559, 7/2*w^3 - 5/2*w^2 - 23*w - 11], [1559, 1559, 1/2*w^3 - 7/2*w^2 - 5*w + 15], [1567, 1567, 1/2*w^3 - 7/2*w^2 - w + 11], [1567, 1567, -1/2*w^3 - 2*w^2 + 13/2*w + 7], [1583, 1583, 3/2*w^3 - 3/2*w^2 - 8*w + 1], [1583, 1583, -3/2*w^3 + 3*w^2 + 13/2*w - 7], [1607, 1607, -w^3 + 5/2*w^2 + 13/2*w - 5], [1607, 1607, -w^3 + 1/2*w^2 + 17/2*w - 3], [1657, 1657, 1/2*w^3 + 3/2*w^2 - 8*w - 9], [1657, 1657, 3/2*w^3 - 3/2*w^2 - 4*w + 5], [1663, 1663, 1/2*w^3 - w^2 - 3/2*w - 5], [1663, 1663, -1/2*w^3 + 1/2*w^2 + 2*w - 7], [1681, 41, 5/2*w^2 - 5/2*w - 13], [1697, 1697, -1/2*w^3 + 4*w^2 - 11/2*w - 9], [1697, 1697, 5/2*w^3 + w^2 - 15/2*w - 1], [1759, 1759, 3/2*w^2 - 7/2*w - 9], [1759, 1759, 3/2*w^2 + 1/2*w - 11], [1777, 1777, 3/2*w^3 - 5*w^2 - 9/2*w + 19], [1777, 1777, 3/2*w^3 + 1/2*w^2 - 10*w - 11], [1783, 1783, -3/2*w^3 + 7/2*w^2 + 8*w - 19], [1783, 1783, -7/2*w^3 - 1/2*w^2 + 28*w + 25], [1801, 1801, 9/2*w^3 - 9/2*w^2 - 28*w - 9], [1801, 1801, 1/2*w^3 - 11/2*w^2 - 5*w + 19], [1823, 1823, -1/2*w^3 + 1/2*w^2 + 8*w - 11], [1823, 1823, 2*w^3 - 7*w^2 - 11*w + 27], [1831, 1831, -1/2*w^3 + w^2 + 11/2*w - 5], [1831, 1831, -1/2*w^3 + 1/2*w^2 + 6*w - 1], [1847, 1847, 5/2*w^3 - 2*w^2 - 33/2*w - 11], [1847, 1847, -1/2*w^3 + 1/2*w^2 + 6*w - 3], [1847, 1847, -1/2*w^3 + w^2 + 11/2*w - 3], [1847, 1847, 1/2*w^2 - 9/2*w - 5], [1873, 1873, -w^2 + 3*w - 5], [1873, 1873, -w^2 - w - 3], [1879, 1879, 2*w^3 + 1/2*w^2 - 25/2*w - 11], [1879, 1879, 4*w + 7], [1889, 1889, 4*w^3 - 5*w^2 - 21*w - 9], [1889, 1889, w^3 + 11/2*w^2 - 1/2*w - 19], [1913, 1913, 2*w^3 - 5/2*w^2 - 23/2*w + 1], [1913, 1913, 1/2*w^2 - 9/2*w - 1], [1913, 1913, 1/2*w^2 + 7/2*w - 5], [1913, 1913, w^2 + 3*w - 5], [1999, 1999, 3/2*w^3 - 3*w^2 - 9/2*w + 7], [1999, 1999, 3/2*w^3 - w^2 - 25/2*w - 3]]; primes := [ideal : I in primesArray]; heckePol := x; K := Rationals(); e := 1; heckeEigenvaluesArray := [-2, 0, 1, 4, -4, -2, 0, -8, -4, -2, 6, -6, -10, -14, 12, 0, 0, 2, 6, -6, 2, 0, 10, 6, -8, -14, -14, -16, 12, 20, -12, 4, -10, -14, 14, -14, -8, -16, -18, 4, 16, 2, 8, -24, 14, 18, 18, 6, -30, -4, -22, -14, -22, 24, -16, -12, 0, -16, 10, 6, -18, 26, -20, 16, 24, 10, -14, -6, -20, 6, -22, 14, 12, 4, 22, -8, -32, 14, 6, 14, 6, -14, -26, -38, 4, -10, 26, -8, 16, -18, 14, 16, 10, -20, 14, 48, 42, -12, -36, -16, -40, -12, 10, 24, 32, 6, -24, -16, 40, -44, -30, 24, 28, 0, -36, -16, -26, -6, 36, -18, -22, -6, 30, 6, 10, 40, -16, -48, 24, -6, -46, -18, 14, -32, -24, 40, -24, 12, 52, -40, -32, -20, -16, -6, 12, -42, -38, -4, 10, -6, -14, -18, -10, 54, 8, 10, 6, -56, -16, 40, 4, 16, 38, -16, -36, 48, 6, -58, -22, 38, 58, -54, -6, 36, 32, 24, -48, 36, 30, 38, 18, 6, -14, -2, 34, 16, -10, 52, -6, -34, 42, -48, 0, -20, -40, 0, 46, -50, 34, -12, 68, -40, -64, 8, 4, 60, -30, -14, 24, 16, -34, -2, 8, -64, 66, 14, 20, -46, 70, 70, 32, 48, 68, -52, -30, -14, 48, -32, -58, 8, 4, -14, 38, 14, 46, -46, -6, 22, 30, -22, -54, -48, 2, -20, 12, 54, -48, -12, 68, 32, 48, -4, 38, 6, -16, -66, 6, 42, 32, 0, -46, 10, -64, 48, 22, -30, 12, -56, 0, 24, -26, -26, -54, -26, -50, -30, -14, 46, 2, -58, 22, 28, -4, 46, 0, -56, -8, 32, 40, 0, 12, -48, 80, 38, 2, 16, 64, 54, 36, 84, 62, -80, -70, -72, 64]; 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;