
# q-expansion of newform 700.5.s.a, downloaded from the LMFDB on 22 September 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 = 700
weight = 5
poly_data = [12, 0, 81, 0, 18, 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], 1], [[2, 9, 0, 1, 0, 0], 4], [[-36, -36, -87, -15, -9, -1], 8], [[-36, 36, -87, 15, -9, 1], 8], [[324, 492, 27, 135, -3, 9], 8], [[-324, 492, -27, 135, 3, 9], 8]]

hecke_ring_character_values = [[351, [1, 0, 0, 0, 0, 0]], [477, [1, 0, 0, 0, 0, 0]], [101, [1, -1, 0, 0, 0, 0]]]
aps_data = [[0, 0, 0, 0, 0, 0], [-2, 1, 0, -1, 0, 0], [0, 0, 0, 0, 0, 0], [-9, -4, -3, 0, 0, 1], [0, 45, -4, 2, -2, -1], [-12, 24, -21, 21, 1, 1], [246, -123, 0, -1, 0, -1], [-83, -83, -6, 0, -7, 0], [-81, 81, -5, 10, 8, 16], [-90, 0, 39, 39, 9, -9], [-1190, 595, 0, 18, 0, -9], [-785, 785, -12, 24, -20, -40], [876, -1752, -115, 115, -29, -29], [158, 0, -42, -42, 28, -28], [1083, 1083, 100, 0, -19, 0], [0, -2097, 200, -100, 16, 8], [-654, 327, 0, 323, 0, -10], [449, 449, 48, 0, -64, 0], [0, -553, -66, 33, -180, -90], [378, 0, -280, -280, 70, -70], [1934, -967, 0, 174, 0, 106], [-2591, 2591, -183, 366, 52, 104], [1608, -3216, -302, 302, 86, 86], [1665, 1665, -600, 0, 96, 0], [3476, -6952, 375, -375, -59, -59], [2970, -1485, 0, -201, 0, 87], [1383, 1383, 357, 0, -86, 0], [9171, -9171, 30, -60, -69, -138], [0, -6859, 942, -471, 170, 85], [-6390, 0, -707, -707, -49, 49], [-4418, 0, -426, -426, -136, 136], [-5967, -5967, -339, 0, -336, 0], [0, 4347, -1990, 995, -218, -109], [3312, -6624, 708, -708, 64, 64], [9405, -9405, 107, -214, 253, 506], [0, -3811, -1164, 582, -722, -361], [12318, -6159, 0, -1512, 0, -312], [5471, -5471, 1815, -3630, -188, -376], [5196, -10392, -1921, 1921, -221, -221], [2007, 2007, -318, 0, -438, 0], [0, 13797, 1160, -580, 538, 269], [10160, -20320, -420, 420, -688, -688], [-19395, 19395, 54, -108, -183, -366], [0, -35717, -1902, 951, 22, 11], [-14382, 0, -741, -741, -171, 171], [1162, -581, 0, 2496, 0, 901], [-27038, 0, 918, 918, 284, -284], [-19032, 38064, 630, -630, 522, 522], [40662, -20331, 0, 1284, 0, 483], [11245, 11245, 3015, 0, -363, 0], [-18837, 18837, 2059, -4118, -199, -398], [52614, 0, -2849, -2849, 245, -245], [-23662, 11831, 0, -2334, 0, 1058], [-11172, 22344, 1711, -1711, -1549, -1549], [10755, 10755, 1593, 0, -1809, 0], [0, 46575, 6274, -3137, -160, -80], [14034, -7017, 0, 5150, 0, -1114], [-4799, -4799, -3135, 0, 1756, 0], [0, 18887, 9708, -4854, -4, -2], [84366, 0, 1837, 1837, -121, 121], [-83834, 41917, 0, -846, 0, -1023], [49776, -99552, 6136, -6136, -520, -520], [-1792, 3584, -3492, 3492, 900, 900], [-30126, 15063, 0, -6125, 0, -1130], [-31505, -31505, -7152, 0, 3668, 0], [33759, -33759, -4468, 8936, 832, 1664], [9113, -9113, 3015, -6030, 342, 684], [28874, 0, -4527, -4527, 15, -15], [0, 32391, -978, 489, 2388, 1194], [32468, -64936, -10929, 10929, -1967, -1967], [-74634, 37317, 0, 3707, 0, -1297], [-45459, 45459, 4582, -9164, 653, 1306], [68926, -34463, 0, 2967, 0, 4772], [44831, -44831, -1620, 3240, -1440, -2880], [-120602, 0, -2661, -2661, -1327, 1327], [55995, 55995, -13768, 0, -515, 0], [0, -47475, 16202, -8101, -3050, -1525], [-17285, -17285, 2907, 0, 4209, 0], [-110043, 110043, 1525, -3050, 1235, 2470], [64170, -32085, 0, 5541, 0, -3955], [-912, 1824, 23512, -23512, 968, 968], [-87466, 0, -4017, -4017, -115, 115], [0, 32733, -17796, 8898, 4542, 2271], [-125156, 250312, 6237, -6237, -1545, -1545], [-50427, -50427, -8928, 0, -1773, 0], [-49653, 49653, 2508, -5016, 2325, 4650], [154710, 0, -9961, -9961, 553, -553], [-84929, 84929, -2844, 5688, 2736, 5472], [-19356, 38712, 7451, -7451, 7813, 7813], [-104186, 0, -8892, -8892, 258, -258], [-52353, -52353, 14163, 0, -3660, 0], [-266622, 133311, 0, 13133, 0, -268], [0, -47969, 10266, -5133, 3992, 1996], [-61002, 0, 9191, 9191, 133, -133], [49745, -49745, -939, 1878, 2432, 4864], [121128, -242256, -7442, 7442, 6002, 6002], [-169683, -169683, -1685, 0, -4075, 0], [-67038, 33519, 0, -28948, 0, -2884], [-77253, -77253, 7068, 0, 1277, 0], [-193067, 193067, 1449, -2898, -3633, -7266], [320746, 0, 8961, 8961, -1781, 1781], [0, 206019, -5690, 2845, -4798, -2399], [-139122, 69561, 0, -27063, 0, 10818], [-252999, 252999, 5418, -10836, -7014, -14028], [0, 68389, 24696, -12348, 2730, 1365], [-37938, 18969, 0, -6990, 0, -2822], [-50976, 101952, 28140, -28140, -11292, -11292], [35259, 35259, 15491, 0, 1393, 0], [0, -125343, 7358, -3679, 3112, 1556], [-28532, 57064, 5913, -5913, -2325, -2325], [-157565, -157565, -13938, 0, 1019, 0], [0, 129419, -17262, 8631, 11270, 5635], [119106, 0, 6619, 6619, -355, 355], [551202, -275601, 0, -10815, 0, -68], [189026, 0, -23478, -23478, -1624, 1624], [0, -369783, -25812, 12906, -11436, -5718], [-16472, 32944, -24354, 24354, -2514, -2514], [142254, -71127, 0, -44571, 0, -2694], [50103, -50103, 14466, -28932, -1230, -2460], [34578, 0, 994, 994, -10024, 10024], [56162, -28081, 0, 21072, 0, 4432], [-145894, 0, -6555, -6555, 611, -611], [-302877, -302877, 6141, 0, -5385, 0], [0, 85491, -18436, 9218, -5774, -2887], [22553, 22553, -53469, 0, -8730, 0], [-192798, 0, 12892, 12892, 7412, -7412], [110489, -110489, -18426, 36852, 874, 1748], [-340431, -340431, 13261, 0, -1696, 0], [232096, -464192, 26172, -26172, -5952, -5952], [-28025, -28025, 6318, 0, 1950, 0], [0, -141227, -57096, 28548, 19122, 9561], [-239058, 0, 15602, 15602, -5156, 5156], [-186595, 186595, 9750, -19500, -7823, -15646], [-175870, 0, -19329, -19329, 2561, -2561], [127677, 127677, -16625, 0, -11167, 0], [20236, -40472, 16125, -16125, 4051, 4051], [-67722, 33861, 0, -57325, 0, -9877], [501038, -250519, 0, 15801, 0, 5030], [105588, -211176, -50361, 50361, -4863, -4863], [0, 146025, 4292, -2146, -8396, -4198], [273192, -546384, 47646, -47646, -11634, -11634], [167301, -167301, 24137, -48274, -4301, -8602], [0, 18191, 32010, -16005, -10448, -5224], [943398, 0, -6352, -6352, -3386, 3386], [-184774, 92387, 0, -18969, 0, -15485], [391128, -782256, 23806, -23806, 5678, 5678], [-144236, 288472, -40413, 40413, 2641, 2641], [603678, -301839, 0, -87568, 0, -6676], [-219683, -219683, 52962, 0, -3107, 0], [-2889, 2889, -23, 46, -12034, -24068], [-776509, 776509, 4677, -9354, 3091, 6182], [69408, -138816, -27876, 27876, -10104, -10104], [-64234, 0, 33120, 33120, -7926, 7926], [-276909, -276909, -29186, 0, -5257, 0], [0, 329167, 31794, -15897, -37688, -18844], [-451998, 0, 32990, 32990, -5744, 5744], [-1170595, 1170595, -4062, 8124, -4159, -8318], [134745, 134745, -15718, 0, -14342, 0], [135504, -271008, 60780, -60780, 380, 380], [930018, -465009, 0, 27740, 0, 10136], [-693297, 693297, -58137, 116274, 5256, 10512], [330138, 0, 34033, 34033, -13045, 13045], [-747626, 0, 1140, 1140, 10062, -10062], [179121, 179121, 23221, 0, 11888, 0], [0, 1034235, -39566, 19783, 3254, 1627], [-370506, 185253, 0, -9476, 0, 27811], [0, -307519, 54318, -27159, 3464, 1732], [950734, -475367, 0, 55422, 0, -25434]]
