In [1]:
from sympy import *
from sympy.polys import groebnertools as gt
init_printing()
from sympy.polys.rings import PolyRing

In [2]:
def symbolize(p, erzeuger, name='x'):
    symbols = [Symbol('{}_{}'.format(name, j+1)) for j in range(len(erzeuger))]
    res = 0
    for key, value in p.to_dict().items():
        m = value
        for symbol, exponent in zip(symbols, key):
            m *= symbol ** exponent
        res += m
    return res

In [3]:
P, x = xring('x1,x2,x3,x4,x5', QQ, lex)

In [4]:
F = []
y = 2*x 
for j in range(1,len(x)):
    p = 0
    for i in range(len(x)):
        m = 1
        for k in range(i, i+j):
            m *= y[k]
        p += m
    F.append(p)
m = 1
for t in x:
    m *= t
F.append(m-1)
[symbolize(s, x) for s in F]


Out[4]:
$$\left [ x_{1} + x_{2} + x_{3} + x_{4} + x_{5}, \quad x_{1} x_{2} + x_{1} x_{5} + x_{2} x_{3} + x_{3} x_{4} + x_{4} x_{5}, \quad x_{1} x_{2} x_{3} + x_{1} x_{2} x_{5} + x_{1} x_{4} x_{5} + x_{2} x_{3} x_{4} + x_{3} x_{4} x_{5}, \quad x_{1} x_{2} x_{3} x_{4} + x_{1} x_{2} x_{3} x_{5} + x_{1} x_{2} x_{4} x_{5} + x_{1} x_{3} x_{4} x_{5} + x_{2} x_{3} x_{4} x_{5}, \quad x_{1} x_{2} x_{3} x_{4} x_{5} - 1\right ]$$

In [5]:
G = gt.groebner(F, P)

In [6]:
[symbolize(g, x) for g in G]


Out[6]:
$$\left [ x_{1} + x_{2} + x_{3} + x_{4} + x_{5}, \quad x_{2}^{2} + 3 x_{2} x_{5} + 2 x_{4}^{6} x_{5} + 6 x_{4}^{5} x_{5}^{2} + x_{4}^{4} x_{5}^{3} - 2 x_{4}^{3} x_{5}^{4} + x_{4}^{2} - \frac{566 x_{4}}{275} x_{5}^{11} - \frac{6273 x_{4}}{25} x_{5}^{6} + \frac{69019 x_{4}}{275} x_{5} - \frac{1467 x_{5}^{12}}{275} - \frac{16271 x_{5}^{7}}{25} + \frac{179073 x_{5}^{2}}{275}, \quad x_{2} x_{3} - x_{2} x_{5} + x_{3}^{2} + 2 x_{3} x_{5} - \frac{6 x_{5}}{5} x_{4}^{6} - \frac{19 x_{4}^{5}}{5} x_{5}^{2} - x_{4}^{4} x_{5}^{3} + x_{4}^{3} x_{5}^{4} - 2 x_{4}^{2} + \frac{334 x_{4}}{275} x_{5}^{11} + \frac{3702 x_{4}}{25} x_{5}^{6} - \frac{40726 x_{4}}{275} x_{5} + \frac{867 x_{5}^{12}}{275} + \frac{9616 x_{5}^{7}}{25} - \frac{105873 x_{5}^{2}}{275}, \quad x_{2} x_{4} - x_{2} x_{5} - \frac{2 x_{5}}{5} x_{4}^{6} - \frac{8 x_{4}^{5}}{5} x_{5}^{2} - x_{4}^{4} x_{5}^{3} + x_{4}^{3} x_{5}^{4} + \frac{124 x_{4}}{275} x_{5}^{11} + \frac{1372 x_{4}}{25} x_{5}^{6} - \frac{15106 x_{4}}{275} x_{5} + \frac{346 x_{5}^{12}}{275} + \frac{3838 x_{5}^{7}}{25} - \frac{42124 x_{5}^{2}}{275}, \quad x_{2} x_{5}^{5} - x_{2} + \frac{x_{5}^{11}}{55} + \frac{13 x_{5}^{6}}{5} - \frac{144 x_{5}}{55}, \quad x_{3}^{3} + 2 x_{3}^{2} x_{5} - 2 x_{3} x_{5}^{2} + x_{4}^{6} x_{5}^{2} + 2 x_{4}^{5} x_{5}^{3} - 2 x_{4}^{4} x_{5}^{4} + 2 x_{4}^{2} x_{5} - \frac{232 x_{4}}{275} x_{5}^{12} - \frac{2576 x_{4}}{25} x_{5}^{7} + \frac{28018 x_{4}}{275} x_{5}^{2} - \frac{568 x_{5}^{13}}{275} - \frac{6299 x_{5}^{8}}{25} + \frac{69307 x_{5}^{3}}{275}, \quad x_{3} x_{4} - x_{3} x_{5} + \frac{8 x_{5}}{5} x_{4}^{6} + \frac{22 x_{4}^{5}}{5} x_{5}^{2} - x_{4}^{3} x_{5}^{4} + x_{4}^{2} - \frac{442 x_{4}}{275} x_{5}^{11} - \frac{4901 x_{4}}{25} x_{5}^{6} + \frac{53913 x_{4}}{275} x_{5} - \frac{1121 x_{5}^{12}}{275} - \frac{12433 x_{5}^{7}}{25} + \frac{136674 x_{5}^{2}}{275}, \quad x_{3} x_{5}^{5} - x_{3} + \frac{x_{5}^{11}}{55} + \frac{13 x_{5}^{6}}{5} - \frac{144 x_{5}}{55}, \quad x_{4}^{7} + 3 x_{4}^{6} x_{5} + x_{4}^{5} x_{5}^{2} - x_{4}^{2} - \frac{398 x_{4}}{55} x_{5}^{11} - \frac{4414 x_{4}}{5} x_{5}^{6} + \frac{48787 x_{4}}{55} x_{5} - \frac{1042 x_{5}^{12}}{55} - \frac{11556 x_{5}^{7}}{5} + \frac{128103 x_{5}^{2}}{55}, \quad x_{4}^{2} x_{5}^{5} - x_{4}^{2} - \frac{2 x_{4}}{55} x_{5}^{11} - \frac{21 x_{4}}{5} x_{5}^{6} + \frac{233 x_{4}}{55} x_{5} - \frac{8 x_{5}^{12}}{55} - \frac{89 x_{5}^{7}}{5} + \frac{987 x_{5}^{2}}{55}, \quad x_{5}^{15} + 122 x_{5}^{10} - 122 x_{5}^{5} - 1\right ]$$

