/*
  This code can be loaded, or copied and pasted, into Magma.
  It will load the data associated to the BMF, including
  the field, level, and Hecke and Atkin-Lehner eigenvalue data.
  At the *bottom* of the file, there is code to recreate the
  Bianchi modular form in Magma, by creating the BMF 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<x> := PolynomialRing(Rationals());
g := P![2, -1, 1];
F<a> := NumberField(g);
ZF := Integers(F);

NN := ideal<ZF | {448, 2*a + 244}>;

primesArray := [
[2,a],
[2,a-1],
[7,a+3],
[3,3],
[11,a+4],
[11,a-5],
[23,a+9],
[23,a-10],
[5,5],
[29,a+7],
[29,a-8],
[37,a+8],
[37,a-9],
[43,a+18],
[43,a-19],
[53,a+14],
[53,a-15],
[67,a+11],
[67,a-12],
[71,a+31],
[71,a-32],
[79,a+12],
[79,a-13],
[107,a+48],
[107,a-49],
[109,a+29],
[109,a-30],
[113,a+42],
[113,a-43],
[127,a+22],
[127,a-23],
[137,a+16],
[137,a-17],
[149,a+34],
[149,a-35],
[151,a+69],
[151,a-70],
[163,a+25],
[163,a-26],
[13,13],
[179,a+53],
[179,a-54],
[191,a+19],
[191,a-20],
[193,a+73],
[193,a-74],
[197,a+52],
[197,a-53],
[211,a+20],
[211,a-21],
[233,a+30],
[233,a-31],
[239,a+72],
[239,a-73],
[263,a+123],
[263,a-124],
[277,a+23],
[277,a-24],
[281,a+33],
[281,a-34],
[17,17],
[317,a+83],
[317,a-84],
[331,a+156],
[331,a-157],
[337,a+124],
[337,a-125],
[347,a+74],
[347,a-75],
[359,a+128],
[359,a-129],
[19,19],
[373,a+154],
[373,a-155],
[379,a+27],
[379,a-28],
[389,a+92],
[389,a-93],
[401,a+152],
[401,a-153],
[421,a+176],
[421,a-177],
[431,a+41],
[431,a-42],
[443,a+157],
[443,a-158],
[449,a+196],
[449,a-197],
[457,a+85],
[457,a-86],
[463,a+80],
[463,a-81],
[487,a+103],
[487,a-104],
[491,a+234],
[491,a-235],
[499,a+151],
[499,a-152],
[541,a+46],
[541,a-47],
[547,a+87],
[547,a-88],
[557,a+133],
[557,a-134],
[569,a+178],
[569,a-179],
[571,a+158],
[571,a-159],
[599,a+129],
[599,a-130],
[613,a+49],
[613,a-50],
[617,a+116],
[617,a-117],
[631,a+35],
[631,a-36],
[641,a+237],
[641,a-238],
[653,a+169],
[653,a-170],
[659,a+195],
[659,a-196],
[673,a+293],
[673,a-294],
[683,a+328],
[683,a-329],
[701,a+315],
[701,a-316],
[709,a+106],
[709,a-107],
[739,a+127],
[739,a-128],
[743,a+54],
[743,a-55],
[751,a+77],
[751,a-78],
[757,a+182],
[757,a-183],
[809,a+150],
[809,a-151],
[821,a+40],
[821,a-41],
[823,a+229],
[823,a-230],
[827,a+57],
[827,a-58],
[863,a+117],
[863,a-118],
[877,a+367],
[877,a-368],
[883,a+361],
[883,a-362],
[907,a+438],
[907,a-439],
[911,a+289],
[911,a-290],
[919,a+326],
[919,a-327],
[947,a+43],
[947,a-44],
[953,a+115],
[953,a-116],
[31,31],
[967,a+267],
[967,a-268],
[977,a+62],
[977,a-63],
[991,a+44],
[991,a-45],
[1009,a+462],
[1009,a-463],
[1019,a+216],
[1019,a-217],
[1031,a+499],
[1031,a-500],
[1033,a+301],
[1033,a-302],
[1051,a+407],
[1051,a-408],
[1061,a+476],
[1061,a-477],
[1087,a+186],
[1087,a-187],
[1093,a+93],
[1093,a-94],
[1103,a+450],
[1103,a-451],
[1117,a+287],
[1117,a-288],
[1129,a+47],
[1129,a-48],
[1163,a+564],
[1163,a-565],
[1171,a+160],
[1171,a-161],
[1187,a+319],
[1187,a-320],
[1201,a+454],
[1201,a-455],
[1213,a+98],
[1213,a-99],
[1229,a+185],
[1229,a-186],
[1283,a+444],
[1283,a-445],
[1289,a+243],
[1289,a-244],
[1297,a+269],
[1297,a-270],
[1303,a+633],
[1303,a-634],
[1327,a+51],
[1327,a-52],
[1367,a+490],
[1367,a-491],
[1373,a+637],
[1373,a-638],
[1381,a+246],
[1381,a-247],
[1409,a+614],
[1409,a-615],
[1423,a+324],
[1423,a-325],
[1429,a+501],
[1429,a-502],
[1439,a+497],
[1439,a-498],
[1451,a+706],
[1451,a-707],
[1453,a+570],
[1453,a-571],
[1471,a+143],
[1471,a-144],
[1481,a+180],
[1481,a-181],
[1493,a+479],
[1493,a-480],
[1499,a+109],
[1499,a-110],
[1523,a+206],
[1523,a-207],
[1549,a+377],
[1549,a-378],
[1579,a+368],
[1579,a-369],
[1583,a+670],
[1583,a-671],
[1597,a+56],
[1597,a-57],
[1607,a+783],
[1607,a-784],
[1619,a+489],
[1619,a-490],
[1621,a+678],
[1621,a-679],
[1663,a+270],
[1663,a-271],
[1667,a+191],
[1667,a-192],
[41,41],
[1709,a+437],
[1709,a-438],
[1723,a+480],
[1723,a-481],
[1733,a+681],
[1733,a-682],
[1747,a+554],
[1747,a-555],
[1759,a+474],
[1759,a-475],
[1787,a+635],
[1787,a-636],
[1789,a+624],
[1789,a-625],
[1801,a+281],
[1801,a-282],
[1831,a+60],
[1831,a-61],
[1871,a+86],
[1871,a-87],
[1873,a+526],
[1873,a-527],
[1877,a+458],
[1877,a-459],
[1901,a+204],
[1901,a-205],
[1913,a+777],
[1913,a-778],
[1933,a+164],
[1933,a-165],
[1997,a+357],
[1997,a-358],
[1999,a+340],
[1999,a-341],
[2003,a+89],
[2003,a-90],
[2011,a+556],
[2011,a-557],
[2017,a+63],
[2017,a-64],
[2027,a+536],
[2027,a-537],
[2039,a+779],
[2039,a-780],
[2053,a+524],
[2053,a-525],
[2069,a+308],
[2069,a-309],
[2081,a+64],
[2081,a-65],
[2083,a+241],
[2083,a-242],
[2087,a+920],
[2087,a-921],
[2111,a+215],
[2111,a-216],
[2129,a+130],
[2129,a-131],
[2137,a+261],
[2137,a-262],
[2143,a+683],
[2143,a-684],
[2153,a+739],
[2153,a-740],
[2179,a+355],
[2179,a-356],
[2207,a+932],
[2207,a-933],
[47,47],
[2213,a+1028],
[2213,a-1029],
[2221,a+997],
[2221,a-998],
[2237,a+547],
[2237,a-548],
[2251,a+824],
[2251,a-825],
[2269,a+1071],
[2269,a-1072],
[2293,a+700],
[2293,a-701],
[2297,a+720],
[2297,a-721],
[2311,a+1131],
[2311,a-1132],
[2333,a+415],
[2333,a-416],
[2339,a+448],
[2339,a-449],
[2347,a+68],
[2347,a-69],
[2377,a+97],
[2377,a-98],
[2381,a+1073],
[2381,a-1074],
[2389,a+331],
[2389,a-332],
[2417,a+529],
[2417,a-530],
[2423,a+784],
[2423,a-785],
[2437,a+473],
[2437,a-474],
[2447,a+335],
[2447,a-336],
[2459,a+881],
[2459,a-882],
[2473,a+466],
[2473,a-467],
[2503,a+141],
[2503,a-142],
[2521,a+235],
[2521,a-236],
[2531,a+599],
[2531,a-600],
[2543,a+334],
[2543,a-335],
[2549,a+384],
[2549,a-385],
[2557,a+71],
[2557,a-72],
[2591,a+477],
[2591,a-478],
[2633,a+410],
[2633,a-411],
[2647,a+192],
[2647,a-193],
[2657,a+1159],
[2657,a-1160],
[2671,a+773],
[2671,a-774],
[2683,a+146],
[2683,a-147],
[2689,a+558],
[2689,a-559],
[2699,a+1191],
[2699,a-1192],
[2711,a+1329],
[2711,a-1330],
[2713,a+345],
[2713,a-346],
[2731,a+1002],
[2731,a-1003],
[2741,a+1075],
[2741,a-1076],
[2753,a+1289],
[2753,a-1290],
[2767,a+452],
[2767,a-453],
[2797,a+544],
[2797,a-545],
[2801,a+1330],
[2801,a-1331],
[2837,a+722],
[2837,a-723],
[2843,a+199],
[2843,a-200],
[2851,a+75],
[2851,a-76],
[2857,a+831],
[2857,a-832],
[2879,a+858],
[2879,a-859],
[2909,a+1020],
[2909,a-1021],
[2927,a+76],
[2927,a-77],
[2963,a+675],
[2963,a-676],
[2969,a+1261],
[2969,a-1262],
[3011,a+1029],
[3011,a-1030],
[3019,a+1309],
[3019,a-1310],
[3049,a+568],
[3049,a-569],
[3061,a+259],
[3061,a-260],
[3067,a+1195],
[3067,a-1196],
[3089,a+1003],
[3089,a-1004],
[3109,a+1123],
[3109,a-1124],
[3119,a+601],
[3119,a-602],
[3137,a+1169],
[3137,a-1170],
[3187,a+1441],
[3187,a-1442],
[3203,a+926],
[3203,a-927],
[3217,a+1472],
[3217,a-1473],
[3221,a+113],
[3221,a-114],
[3229,a+987],
[3229,a-988],
[3257,a+1014],
[3257,a-1015],
[3259,a+694],
[3259,a-695],
[3271,a+911],
[3271,a-912],
[3299,a+1397],
[3299,a-1398],
[3301,a+162],
[3301,a-163],
[3313,a+723],
[3313,a-724],
[3319,a+877],
[3319,a-878],
[3329,a+1082],
[3329,a-1083],
[3343,a+1353],
[3343,a-1354],
[3347,a+1371],
[3347,a-1372],
[3361,a+1267],
[3361,a-1268],
[3371,a+1656],
[3371,a-1657],
[3389,a+1617],
[3389,a-1618],
[3413,a+1008],
[3413,a-1009],
[3467,a+1324],
[3467,a-1325],
[3469,a+1340],
[3469,a-1341],
[59,59],
[3511,a+118],
[3511,a-119],
[3529,a+1500],
[3529,a-1501],
[3539,a+1067],
[3539,a-1068],
[3557,a+404],
[3557,a-405],
[3571,a+84],
[3571,a-85],
[3581,a+1408],
[3581,a-1409],
[3593,a+456],
[3593,a-457],
[3607,a+1773],
[3607,a-1774],
[3613,a+1560],
[3613,a-1561],
[3623,a+318],
[3623,a-319],
[3637,a+1718],
[3637,a-1719],
[3677,a+752],
[3677,a-753],
[3691,a+121],
[3691,a-122],
[3697,a+227],
[3697,a-228],
[3719,a+1374],
[3719,a-1375],
[61,61],
[3733,a+1550],
[3733,a-1551],
[3739,a+1544],
[3739,a-1545],
[3761,a+1033],
[3761,a-1034],
[3767,a+245],
[3767,a-246],
[3803,a+578],
[3803,a-579],
[3823,a+904],
[3823,a-905],
[3833,a+471],
[3833,a-472],
[3847,a+1756],
[3847,a-1757],
[3851,a+1894],
[3851,a-1895],
[3889,a+292],
[3889,a-293],
[3907,a+661],
[3907,a-662],
[3917,a+88],
[3917,a-89],
[3929,a+1231],
[3929,a-1232],
[3931,a+1525],
[3931,a-1526],
[3943,a+1412],
[3943,a-1413],
[4001,a+126],
[4001,a-127],
[4013,a+1367],
[4013,a-1368],
[4019,a+1199],
[4019,a-1200],
[4027,a+787],
[4027,a-788],
[4057,a+422],
[4057,a-423],
[4099,a+1101],
[4099,a-1102],
[4111,a+1860],
[4111,a-1861],
[4127,a+978],
[4127,a-979],
[4139,a+853],
[4139,a-854],
[4153,a+951],
[4153,a-952],
[4159,a+682],
[4159,a-683],
[4201,a+1137],
[4201,a-1138],
[4211,a+1342],
[4211,a-1343],
[4229,a+1825],
[4229,a-1826],
[4243,a+1312],
[4243,a-1313],
[4253,a+1079],
[4253,a-1080],
[4271,a+433],
[4271,a-434],
[4327,a+1398],
[4327,a-1399],
[4337,a+1634],
[4337,a-1635],
[4349,a+493],
[4349,a-494],
[4363,a+2148],
[4363,a-2149],
[4391,a+1668],
[4391,a-1669],
[4397,a+2039],
[4397,a-2040],
[4421,a+1992],
[4421,a-1993],
[4447,a+1816],
[4447,a-1817],
[4463,a+353],
[4463,a-354],
[4481,a+2129],
[4481,a-2130],
[4517,a+1112],
[4517,a-1113],
[4519,a+2078],
[4519,a-2079],
[4523,a+134],
[4523,a-135],
[4547,a+1921],
[4547,a-1922],
[4561,a+95],
[4561,a-96],
[4603,a+1301],
[4603,a-1302],
[4621,a+2147],
[4621,a-2148],
[4643,a+856],
[4643,a-857],
[4649,a+812],
[4649,a-813],
[4657,a+96],
[4657,a-97],
[4663,a+255],
[4663,a-256],
[4673,a+2048],
[4673,a-2049],
[4691,a+642],
[4691,a-643],
[4729,a+194],
[4729,a-195],
[4733,a+2275],
[4733,a-2276],
[4783,a+917],
[4783,a-918],
[4789,a+1214],
[4789,a-1215],
[4799,a+1446],
[4799,a-1447],
[4813,a+277],
[4813,a-278],
[4817,a+1356],
[4817,a-1357],
[4831,a+2162],
[4831,a-2163],
[4909,a+1449],
[4909,a-1450],
[4937,a+921],
[4937,a-922],
[4943,a+1120],
[4943,a-1121],
[4951,a+99],
[4951,a-100],
[4957,a+1811],
[4957,a-1812],
[4967,a+1059],
[4967,a-1060],
[4993,a+727],
[4993,a-728],
[4999,a+761],
[4999,a-762],
[5009,a+374],
[5009,a-375],
[5021,a+2220],
[5021,a-2221],
[5023,a+1314],
[5023,a-1315],
[5051,a+100],
[5051,a-101],
[5077,a+142],
[5077,a-143],
[5107,a+1229],
[5107,a-1230],
[5119,a+663],
[5119,a-664],
[5147,a+336],
[5147,a-337],
[5153,a+1923],
[5153,a-1924],
[5167,a+1626],
[5167,a-1627],
[5189,a+1819],
[5189,a-1820],
[5209,a+1623],
[5209,a-1624],
[5231,a+2063],
[5231,a-2064],
[5233,a+1087],
[5233,a-1088],
[5237,a+2498],
[5237,a-2499],
[5261,a+1719],
[5261,a-1720],
[5273,a+492],
[5273,a-493],
[5279,a+205],
[5279,a-206],
[5303,a+2189],
[5303,a-2190],
[73,73],
[5387,a+790],
[5387,a-791],
[5399,a+756],
[5399,a-757],
[5413,a+2584],
[5413,a-2585],
[5419,a+1266],
[5419,a-1267],
[5441,a+2049],
[5441,a-2050],
[5443,a+1863],
[5443,a-1864],
[5471,a+1246],
[5471,a-1247],
[5483,a+2704],
[5483,a-2705],
[5503,a+2343],
[5503,a-2344],
[5527,a+1189],
[5527,a-1190],
[5531,a+1217],
[5531,a-1218],
[5569,a+298],
[5569,a-299],
[5573,a+1822],
[5573,a-1823],
[5581,a+2331],
[5581,a-2332],
[5623,a+2482],
[5623,a-2483],
[5639,a+1347],
[5639,a-1348],
[5651,a+572],
[5651,a-573],
[5653,a+1394],
[5653,a-1395],
[5657,a+1515],
[5657,a-1516],
[5693,a+2298],
[5693,a-2299],
[5737,a+726],
[5737,a-727],
[5741,a+283],
[5741,a-284],
[5749,a+1119],
[5749,a-1120],
[5779,a+107],
[5779,a-108],
[5783,a+2853],
[5783,a-2854],
[5791,a+2618],
[5791,a-2619],
[5807,a+2007],
[5807,a-2008],
[5821,a+1678],
[5821,a-1679],
[5839,a+960],
[5839,a-961],
[5849,a+2611],
[5849,a-2612],
[5861,a+1881],
[5861,a-1882],
[5867,a+519],
[5867,a-520],
[5881,a+613],
[5881,a-614],
[5903,a+712],
[5903,a-713],
[5923,a+510],
[5923,a-511],
[5987,a+309],
[5987,a-310],
[6007,a+1437],
[6007,a-1438],
[6029,a+2106],
[6029,a-2107],
[6043,a+1674],
[6043,a-1675],
[6073,a+1902],
[6073,a-1903],
[6091,a+3006],
[6091,a-3007],
[6101,a+2228],
[6101,a-2229],
[6113,a+2074],
[6113,a-2075],
[6133,a+221],
[6133,a-222],
[6143,a+953],
[6143,a-954],
[6197,a+2395],
[6197,a-2396],
[6199,a+2688],
[6199,a-2689],
[6203,a+2293],
[6203,a-2294],
[6211,a+2248],
[6211,a-2249],
[6217,a+111],
[6217,a-112],
[6269,a+1547],
[6269,a-1548],
[6287,a+1409],
[6287,a-1410],
[6301,a+3045],
[6301,a-3046],
[6311,a+2651],
[6311,a-2652],
[6323,a+2008],
[6323,a-2009],
[6329,a+112],
[6329,a-113],
[6337,a+2907],
[6337,a-2908],
[6343,a+2462],
[6343,a-2463],
[6353,a+2372],
[6353,a-2373],
[6367,a+2696],
[6367,a-2697],
[6379,a+1690],
[6379,a-1691],
[6421,a+2033],
[6421,a-2034],
[6427,a+453],
[6427,a-454],
[6449,a+2187],
[6449,a-2188],
[6451,a+2612],
[6451,a-2613],
[6469,a+754],
[6469,a-755],
[6491,a+2467],
[6491,a-2468],
[6521,a+161],
[6521,a-162],
[6547,a+605],
[6547,a-606],
[6553,a+616],
[6553,a-617],
[6563,a+2149],
[6563,a-2150],
[6577,a+1292],
[6577,a-1293],
[6581,a+380],
[6581,a-381],
[6619,a+430],
[6619,a-431],
[6637,a+755],
[6637,a-756],
[6659,a+765],
[6659,a-766],
[6661,a+1221],
[6661,a-1222],
[6673,a+2512],
[6673,a-2513],
[6679,a+1737],
[6679,a-1738],
[6689,a+2921],
[6689,a-2922],
[6701,a+2156],
[6701,a-2157],
[6703,a+3102],
[6703,a-3103],
[6763,a+545],
[6763,a-546],
[6791,a+2957],
[6791,a-2958],
[6827,a+330],
[6827,a-331],
[6829,a+1934],
[6829,a-1935],
[6833,a+1492],
[6833,a-1493],
[6841,a+711],
[6841,a-712],
[6857,a+3060],
[6857,a-3061],
[6869,a+2967],
[6869,a-2968],
[6871,a+1440],
[6871,a-1441],
[6883,a+3077],
[6883,a-3078],
[83,83],
[6899,a+2061],
[6899,a-2062],
[6911,a+2264],
[6911,a-2265],
[6917,a+1708],
[6917,a-1709],
[6959,a+1876],
[6959,a-1877],
[6967,a+391],
[6967,a-392],
[6983,a+3266],
[6983,a-3267],
[6997,a+2751],
[6997,a-2752],
[7001,a+885],
[7001,a-886],
[7039,a+2477],
[7039,a-2478],
[7043,a+2793],
[7043,a-2794],
[7057,a+2500],
[7057,a-2501],
[7079,a+1839],
[7079,a-1840],
[7109,a+1455],
[7109,a-1456],
[7121,a+2000],
[7121,a-2001],
[7127,a+1954],
[7127,a-1955],
[7151,a+1315],
[7151,a-1316],
[7177,a+1233],
[7177,a-1234],
[7193,a+2135],
[7193,a-2136],
[7207,a+2753],
[7207,a-2754],
[7211,a+814],
[7211,a-815],
[7219,a+2273],
[7219,a-2274],
[7247,a+2309],
[7247,a-2310],
[7253,a+1834],
[7253,a-1835],
[7309,a+3449],
[7309,a-3450],
[7331,a+1642],
[7331,a-1643],
[7333,a+3524],
[7333,a-3525],
[7351,a+242],
[7351,a-243],
[7393,a+1732],
[7393,a-1733],
[7417,a+3015],
[7417,a-3016],
[7457,a+1980],
[7457,a-1981],
[7459,a+1257],
[7459,a-1258],
[7477,a+3122],
[7477,a-3123],
[7487,a+2711],
[7487,a-2712],
[7499,a+659],
[7499,a-660],
[7529,a+588],
[7529,a-589],
[7541,a+3626],
[7541,a-3627],
[7547,a+2131],
[7547,a-2132],
[7561,a+1699],
[7561,a-1700],
[7583,a+2038],
[7583,a-2039],
[7589,a+1142],
[7589,a-1143],
[7603,a+986],
[7603,a-987],
[7639,a+2893],
[7639,a-2894],
[7669,a+2173],
[7669,a-2174],
[7673,a+2392],
[7673,a-2393],
[7681,a+2869],
[7681,a-2870],
[7687,a+3377],
[7687,a-3378],
[7723,a+2691],
[7723,a-2692],
[7753,a+2098],
[7753,a-2099],
[7757,a+1341],
[7757,a-1342],
[7793,a+1095],
[7793,a-1096],
[7823,a+3642],
[7823,a-3643],
[7841,a+2154],
[7841,a-2155],
[7877,a+177],
[7877,a-178],
[7879,a+3700],
[7879,a-3701],
[7883,a+2669],
[7883,a-2670],
[7907,a+915]];
primes := [ideal<ZF | {F!x : x in I}> : I in primesArray];

heckePol := x;
K := Rationals(); e := 1;

heckeEigenvaluesList := [*
0,
1,
-1,
2,
0,
0,
0,
0,
10,
-6,
6,
-2,
2,
-8,
8,
-6,
6,
4,
-4,
0,
0,
-8,
-8,
12,
-12,
2,
-2,
-6,
-6,
-16,
-16,
18,
18,
18,
-18,
8,
8,
-16,
16,
10,
12,
-12,
-24,
-24,
-14,
-14,
18,
-18,
-4,
4,
-6,
-6,
24,
24,
0,
0,
-10,
10,
-6,
-6,
2,
6,
-6,
8,
-8,
-14,
-14,
-24,
24,
-24,
-24,
34,
14,
-14,
16,
-16,
-18,
18,
18,
18,
-10,
10,
24,
24,
12,
-12,
18,
18,
10,
10,
-32,
-32,
-16,
-16,
12,
-12,
-4,
4,
-38,
38,
-8,
8,
6,
-6,
-6,
-6,
32,
-32,
24,
24,
2,
-2,
-6,
-6,
16,
16,
18,
18,
18,
-18,
-24,
24,
26,
26,
-12,
12,
18,
-18,
-46,
46,
16,
-16,
24,
24,
-40,
-40,
-2,
2,
-6,
-6,
-6,
6,
40,
40,
-36,
36,
24,
24,
22,
-22,
20,
-20,
-44,
44,
48,
48,
-56,
-56,
-24,
24,
-54,
-54,
-46,
32,
32,
-6,
-6,
16,
16,
34,
34,
-36,
36,
0,
0,
26,
26,
-44,
44,
30,
-30,
8,
8,
-22,
22,
48,
48,
-34,
34,
50,
50,
-60,
60,
-20,
20,
12,
-12,
-14,
-14,
-26,
26,
-30,
30,
0,
0,
-30,
-30,
34,
34,
8,
8,
-32,
-32,
24,
24,
30,
-30,
-22,
22,
18,
18,
56,
56,
26,
-26,
24,
24,
48,
-48,
50,
-50,
-32,
-32,
-6,
-6,
30,
-30,
-12,
12,
-72,
72,
-34,
34,
-40,
40,
0,
0,
58,
-58,
-48,
-48,
60,
-60,
74,
-74,
8,
8,
48,
-48,
-46,
54,
-54,
4,
-4,
6,
-6,
-56,
56,
32,
32,
72,
-72,
10,
-10,
34,
34,
40,
40,
48,
48,
2,
2,
-78,
78,
-18,
18,
-54,
-54,
-62,
62,
78,
-78,
16,
16,
-48,
48,
40,
-40,
-70,
-70,
-72,
72,
0,
0,
-38,
38,
-30,
30,
42,
42,
-32,
32,
0,
0,
-48,
-48,
-30,
-30,
50,
50,
-56,
-56,
-54,
-54,
88,
-88,
-48,
-48,
50,
-54,
54,
-10,
10,
-78,
78,
-92,
92,
2,
-2,
-82,
82,
42,
42,
64,
64,
30,
-30,
72,
-72,
80,
-80,
-70,
-70,
-66,
66,
-14,
14,
18,
18,
48,
48,
62,
-62,
-48,
-48,
-60,
60,
10,
10,
-16,
-16,
-38,
-38,
-36,
36,
0,
0,
30,
-30,
38,
-38,
72,
72,
-6,
-6,
-56,
-56,
18,
18,
-8,
-8,
-20,
20,
-62,
-62,
-60,
60,
24,
24,
-94,
-94,
-4,
4,
-66,
66,
-78,
-78,
-32,
-32,
-62,
62,
-30,
-30,
-42,
42,
0,
0,
-44,
44,
-22,
-22,
24,
24,
-18,
18,
96,
96,
24,
-24,
-54,
-54,
-24,
24,
40,
-40,
10,
10,
-70,
70,
64,
-64,
66,
66,
22,
-22,
96,
96,
-6,
-6,
16,
-16,
24,
-24,
-86,
-86,
-18,
18,
46,
-46,
-30,
-30,
56,
-56,
-40,
-40,
-72,
72,
82,
-82,
2,
2,
80,
80,
66,
66,
-40,
-40,
-36,
36,
58,
58,
-24,
24,
-42,
42,
-18,
18,
-96,
96,
-50,
50,
82,
-16,
-16,
74,
74,
36,
-36,
-42,
42,
-64,
64,
-30,
30,
42,
42,
8,
8,
-58,
58,
96,
96,
-2,
2,
18,
-18,
-52,
52,
-46,
-46,
24,
24,
58,
-46,
46,
40,
-40,
42,
42,
-96,
-96,
108,
-108,
64,
64,
42,
42,
-40,
-40,
-72,
72,
-110,
-110,
20,
-20,
18,
-18,
90,
90,
8,
-8,
56,
56,
-78,
-78,
-78,
78,
60,
-60,
112,
-112,
10,
10,
-4,
4,
-64,
-64,
-24,
-24,
-60,
60,
-86,
-86,
56,
56,
10,
10,
84,
-84,
126,
-126,
-32,
32,
-78,
78,
-48,
-48,
64,
64,
-78,
-78,
-114,
114,
44,
-44,
48,
48,
-42,
42,
-126,
126,
16,
16,
-24,
-24,
-126,
-126,
114,
-114,
-16,
-16,
-24,
24,
36,
-36,
-118,
-118,
4,
-4,
22,
-22,
-24,
24,
-30,
-30,
50,
50,
16,
16,
18,
18,
-132,
132,
50,
50,
18,
-18,
-104,
-104,
34,
-34,
72,
72,
-26,
26,
66,
66,
80,
80,
-86,
86,
-54,
-54,
-24,
-24,
-56,
-56,
10,
-10,
96,
96,
-46,
-46,
-40,
-40,
114,
114,
-102,
102,
16,
16,
-36,
36,
70,
-70,
-68,
68,
64,
64,
-48,
48,
-78,
-78,
-16,
-16,
54,
-54,
10,
10,
48,
48,
58,
58,
-18,
18,
102,
-102,
-102,
-102,
24,
24,
-72,
-72,
-142,
48,
-48,
24,
24,
86,
-86,
88,
-88,
18,
18,
-100,
100,
48,
48,
24,
-24,
40,
40,
-56,
-56,
-60,
60,
10,
10,
78,
-78,
-110,
110,
8,
8,
120,
120,
12,
-12,
-74,
74,
114,
114,
-54,
54,
-22,
-22,
-18,
18,
-46,
46,
-128,
128,
-48,
-48,
-32,
-32,
72,
72,
-62,
62,
-8,
-8,
42,
42,
-66,
66,
-72,
72,
58,
58,
24,
24,
-124,
124,
48,
-48,
-32,
-32,
-30,
30,
104,
-104,
10,
10,
-116,
116,
-30,
30,
-78,
-78,
-130,
130,
-96,
-96,
18,
-18,
-64,
-64,
-24,
24,
-20,
20,
26,
26,
-114,
114,
48,
48,
-2,
2,
-72,
-72,
36,
-36,
-6,
-6,
-110,
-110,
8,
8,
66,
66,
32,
32,
-116,
116,
130,
-130,
20,
-20,
-54,
-54,
-100,
100,
-134,
134,
-156,
156,
138,
138,
-140,
140,
106,
106,
-144,
144,
-62,
-62,
102,
-102,
-40,
40,
-50,
50,
60,
-60,
-2,
2,
-14,
-14,
-56,
-56,
18,
18,
18,
-18,
8,
8,
112,
-112,
120,
120,
108,
-108,
10,
-10,
138,
138,
34,
34,
42,
42,
-42,
42,
-40,
-40,
80,
-80,
130,
-120,
120,
48,
48,
30,
-30,
-48,
-48,
-56,
-56,
120,
120,
-50,
50,
90,
90,
160,
160,
-48,
48,
2,
2,
-72,
-72,
150,
-150,
-30,
-30,
-144,
-144,
24,
24,
58,
58,
90,
90,
-152,
-152,
-12,
12,
128,
-128,
96,
96,
-90,
90,
-106,
106,
-36,
36,
-134,
134,
-64,
-64,
50,
50,
-38,
-38,
90,
90,
80,
-80,
26,
-26,
24,
24,
-120,
120,
-30,
-30,
-138,
138,
-48,
48,
146,
146,
-72,
-72,
-78,
78,
-44,
44,
-64,
-64,
-70,
70,
138,
138,
130,
130,
-128,
-128,
124,
-124,
58,
58,
-126,
126,
66,
66,
0,
0,
-30,
-30,
6,
-6,
-104,
-104,
-36,
36,
-168
*];

heckeEigenvalues := AssociativeArray();
for i in [1..#heckeEigenvaluesList] do
    heckeEigenvalues[primes[i]] := heckeEigenvaluesList[i];
end for;

ALEigenvalues := AssociativeArray();
ALEigenvalues[ideal<ZF | {a}>] := 1;
ALEigenvalues[ideal<ZF | {-a + 1}>] := -1;
ALEigenvalues[ideal<ZF | {-2*a + 1}>] := 1;

// EXAMPLE:
// pp := Factorization(2*ZF)[1][1];
// heckeEigenvalues[pp];

print "To reconstruct the Bianchi newform f, type
  f, iso := Explode(make_newform());";

function make_newform();
 M := BianchiCuspForms(F, NN);
 S := NewSubspace(M);
 // SetVerbose("Bianchi", 1);
 NFD := NewformDecomposition(S);
 newforms := [* Eigenform(U) : U in NFD *];

 if #newforms eq 0 then;
  print "No Bianchi 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 Bianchi 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;
  if Valuation(NN,P) eq 0 then;
   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 Bianchi 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 if;
 end for;
 print #newforms, "Bianchi newforms found which match the Hecke eigenvalues";
 return newforms[1];

end function;