
# q-expansion of newform 1100.4.b.e, downloaded from the LMFDB on 22 October 2026.

# We generate the q-expansion using the Hecke eigenvalues a_p at the primes.
# Each a_p is given as a linear combination
# of the following basis for the coefficient ring.

def make_data():

    from sage.all import prod, floor, prime_powers, gcd, QQ, primes_first_n, next_prime, RR

    def discrete_log(elts, gens, mod):
        # algorithm 2.2, page 16 of https://arxiv.org/abs/0903.2785
        def table_gens(gens, mod):
            T = [1]
            n = len(gens)
            r = [None]*n
            s = [None]*n
            for i in range(n):
                beta = gens[i]
                r[i] = 1
                N = len(T)
                while beta not in T:
                    for Tj in T[:N]:
                        T.append((beta*Tj) % mod)
                    beta = (beta*gens[i]) % mod
                    r[i] += 1
                s[i] = T.index(beta)
            return T, r, s
        T, r, s = table_gens(gens, mod)
        n = len(gens)
        N = [ prod(r[:j]) for j in range(n) ]
        Z = lambda s: [ (floor(s/N[j]) % r[j]) for j in range(n)]
        return [Z(T.index(elt % mod)) for elt in elts]
    def extend_multiplicatively(an):
        for pp in prime_powers(len(an)-1):
            for k in range(1, (len(an) - 1)//pp + 1):
                if gcd(k, pp) == 1:
                    an[pp*k] = an[pp]*an[k]
    from sage.all import PolynomialRing, NumberField, ZZ
    R = PolynomialRing(QQ, "x")
    f = R(poly_data)
    K = NumberField(f, "a")
    betas = [K([c/ZZ(den) for c in num]) for num, den in basis_data]
    convert_elt_to_field = lambda elt: sum(c*beta for c, beta in zip(elt, betas))
    # convert aps to K elements
    primes = primes_first_n(len(aps_data))
    good_primes = [p for p in primes if not p.divides(level)]
    aps = map(convert_elt_to_field, aps_data)
    if not hecke_ring_character_values:
        # trivial character
        char_values = dict(zip(good_primes, [1]*len(good_primes)))
    else:
        gens = [elt[0] for elt in hecke_ring_character_values]
        gens_values = [convert_elt_to_field(elt[1]) for elt in hecke_ring_character_values]
        char_values = dict([(
            p,prod(g**k for g, k in zip(gens_values, elt)))
            for p, elt in zip(good_primes, discrete_log(good_primes, gens, level))
            ])
    an_list_bound = next_prime(primes[-1])
    an = [0]*an_list_bound
    an[1] = 1
    
    from sage.all import PowerSeriesRing
    PS = PowerSeriesRing(K, "q")
    for p, ap in zip(primes, aps):
        if p.divides(level):
            euler_factor = [1, -ap]
        else:
            euler_factor = [1, -ap, p**(weight - 1) * char_values[p]]
        k = RR(an_list_bound).log(p).floor() + 1
        foo = (1/PS(euler_factor)).padded_list(k)
        for i in range(1, k):
            an[p**i] = foo[i]
    extend_multiplicatively(an)
    return PS(an)
level = 1100
weight = 4
poly_data = [576, 0, 49, 0, 1]

# The entries in the following list give a basis for the
# coefficient ring in terms of a root of the defining polynomial above.
# Each line consists of the coefficients of the numerator, and a denominator.
basis_data  = [[[1, 0, 0, 0], 1], [[0, 1, 0, 0], 1], [[0, 25, 0, 1], 12], [[25, 0, 1, 0], 1]]

hecke_ring_character_values = [[551, [1, 0, 0, 0]], [177, [-1, 0, 0, 0]], [101, [1, 0, 0, 0]]]
aps_data = [[0, 0, 0, 0], [0, 1, -2, 0], [0, 0, 0, 0], [0, 6, 4, 0], [11, 0, 0, 0], [0, -2, 5, 0], [0, 4, -39, 0], [-16, 0, 0, 20], [0, -23, 24, 0], [48, 0, 0, 42], [201, 0, 0, -1], [0, 23, 91, 0], [-168, 0, 0, 18], [0, 26, -106, 0], [0, -72, -96, 0], [0, 20, 105, 0], [-15, 0, 0, 51], [-212, 0, 0, -38], [0, -95, 58, 0], [267, 0, 0, 69], [0, 58, -37, 0], [-1034, 0, 0, 42], [0, 82, 282, 0], [-271, 0, 0, -179], [0, 217, 421, 0], [650, 0, 0, 100], [0, -296, 44, 0], [0, 206, -486, 0], [1038, 0, 0, 76], [0, 167, 291, 0], [0, 152, -80, 0], [490, 0, 0, 242], [0, 73, 129, 0], [370, 0, 0, -102], [1138, 0, 0, -400], [1582, 0, 0, -182], [0, 249, 103, 0], [0, 224, 170, 0], [0, -228, 300, 0], [0, -4, -1203, 0], [-1931, 0, 0, -121], [-1757, 0, 0, -221], [-753, 0, 0, 681], [0, 98, 1079, 0], [0, -952, -297, 0], [-848, 0, 0, -504], [-796, 0, 0, -264], [0, 133, 1052, 0], [0, 198, 1902, 0], [-1931, 0, 0, 309], [0, 862, 891, 0], [2146, 0, 0, 542], [712, 0, 0, 58], [-4885, 0, 0, 433], [0, 292, -303, 0], [0, -1014, -276, 0], [-2018, 0, 0, -340], [3788, 0, 0, -636], [0, -456, -497, 0], [-4834, 0, 0, 460], [0, -40, -778, 0], [0, -1190, 177, 0], [0, 436, 1726, 0], [-1244, 0, 0, -460], [0, 813, -1009, 0], [0, -411, 3687, 0], [-619, 0, 0, 999], [0, -424, -2663, 0], [0, 112, -5718, 0], [-1734, 0, 0, 976], [0, 249, -2589, 0], [-8196, 0, 0, 396], [0, -441, 4060, 0], [0, -640, -1951, 0], [-7409, 0, 0, -603], [0, 89, 924, 0], [-6309, 0, 0, 1311], [0, 880, -2789, 0], [-5630, 0, 0, 2288], [-8338, 0, 0, 680], [-7356, 0, 0, 240], [-7282, 0, 0, -1104], [-1470, 0, 0, 1182], [0, 915, -301, 0], [-6712, 0, 0, 1424], [0, 1363, -2718, 0], [6517, 0, 0, -1039], [0, 2278, -299, 0], [-3316, 0, 0, -1142], [0, 883, 3452, 0], [0, -675, -414, 0], [2244, 0, 0, 1884], [0, -1377, -6704, 0], [-5656, 0, 0, -1796], [484, 0, 0, -2016], [0, -2254, -348, 0], [3613, 0, 0, -763], [12717, 0, 0, -1611], [0, -612, -2578, 0], [-11912, 0, 0, -242], [0, -2412, -3338, 0], [0, 96, 6291, 0], [0, -1232, 2610, 0], [1616, 0, 0, -2282], [-13460, 0, 0, 1384], [0, -2799, 3829, 0], [0, -3984, -1662, 0], [0, -1734, 6063, 0], [15768, 0, 0, 432], [-2366, 0, 0, 2440], [0, -902, -12152, 0], [0, 706, -1999, 0], [0, 2200, 7005, 0], [-9413, 0, 0, 3273], [-623, 0, 0, 1375], [14391, 0, 0, -1725], [0, -1317, -442, 0], [0, -3455, 1752, 0], [0, 2253, 2745, 0], [-6990, 0, 0, -1278], [-10359, 0, 0, 1613], [0, -660, -4465, 0], [0, 2816, 1623, 0], [0, 1932, -11154, 0], [6459, 0, 0, 5225], [-774, 0, 0, -2148], [957, 0, 0, 5389], [-8049, 0, 0, -999], [0, 2987, -8888, 0], [0, 3702, 1133, 0], [6202, 0, 0, 1674], [0, 1732, 11220, 0], [-15481, 0, 0, 3393], [0, 2460, -5465, 0], [-26676, 0, 0, -1938], [-26740, 0, 0, -94], [0, -1116, 1617, 0], [0, -7076, -722, 0], [0, -2787, -4425, 0], [9440, 0, 0, -2954], [19886, 0, 0, -474], [7870, 0, 0, 5696], [0, 3777, -2872, 0], [0, 352, -3798, 0], [-9061, 0, 0, 119], [10947, 0, 0, -3171], [0, -5576, -703, 0], [0, -2270, 3741, 0], [-5395, 0, 0, 2039], [0, -3256, 1992, 0], [0, 6482, -5957, 0], [20317, 0, 0, 4733], [0, -1456, -5470, 0], [0, -2478, 14940, 0], [0, -248, 13138, 0], [6660, 0, 0, 5436], [16954, 0, 0, -1170], [-8130, 0, 0, 7584], [0, -2750, 4069, 0], [1362, 0, 0, 1044], [0, -1587, -5694, 0], [0, 1272, 19611, 0], [0, 2968, -15380, 0], [30669, 0, 0, 879], [0, 829, -5283, 0], [0, -1263, 21480, 0], [22040, 0, 0, -5352], [0, -2576, -16985, 0], [25514, 0, 0, 5252], [0, 7421, 477, 0], [-18050, 0, 0, 4382], [10046, 0, 0, -10872], [20688, 0, 0, -3576], [0, 390, -11125, 0], [-30027, 0, 0, -2237], [6743, 0, 0, -8393], [39830, 0, 0, 3342], [6063, 0, 0, 8007], [0, -4196, -12316, 0], [-11180, 0, 0, -3210], [0, 4936, -17240, 0], [4098, 0, 0, -7302], [0, 187, 23117, 0], [0, 6420, -8163, 0], [0, 6891, 2508, 0], [-74, 0, 0, 8444], [0, 5718, -20237, 0], [0, -3332, 10970, 0], [1326, 0, 0, -1928], [-6434, 0, 0, -1294], [0, -3681, 9323, 0], [0, -1278, 6918, 0], [-46305, 0, 0, -5371], [33846, 0, 0, -6864], [0, -11744, 3654, 0], [0, 9977, -1449, 0], [23826, 0, 0, -7744], [0, -3363, 6065, 0], [0, -9492, -11439, 0], [0, -4374, -19956, 0], [-18316, 0, 0, -9098], [-4718, 0, 0, -2162], [0, 3700, -29081, 0], [-7416, 0, 0, -10298], [24075, 0, 0, -807], [0, -1151, 7383, 0], [-48335, 0, 0, -681], [0, 1864, -12726, 0], [37584, 0, 0, -8826], [8072, 0, 0, 12348], [0, -3358, -2447, 0], [7287, 0, 0, -10161], [0, 3185, 7496, 0], [0, -7584, 6954, 0], [-29118, 0, 0, 12438], [9263, 0, 0, -11133], [0, 5860, 22168, 0], [42364, 0, 0, 8582], [0, -5824, -10260, 0], [0, 5581, -29151, 0], [-19316, 0, 0, 13138], [8492, 0, 0, 3788], [17447, 0, 0, -5393], [0, 3995, -7156, 0], [0, -1520, 15006, 0], [59982, 0, 0, -3020], [0, -7748, -16149, 0], [50928, 0, 0, 2496], [0, 3460, -5492, 0], [-23412, 0, 0, 10104], [0, 2151, -5599, 0], [-28372, 0, 0, 8120], [-5974, 0, 0, 3462], [-26096, 0, 0, -11878], [0, -2025, -39190, 0], [0, 13818, 12528, 0], [8407, 0, 0, 5199], [0, -1218, -21975, 0], [-45141, 0, 0, -8727], [2707, 0, 0, 13565], [0, 8505, 32646, 0], [-45088, 0, 0, 5940], [0, 6860, -16948, 0], [6451, 0, 0, -6225], [0, -3946, -24033, 0], [51364, 0, 0, 3860], [0, -340, 1624, 0], [-7796, 0, 0, 1664], [-34406, 0, 0, -8238], [0, -2722, -45408, 0], [0, 22, -43517, 0], [59538, 0, 0, -912], [0, -19399, -3576, 0], [-30246, 0, 0, -1940], [0, -19636, 6429, 0], [-60324, 0, 0, 360], [35918, 0, 0, 3072], [0, 3658, 3922, 0], [0, -3135, -24333, 0], [0, -4660, -22859, 0], [0, 2780, -33136, 0], [0, 2604, 14358, 0], [-68634, 0, 0, -1172], [0, 1948, -35083, 0], [0, 16236, -9759, 0], [38152, 0, 0, -21780], [-18583, 0, 0, 3529], [87021, 0, 0, 6597], [0, -3950, 13454, 0], [0, 7460, -22647, 0], [-307, 0, 0, 3153], [0, -6313, -50678, 0], [0, 680, 18683, 0], [101384, 0, 0, 7448], [0, -4070, -37007, 0], [0, -10227, 344, 0], [0, -73, 42966, 0], [-84722, 0, 0, 8796], [-53708, 0, 0, 17494], [-123820, 0, 0, 712], [0, 12168, -39552, 0], [44563, 0, 0, -14051], [0, 3108, 18900, 0], [-14266, 0, 0, 20136], [0, -27088, -19502, 0], [-48093, 0, 0, 14085], [0, 27560, 3143, 0], [0, 3588, -57969, 0], [46869, 0, 0, -629], [25130, 0, 0, 8980], [-23623, 0, 0, 9445], [0, 21336, 33102, 0], [0, 17202, -11853, 0], [44730, 0, 0, -22470], [0, -10504, 11837, 0], [59944, 0, 0, -19342], [56983, 0, 0, -5759], [0, 17669, 35997, 0], [-75594, 0, 0, -8250], [0, -2418, -39842, 0], [0, 228, 11123, 0], [0, 10814, 58779, 0], [60428, 0, 0, -16060]]