In [7]:
len(G)


Out[7]:
$$11$$

In [8]:
y = ','.join([repr(xi).replace('x', 'y') for xi in x])

In [9]:
Q13 = PolyRing(y, FiniteField(13), lex)

In [10]:
F13 = [Q13.from_dict(s.to_dict()) for s in F]

In [11]:
F13


Out[11]:
[y1 + y2 + y3 + y4 + y5,
 y1*y2 + y1*y5 + y2*y3 + y3*y4 + y4*y5,
 y1*y2*y3 + y1*y2*y5 + y1*y4*y5 + y2*y3*y4 + y3*y4*y5,
 y1*y2*y3*y4 + y1*y2*y3*y5 + y1*y2*y4*y5 + y1*y3*y4*y5 + y2*y3*y4*y5,
 y1*y2*y3*y4*y5 + 12 mod 13]

In [12]:
G13 = gt.groebner(F13, Q13)

In [13]:
[symbolize(g, y, 'y') for g in G13]


Out[13]:
$$\left [ y_{1} + y_{2} + y_{3} + y_{4} + y_{5}, \quad y_{2}^{2} + 3 y_{2} y_{5} + 2 y_{4}^{6} y_{5} + 6 y_{4}^{5} y_{5}^{2} + y_{4}^{4} y_{5}^{3} - 2 y_{4}^{3} y_{5}^{4} + y_{4}^{2} + 3 y_{4} y_{5}^{11} - 6 y_{4} y_{5}^{6} + y_{4} y_{5} + y_{5}^{12} - 5 y_{5}^{7} - y_{5}^{2}, \quad y_{2} y_{3} - y_{2} y_{5} + y_{3}^{2} + 2 y_{3} y_{5} + 4 y_{4}^{6} y_{5} + 4 y_{4}^{5} y_{5}^{2} - y_{4}^{4} y_{5}^{3} + y_{4}^{3} y_{5}^{4} - 2 y_{4}^{2} - 2 y_{4} y_{5}^{11} + 3 y_{4} y_{5}^{6} - 5 y_{4} y_{5} - 2 y_{5}^{12} + 4 y_{5}^{7} + 6 y_{5}^{2}, \quad y_{2} y_{4} - y_{2} y_{5} - 3 y_{4}^{6} y_{5} + y_{4}^{5} y_{5}^{2} - y_{4}^{4} y_{5}^{3} + y_{4}^{3} y_{5}^{4} - 3 y_{4} y_{5}^{11} + 6 y_{4} y_{5}^{6} + 4 y_{5}^{12} - 3 y_{5}^{7} - 2 y_{5}^{2}, \quad y_{2} y_{5}^{5} - y_{2} - 4 y_{5}^{11} + 4 y_{5}, \quad y_{3}^{3} + 2 y_{3}^{2} y_{5} - 2 y_{3} y_{5}^{2} + y_{4}^{6} y_{5}^{2} + 2 y_{4}^{5} y_{5}^{3} - 2 y_{4}^{4} y_{5}^{4} + 2 y_{4}^{2} y_{5} + y_{4} y_{5}^{12} + 2 y_{4} y_{5}^{7} - 5 y_{4} y_{5}^{2} + 2 y_{5}^{13} - 6 y_{5}^{8} + 2 y_{5}^{3}, \quad y_{3} y_{4} - y_{3} y_{5} - y_{4}^{6} y_{5} - 6 y_{4}^{5} y_{5}^{2} - y_{4}^{3} y_{5}^{4} + y_{4}^{2} + y_{4} y_{5} + 5 y_{5}^{12} + 5 y_{5}^{7} - 4 y_{5}^{2}, \quad y_{3} y_{5}^{5} - y_{3} - 4 y_{5}^{11} + 4 y_{5}, \quad y_{4}^{7} + 3 y_{4}^{6} y_{5} + y_{4}^{5} y_{5}^{2} - y_{4}^{2} + 6 y_{4} y_{5}^{11} - 4 y_{4} y_{5}^{6} - 5 y_{4} y_{5} - 5 y_{5}^{12} - 5 y_{5}^{7} - 4 y_{5}^{2}, \quad y_{4}^{2} y_{5}^{5} - y_{4}^{2} - 5 y_{4} y_{5}^{11} + y_{4} y_{5}^{6} + 4 y_{4} y_{5} + 6 y_{5}^{12} + 3 y_{5}^{7} + 4 y_{5}^{2}, \quad y_{5}^{15} + 5 y_{5}^{10} - 5 y_{5}^{5} - 1\right ]$$