
# q-expansion of newform 288.6.d.c, downloaded from the LMFDB on 25 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 = 288
weight = 6
poly_data = [1048576, 0, -38912, 0, 848, 0, -38, 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, 0, 0, 0, 0], 1], [[0, -6144, 0, 848, 0, -38, 0, 1], 4096], [[0, 124928, 0, -2704, 0, -66, 0, -5], 16384], [[19456, 0, 176, 0, 38, 0, -1, 0], 512], [[0, 71680, 0, -848, 0, 38, 0, -1], 256], [[0, 5632, 0, 1392, 0, 6, 0, -1], 256], [[-86016, 0, -368, 0, 66, 0, 5, 0], 256], [[-38912, 0, 1872, 0, -38, 0, 1, 0], 32]]

hecke_ring_character_values = [[127, [1, 0, 0, 0, 0, 0, 0, 0]], [37, [-1, 0, 0, 0, 0, 0, 0, 0]], [65, [1, 0, 0, 0, 0, 0, 0, 0]]]
aps_data = [[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, -1, 0, 0, 0, 0, 0], [36, 0, 0, -1, 0, 0, 0, 0], [0, -5, 2, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 2, 1], [0, 0, 0, 0, -1, -2, 0, 0], [0, 8, -17, 0, 0, 0, 0, 0], [2284, 0, 0, 69, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -7, -8], [0, 0, 0, 0, -8, -3, 0, 0], [0, 0, 0, 0, 0, 0, -18, 7], [0, 0, 0, 0, -11, 10, 0, 0], [0, -568, 133, 0, 0, 0, 0, 0], [0, -358, -324, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 7, -8], [0, 0, 0, 0, 0, 0, 52, 10], [0, 0, 0, 0, -48, 0, 0, 0], [12958, 0, 0, -424, 0, 0, 0, 0], [-4596, 0, 0, -331, 0, 0, 0, 0], [0, -1237, 1122, 0, 0, 0, 0, 0], [0, 0, 0, 0, -72, 38, 0, 0], [4962, 0, 0, 1840, 0, 0, 0, 0], [0, -1536, -199, 0, 0, 0, 0, 0], [-50404, 0, 0, -1079, 0, 0, 0, 0], [0, -2054, -2116, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -131, 32], [0, 0, 0, 0, -80, 46, 0, 0], [-2028, 0, 0, 299, 0, 0, 0, 0], [0, -148, 3720, 0, 0, 0, 0, 0], [0, 0, 0, 0, -64, -193, 0, 0], [0, 0, 0, 0, 0, 0, 348, 14], [0, 3008, 223, 0, 0, 0, 0, 0], [-11452, 0, 0, 367, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 595, 48], [0, 0, 0, 0, 0, 0, 130, 257], [0, 0, 0, 0, 167, -210, 0, 0], [0, 440, 2089, 0, 0, 0, 0, 0], [0, 3098, 6396, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 55, -328], [0, 0, 0, 0, 319, 30, 0, 0], [1546, 0, 0, -3976, 0, 0, 0, 0], [0, 10168, -5019, 0, 0, 0, 0, 0], [7068, 0, 0, 8009, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 164, -78], [160468, 0, 0, 5763, 0, 0, 0, 0], [0, 11433, -2090, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -21, 328], [0, 0, 0, 0, 600, -334, 0, 0], [0, 0, 0, 0, 473, -334, 0, 0], [344390, 0, 0, -504, 0, 0, 0, 0], [0, 21883, 194, 0, 0, 0, 0, 0], [0, 0, 0, 0, 376, -104, 0, 0], [0, 0, 0, 0, 148, 1064, 0, 0], [0, 9872, 5371, 0, 0, 0, 0, 0], [881780, 0, 0, -10949, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1307, 888], [0, 0, 0, 0, -616, -712, 0, 0], [0, 0, 0, 0, 0, 0, 920, -804], [0, -16648, -14555, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -300, 378], [0, 0, 0, 0, -778, -404, 0, 0], [78926, 0, 0, 3816, 0, 0, 0, 0], [0, -15312, -13669, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 264, -380], [189114, 0, 0, 23944, 0, 0, 0, 0], [0, -12423, 35638, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 579, -232], [0, 0, 0, 0, -2440, 434, 0, 0], [0, 0, 0, 0, -1056, -1888, 0, 0], [3135500, 0, 0, -18899, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -1167, -512], [0, 0, 0, 0, 0, 0, 2702, 2743], [0, 0, 0, 0, -1153, 2078, 0, 0], [0, -27560, -59925, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 2995, -1936], [0, 0, 0, 0, -1904, -2477, 0, 0], [680694, 0, 0, -25232, 0, 0, 0, 0], [0, 1165, -38674, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 6083, 1128], [0, 0, 0, 0, 981, 2154, 0, 0], [-2353618, 0, 0, -52176, 0, 0, 0, 0], [-3493252, 0, 0, -23327, 0, 0, 0, 0], [0, -31559, -18250, 0, 0, 0, 0, 0], [0, 0, 0, 0, 2280, 1449, 0, 0], [1778342, 0, 0, -2160, 0, 0, 0, 0], [0, -36088, 42025, 0, 0, 0, 0, 0], [5119092, 0, 0, -41101, 0, 0, 0, 0], [0, 52365, 20782, 0, 0, 0, 0, 0], [0, 0, 0, 0, -2372, -6376, 0, 0], [-6245468, 0, 0, 15231, 0, 0, 0, 0], [0, 78188, -27384, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -3512, -4364], [0, 0, 0, 0, 5622, 396, 0, 0], [0, 123704, -74129, 0, 0, 0, 0, 0], [0, 0, 0, 0, 6360, 2721, 0, 0], [0, 0, 0, 0, 0, 0, -3618, 879], [0, 0, 0, 0, 0, 0, -1207, 2872], [0, 0, 0, 0, 0, 0, 8518, -2253], [0, 138080, 41365, 0, 0, 0, 0, 0], [0, 136297, 12182, 0, 0, 0, 0, 0], [0, 0, 0, 0, 728, 5969, 0, 0], [0, 0, 0, 0, 0, 0, 13356, -1978], [2911510, 0, 0, -72520, 0, 0, 0, 0], [0, 41960, -173328, 0, 0, 0, 0, 0], [0, 0, 0, 0, 7776, -5622, 0, 0], [0, 0, 0, 0, 5861, 394, 0, 0], [-1859662, 0, 0, 46632, 0, 0, 0, 0], [9842388, 0, 0, -26677, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8185, -4912], [0, 0, 0, 0, 4240, -7324, 0, 0], [0, 0, 0, 0, 0, 0, 1832, 1844], [-11433468, 0, 0, -56761, 0, 0, 0, 0], [0, 0, 0, 0, -9136, -6663, 0, 0], [0, 0, 0, 0, 0, 0, -5674, 9099], [0, 0, 0, 0, 8973, -1446, 0, 0], [0, 59192, 104449, 0, 0, 0, 0, 0], [0, -111032, 159344, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 3877, 48], [-2798530, 0, 0, -155856, 0, 0, 0, 0], [0, -143344, -191105, 0, 0, 0, 0, 0], [0, 223739, -132990, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -18974, -4527], [0, -89904, -20989, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, -15409, -3960], [0, 0, 0, 0, 630, -11956, 0, 0], [-15495292, 0, 0, 109711, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 8437, -8664], [0, 0, 0, 0, 0, 0, 5524, -1126], [0, 0, 0, 0, -6013, -954, 0, 0], [13404556, 0, 0, -83403, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 17631, 12312], [0, 0, 0, 0, -10424, 10751, 0, 0], [-1590774, 0, 0, 20728, 0, 0, 0, 0], [0, 238176, -177415, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 26590, 2239], [0, -65072, -70371, 0, 0, 0, 0, 0], [0, 0, 0, 0, 3096, -8205, 0, 0], [0, 0, 0, 0, 0, 0, -10142, -16255], [0, -461904, 229553, 0, 0, 0, 0, 0], [-11243132, 0, 0, 136215, 0, 0, 0, 0], [0, 268606, 72020, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 11989, 15152], [0, 0, 0, 0, -16292, 11576, 0, 0], [0, 0, 0, 0, 0, 0, -14927, -13952], [0, 0, 0, 0, -13840, -6151, 0, 0], [0, 0, 0, 0, 0, 0, -31822, -6855], [0, 0, 0, 0, 9333, 5706, 0, 0], [0, 0, 0, 0, 0, 0, -49281, 808], [0, 0, 0, 0, -2136, -6352, 0, 0], [0, 0, 0, 0, 0, 0, 13714, -2983], [0, 0, 0, 0, 4766, -3556, 0, 0], [0, 0, 0, 0, 0, 0, -14870, -5067], [0, 0, 0, 0, -20351, 18178, 0, 0], [-31080508, 0, 0, -31769, 0, 0, 0, 0], [0, 0, 0, 0, -7144, 5175, 0, 0], [13714790, 0, 0, 185376, 0, 0, 0, 0], [0, 366680, -390719, 0, 0, 0, 0, 0], [0, -60674, 66836, 0, 0, 0, 0, 0], [0, 0, 0, 0, 19608, -1707, 0, 0], [-7399268, 0, 0, -68607, 0, 0, 0, 0], [0, -182057, 323690, 0, 0, 0, 0, 0], [0, 0, 0, 0, 28744, 5747, 0, 0], [0, 0, 0, 0, -2654, -32572, 0, 0], [15831916, 0, 0, -511155, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 54097, 3112]]
