/* 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![1, -6, -7, 0, 1]; F := NumberField(g); ZF := Integers(F); NN := ideal; primesArray := [ [4, 2, w^3 - w^2 - 5*w - 2], [9, 3, w^3 - w^2 - 5*w - 1], [11, 11, -w^3 + w^2 + 6*w + 2], [11, 11, w - 1], [13, 13, w^3 - 2*w^2 - 4*w + 2], [13, 13, -w^2 + w + 4], [23, 23, w^2 - 2*w - 2], [23, 23, w^3 - w^2 - 6*w - 3], [23, 23, -w^2 + 2*w + 5], [23, 23, -w + 2], [37, 37, 2*w^3 - 2*w^2 - 12*w - 1], [37, 37, w^3 - 2*w^2 - 5*w + 2], [37, 37, w^3 - 2*w^2 - 5*w + 3], [37, 37, -w^3 + w^2 + 6*w - 2], [47, 47, w^2 - 2*w - 1], [47, 47, w^2 - 2*w - 6], [59, 59, 2*w - 1], [59, 59, -2*w^3 + 2*w^2 + 12*w + 3], [73, 73, -w^3 + w^2 + 7*w + 1], [83, 83, -w^3 + w^2 + 4*w + 3], [83, 83, 2*w^3 - 2*w^2 - 11*w - 4], [107, 107, w^3 - w^2 - 4*w - 5], [107, 107, -2*w^3 + 2*w^2 + 11*w + 6], [121, 11, 2*w^3 - 2*w^2 - 10*w - 3], [131, 131, 2*w^3 - 3*w^2 - 7*w + 2], [131, 131, 3*w^3 - 2*w^2 - 18*w - 6], [157, 157, -2*w^3 + 2*w^2 + 9*w], [157, 157, -2*w^3 + 4*w^2 + 8*w - 3], [167, 167, -2*w^3 + w^2 + 11*w + 10], [167, 167, -3*w^3 + 4*w^2 + 14*w + 4], [169, 13, -2*w^3 + 2*w^2 + 10*w + 7], [179, 179, -w^3 + 6*w + 2], [179, 179, 2*w^3 - 3*w^2 - 9*w + 4], [181, 181, 2*w^2 - w - 8], [181, 181, 3*w^3 - 5*w^2 - 14*w + 3], [181, 181, -3*w^3 + 3*w^2 + 18*w + 2], [181, 181, w^3 - 7*w - 9], [191, 191, -2*w^3 + 3*w^2 + 10*w + 1], [191, 191, w^2 - 6], [193, 193, w^3 - 3*w^2 - 4*w + 3], [193, 193, 2*w^3 - 4*w^2 - 9*w + 8], [229, 229, -2*w^3 + 2*w^2 + 13*w + 3], [229, 229, w^2 - w - 8], [239, 239, w^3 - 7*w - 2], [239, 239, -w^3 + 2*w^2 + 3*w - 5], [241, 241, -3*w^3 + 3*w^2 + 16*w + 2], [241, 241, 2*w^3 - 2*w^2 - 9*w - 1], [251, 251, -2*w^3 + 3*w^2 + 8*w - 3], [251, 251, -2*w^3 + w^2 + 12*w + 4], [251, 251, w^3 + w^2 - 7*w - 7], [251, 251, 2*w^3 - 3*w^2 - 10*w - 2], [263, 263, 3*w^3 - 4*w^2 - 16*w], [263, 263, w^2 + w - 4], [277, 277, 2*w^2 - w - 7], [277, 277, 3*w^3 - 5*w^2 - 14*w + 4], [313, 313, 2*w^3 - 4*w^2 - 9*w + 3], [313, 313, -w^3 + 3*w^2 + 4*w - 8], [337, 337, 2*w^3 - 2*w^2 - 13*w - 1], [337, 337, w^3 - w^2 - 8*w - 2], [347, 347, 4*w^3 - 4*w^2 - 22*w + 1], [347, 347, -2*w^3 + 5*w^2 + 6*w - 10], [347, 347, -4*w^3 + 5*w^2 + 20*w + 3], [347, 347, -3*w^2 + 4*w + 9], [349, 349, -4*w^3 + 5*w^2 + 19*w + 4], [349, 349, -w^3 + 4*w^2 + w - 11], [349, 349, 2*w^3 - 3*w^2 - 9*w - 4], [349, 349, w^3 - 6*w - 10], [361, 19, -w^3 + 3*w^2 + 4*w - 4], [361, 19, -2*w^3 + 4*w^2 + 9*w - 7], [397, 397, 3*w^3 - 3*w^2 - 14*w - 6], [397, 397, -2*w^3 + 5*w^2 + 6*w - 6], [397, 397, 3*w^2 - 4*w - 13], [397, 397, -4*w^3 + 4*w^2 + 21*w + 7], [409, 409, 2*w^3 - 4*w^2 - 10*w + 7], [409, 409, -2*w^3 + 4*w^2 + 10*w - 3], [421, 421, w^3 - w^2 - 6*w - 6], [421, 421, w - 5], [431, 431, -3*w^3 + 4*w^2 + 18*w - 4], [431, 431, 2*w^3 - 3*w^2 - 6*w + 3], [433, 433, 2*w^3 - 15*w - 12], [433, 433, w^3 - w^2 - 9*w - 5], [443, 443, -3*w^3 + 5*w^2 + 14*w - 9], [443, 443, 2*w^3 - 12*w - 13], [457, 457, -w^3 + 2*w^2 + 5*w - 8], [457, 457, -2*w^3 + 4*w^2 + 9*w - 4], [457, 457, 2*w^3 - 2*w^2 - 14*w - 5], [457, 457, -w^3 + 3*w^2 + 4*w - 7], [467, 467, -2*w^3 + 3*w^2 + 8*w - 4], [467, 467, -2*w^3 + w^2 + 12*w + 3], [479, 479, w^3 + w^2 - 8*w - 7], [479, 479, 2*w^3 - 14*w - 9], [479, 479, -2*w^3 + 4*w^2 + 6*w - 5], [479, 479, -2*w^3 + 4*w^2 + 7*w - 6], [491, 491, -2*w^3 + 3*w^2 + 11*w + 2], [491, 491, -w^3 + 2*w^2 + 6*w - 6], [541, 541, -4*w^2 + 6*w + 15], [541, 541, -2*w^3 + 6*w^2 + 4*w - 11], [563, 563, -2*w^3 + w^2 + 14*w], [563, 563, -w^2 + 4*w + 9], [577, 577, w^2 - 4*w - 4], [577, 577, -2*w^3 + w^2 + 14*w + 5], [587, 587, w^3 - 4*w^2 + 6], [587, 587, -w^3 + 3*w^2 + 6*w - 7], [587, 587, 4*w^3 - 6*w^2 - 21*w + 2], [587, 587, 3*w^3 - 5*w^2 - 14*w], [599, 599, 2*w^3 - 2*w^2 - 7*w - 3], [599, 599, 5*w^3 - 5*w^2 - 28*w - 6], [601, 601, w^3 + w^2 - 10*w - 10], [601, 601, 2*w^3 - 3*w^2 - 10*w - 5], [613, 613, w^2 - 4*w - 3], [613, 613, 2*w^3 - w^2 - 14*w - 6], [625, 5, -5], [647, 647, -3*w^3 + 4*w^2 + 17*w + 1], [647, 647, -w^3 + 2*w^2 + 7*w - 4], [659, 659, -5*w^3 + 7*w^2 + 23*w + 3], [659, 659, w^3 - 2*w^2 - w - 2], [659, 659, -w^3 + 2*w^2 + 2*w - 6], [659, 659, -2*w^3 + w^2 + 13*w + 2], [683, 683, -2*w^3 + 3*w^2 + 8*w - 5], [683, 683, -2*w^3 + w^2 + 12*w + 2], [709, 709, w^3 + w^2 - 10*w - 8], [709, 709, 2*w^2 - 5*w - 7], [719, 719, w^3 - 5*w - 10], [719, 719, -3*w^3 + 4*w^2 + 15*w + 5], [733, 733, -w^3 + w^2 + 4*w - 5], [733, 733, 2*w^2 - 5*w - 6], [733, 733, -2*w^3 + 2*w^2 + 11*w - 4], [733, 733, w^3 + w^2 - 10*w - 9], [743, 743, -w^3 + 3*w^2 + 2*w - 10], [743, 743, 2*w^2 - 3*w - 3], [757, 757, 2*w^3 - 3*w^2 - 8*w - 5], [757, 757, w^3 - 9*w - 5], [757, 757, -2*w^3 + w^2 + 12*w + 12], [757, 757, w^3 - 9*w - 4], [769, 769, -4*w^3 + 4*w^2 + 21*w + 6], [769, 769, 3*w^3 - 3*w^2 - 14*w - 5], [827, 827, -2*w^3 + w^2 + 12*w + 1], [827, 827, -4*w^3 + 4*w^2 + 22*w + 7], [827, 827, 2*w^3 - 2*w^2 - 8*w - 5], [827, 827, -2*w^3 + 3*w^2 + 8*w - 6], [829, 829, -3*w^3 + w^2 + 17*w + 11], [829, 829, -4*w^3 + 2*w^2 + 23*w + 16], [839, 839, w^2 + 2*w - 4], [839, 839, 2*w^3 + w^2 - 14*w - 13], [839, 839, -4*w^3 + 7*w^2 + 16*w - 6], [839, 839, -4*w^3 + 5*w^2 + 22*w + 1], [863, 863, 2*w^3 - 13*w - 8], [863, 863, 3*w^3 - 5*w^2 - 12*w + 5], [887, 887, 2*w^2 + w - 7], [887, 887, -5*w^3 + 7*w^2 + 26*w - 2], [911, 911, -3*w^3 + 3*w^2 + 17*w + 7], [911, 911, 2*w^2 - 9], [911, 911, w^3 - w^2 - 3*w - 5], [911, 911, 4*w^3 - 6*w^2 - 20*w + 1], [937, 937, -4*w^3 + 5*w^2 + 22*w - 7], [937, 937, 4*w^3 - 4*w^2 - 21*w - 2], [937, 937, -4*w^2 + 8*w + 13], [937, 937, 3*w^3 - 3*w^2 - 14*w - 1], [947, 947, 3*w^3 - 4*w^2 - 12*w - 6], [947, 947, 3*w^3 - 5*w^2 - 10*w + 4], [947, 947, -3*w^3 + 4*w^2 + 19*w + 3], [947, 947, -3*w^3 + 4*w^2 + 19*w - 4], [971, 971, -3*w^3 + 5*w^2 + 13*w - 7], [971, 971, w^3 + w^2 - 7*w - 5], [983, 983, -5*w^3 + 8*w^2 + 23*w - 2], [983, 983, -w^3 + w^2 + 3*w + 7], [1009, 1009, w^3 - w^2 - 6*w - 7], [1009, 1009, w - 6], [1033, 1033, 4*w^3 - 4*w^2 - 21*w - 5], [1033, 1033, -3*w^3 + 3*w^2 + 14*w + 4], [1069, 1069, -w^2 - 3], [1069, 1069, 2*w^3 - 3*w^2 - 10*w + 8], [1103, 1103, -w^3 + 2*w^2 + 7*w - 5], [1103, 1103, 3*w^3 - 3*w^2 - 19*w - 7], [1103, 1103, 2*w^3 - 11*w - 12], [1103, 1103, 3*w^3 - 4*w^2 - 17*w - 2], [1117, 1117, -3*w^3 + 3*w^2 + 14*w + 2], [1117, 1117, 4*w^3 - 4*w^2 - 21*w - 3], [1129, 1129, -w^3 + 2*w^2 + 5*w - 9], [1129, 1129, -2*w^3 + w^2 + 15*w + 2], [1151, 1151, -3*w^2 + 5*w + 8], [1151, 1151, 3*w^3 - 3*w^2 - 18*w - 11], [1153, 1153, 3*w^3 - 3*w^2 - 14*w - 3], [1153, 1153, -4*w^3 + 4*w^2 + 21*w + 4], [1163, 1163, -w^3 + 3*w^2 + w - 9], [1163, 1163, -w^3 - w^2 + 9*w + 5], [1187, 1187, -3*w^3 + 4*w^2 + 18*w - 6], [1187, 1187, -2*w^3 + 11*w + 5], [1187, 1187, 2*w^3 - 3*w^2 - 13*w - 4], [1187, 1187, 5*w^3 - 7*w^2 - 24*w + 6], [1201, 1201, -5*w^3 + 5*w^2 + 30*w + 4], [1201, 1201, -5*w - 1], [1213, 1213, -6*w^3 + 7*w^2 + 31*w - 2], [1213, 1213, 2*w^3 - 6*w^2 - 5*w + 14], [1249, 1249, 3*w^3 - 3*w^2 - 13*w - 1], [1249, 1249, 3*w^3 - 2*w^2 - 15*w - 4], [1249, 1249, -5*w^3 + 6*w^2 + 25*w - 1], [1249, 1249, -5*w^3 + 5*w^2 + 27*w + 3], [1283, 1283, -w^3 - 3*w^2 + 12*w + 15], [1283, 1283, -2*w^3 + 6*w^2 + 3*w - 12], [1297, 1297, 5*w^3 - 7*w^2 - 22*w - 2], [1297, 1297, 6*w^3 - 8*w^2 - 29*w + 2], [1307, 1307, -5*w^3 + 6*w^2 + 27*w + 2], [1307, 1307, -3*w^3 + 2*w^2 + 19*w + 2], [1319, 1319, 3*w - 4], [1319, 1319, -3*w^3 + 3*w^2 + 18*w + 7], [1321, 1321, -5*w^3 + 5*w^2 + 27*w + 5], [1321, 1321, 4*w^3 - 7*w^2 - 18*w + 7], [1367, 1367, -3*w^3 + 4*w^2 + 12*w - 4], [1367, 1367, 4*w^3 - 3*w^2 - 23*w - 4], [1381, 1381, -2*w^3 + 2*w^2 + 12*w - 5], [1381, 1381, 2*w^3 - 16*w - 13], [1381, 1381, -2*w - 7], [1381, 1381, 2*w^2 - 6*w - 3], [1427, 1427, 3*w^3 - 5*w^2 - 15*w - 1], [1427, 1427, -w^3 + 3*w^2 + 5*w - 11], [1429, 1429, -w^3 + 4*w^2 + 2*w - 10], [1429, 1429, 2*w^3 - 5*w^2 - 7*w + 8], [1439, 1439, 4*w^3 - 5*w^2 - 22*w - 2], [1439, 1439, w^2 + 2*w - 5], [1451, 1451, 3*w^3 - 5*w^2 - 12*w + 6], [1451, 1451, 3*w^3 - w^2 - 19*w - 9], [1451, 1451, 3*w^3 - 5*w^2 - 11*w + 5], [1451, 1451, 2*w^3 - 13*w - 7], [1453, 1453, 5*w^3 - 6*w^2 - 25*w - 2], [1453, 1453, 3*w^3 - 6*w^2 - 13*w + 10], [1487, 1487, 4*w^3 - 5*w^2 - 20*w - 6], [1487, 1487, 2*w^3 - w^2 - 10*w - 11], [1487, 1487, -3*w^3 + 4*w^2 + 16*w + 4], [1487, 1487, w^2 + w - 8], [1489, 1489, -4*w^3 + 3*w^2 + 22*w + 7], [1489, 1489, -4*w^3 + 5*w^2 + 18*w], [1499, 1499, 3*w^3 - 4*w^2 - 16*w - 6], [1499, 1499, w^2 + w - 10], [1511, 1511, -2*w^3 + w^2 + 9*w + 8], [1511, 1511, -5*w^3 + 6*w^2 + 26*w + 4], [1523, 1523, 2*w^3 - 5*w^2 - 4*w + 9], [1523, 1523, 6*w^3 - 6*w^2 - 33*w + 1], [1559, 1559, 2*w^3 - 14*w - 7], [1559, 1559, -2*w^3 + 4*w^2 + 6*w - 7], [1571, 1571, -4*w^3 + 6*w^2 + 23*w - 7], [1571, 1571, -4*w^3 + 8*w^2 + 15*w - 11], [1571, 1571, 5*w^3 - 7*w^2 - 23*w - 5], [1571, 1571, 4*w^3 - w^2 - 28*w - 13], [1597, 1597, w^2 - 5*w - 4], [1597, 1597, 5*w^3 - 6*w^2 - 25*w - 1], [1597, 1597, -3*w^3 + 2*w^2 + 20*w + 6], [1597, 1597, 3*w^3 - 2*w^2 - 15*w - 6], [1607, 1607, 3*w^3 - 4*w^2 - 13*w + 6], [1607, 1607, 4*w^3 - 3*w^2 - 24*w - 4], [1607, 1607, -3*w^3 + 2*w^2 + 17*w + 1], [1607, 1607, -2*w^3 + 3*w^2 + 6*w - 5], [1609, 1609, -2*w^3 + 2*w^2 + 11*w - 5], [1609, 1609, -w^3 + w^2 + 4*w - 6], [1609, 1609, w^3 - 6*w^2 + 5*w + 13], [1609, 1609, -4*w^3 + 3*w^2 + 21*w + 18], [1619, 1619, -3*w^3 + 4*w^2 + 17*w + 3], [1619, 1619, -w^3 + 2*w^2 + 7*w - 6], [1621, 1621, -w^3 + 2*w^2 + 3*w - 10], [1621, 1621, -w^3 + 7*w - 3], [1657, 1657, -4*w^3 + 3*w^2 + 22*w + 9], [1657, 1657, -4*w^3 + 5*w^2 + 18*w + 2], [1667, 1667, 2*w^3 + w^2 - 14*w - 12], [1667, 1667, 3*w^3 - 5*w^2 - 15*w - 3], [1667, 1667, -4*w^3 + 6*w^2 + 17*w - 5], [1667, 1667, 3*w^3 - w^2 - 18*w - 8], [1669, 1669, 2*w^3 - 3*w^2 - 15*w - 2], [1669, 1669, 2*w^3 - 5*w^2 - 8*w + 18], [1681, 41, 4*w^3 - 3*w^2 - 22*w - 8], [1681, 41, -4*w^3 + 5*w^2 + 18*w + 1], [1693, 1693, -4*w^3 + 4*w^2 + 21*w - 5], [1693, 1693, -3*w^3 + 3*w^2 + 14*w - 6], [1741, 1741, 2*w^3 - 5*w^2 - 11*w + 4], [1741, 1741, -5*w^2 + 7*w + 22], [1787, 1787, 4*w^3 - 6*w^2 - 19*w - 2], [1787, 1787, 4*w^3 - 4*w^2 - 22*w - 9], [1787, 1787, 2*w^3 - 2*w^2 - 8*w - 7], [1787, 1787, w^3 + w^2 - 6*w - 13], [1801, 1801, 4*w^2 - 4*w - 19], [1801, 1801, 3*w^3 - 2*w^2 - 19*w - 16], [1801, 1801, -w^3 + 4*w^2 - 2*w - 8], [1801, 1801, 4*w^3 - 8*w^2 - 16*w + 5], [1811, 1811, 2*w^3 + 2*w^2 - 16*w - 17], [1811, 1811, -4*w^3 + 8*w^2 + 14*w - 9], [1823, 1823, -3*w^3 + 8*w^2 + 7*w - 14], [1823, 1823, -4*w^3 + 4*w^2 + 24*w + 7], [1823, 1823, 4*w - 3], [1823, 1823, -w^3 - 4*w^2 + 13*w + 19], [1847, 1847, 3*w^2 - 2*w - 19], [1847, 1847, -7*w^3 + 8*w^2 + 39*w + 2], [1861, 1861, -w^3 - 3*w^2 + 8*w + 17], [1861, 1861, -6*w^3 + 10*w^2 + 27*w - 6], [1861, 1861, -w^3 + 4*w^2 + 3*w - 8], [1861, 1861, -3*w^3 + 6*w^2 + 13*w - 9], [1871, 1871, 2*w^3 + 2*w^2 - 17*w - 17], [1871, 1871, w^3 - 5*w^2 + w + 9], [1871, 1871, -5*w^3 + 4*w^2 + 30*w + 12], [1871, 1871, -w^3 + 5*w^2 - w - 17], [1873, 1873, -4*w^3 + 7*w^2 + 22*w - 5], [1873, 1873, 4*w^3 - 2*w^2 - 24*w - 21], [1873, 1873, 4*w^2 - 5*w - 17], [1873, 1873, -4*w^3 + 6*w^2 + 16*w + 7], [1907, 1907, -4*w^3 + 6*w^2 + 15*w + 6], [1907, 1907, 3*w^3 - 2*w^2 - 14*w - 10], [1907, 1907, -6*w^3 + 9*w^2 + 28*w - 1], [1907, 1907, 6*w^3 - 7*w^2 - 31*w - 6], [1931, 1931, 6*w^3 - 7*w^2 - 34*w - 2], [1931, 1931, 3*w^3 - 20*w - 14], [1933, 1933, -3*w^3 + 6*w^2 + 13*w - 6], [1933, 1933, w^3 - 10*w - 6], [1933, 1933, -2*w^3 + w^2 + 15*w + 4], [1933, 1933, -w^3 + 4*w^2 + 3*w - 11], [1993, 1993, 6*w^3 - 7*w^2 - 31*w], [1993, 1993, 5*w^3 - 8*w^2 - 25*w + 9]]; primes := [ideal : I in primesArray]; heckePol := x; K := Rationals(); e := 1; heckeEigenvaluesArray := [1, 1, -2, 2, 6, 6, -6, 6, 6, -6, -2, 2, 2, -2, -2, 2, 0, 0, -6, 4, -4, 18, -18, -22, 18, -18, -18, -18, 8, -8, 10, -20, 20, 18, 18, -18, -18, -12, 12, -14, -14, 10, 10, 20, -20, -2, -2, 18, -18, -8, 8, 16, -16, 22, 22, -14, -14, 18, 18, 28, -18, -28, 18, 30, 30, 30, 30, -2, -2, -18, 22, 22, -18, 10, 10, 2, 2, -18, 18, 14, 14, -34, 34, 18, 2, 18, 2, 12, -12, -10, -10, 10, 10, 18, -18, -2, -2, 24, -24, 18, 18, -12, 38, -38, 12, 30, -30, -38, -38, -46, -46, -14, -18, 18, -20, 20, -30, 30, 36, -36, 30, 30, -30, 30, 14, 34, 14, 34, -4, 4, 38, -2, 38, -2, 10, 10, -52, 2, -2, 52, -50, -50, -50, 30, -30, 50, -56, 56, -52, 52, 8, -28, -8, 28, -22, -38, -22, -38, 48, -48, 42, -42, 18, -18, 56, -56, 10, 10, -14, -14, 10, 10, 24, 36, -36, -24, -18, -18, -10, -10, -8, 8, 26, 26, -4, 4, 48, -42, -48, 42, 2, 2, -34, -34, -10, -30, -30, -10, -36, 36, -38, -38, 2, -2, -30, 30, -22, -22, 32, -32, -38, -18, -38, -18, 12, -12, -50, -50, 10, -10, 48, 62, -62, -48, -74, -74, -18, 18, 42, -42, 10, 10, 40, -40, -18, 18, -54, 54, 50, -50, 62, -62, 28, -28, -62, 62, -62, 62, -78, 18, 78, -18, 10, 10, -30, -30, 30, -30, 22, 22, 22, 22, -42, 42, -48, 48, -70, -70, 18, 18, 54, 54, -62, -62, 12, -18, 18, -12, 58, -78, -78, 58, 12, -12, 66, 66, -66, -66, -62, 62, -62, -62, -42, -42, 12, 72, -12, -72, 6, -26, 6, -26, -12, -2, 12, 2, -12, 12, -34, 14, 14, -34, 26, 26]; 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;