Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- R.<a,b,c,d,e,A,B,C,D,E,F> = PolynomialRing(QQ)
- I = ideal(-A+a^2+b^2+c^2+d^2+e^2,-B+a^2*b^2+a^2*c^2+a^2*d^2+a^2*e^2+b^2*c^2+b^2*d^2+b^2*e^2+c^2*d^2+c^2*e^2+d^2*e^2,-C+a^2*b^2*c^2+a^2*b^2*d^2+a^2*b^2*e^2+a^2*c^2*d^2+a^2*c^2*e^2+a^2*d^2*e^2+b^2*c^2*d^2+b^2*c^2*e^2+b^2*d^2*e^2+c^2*d^2*e^2,-D+a^2*b^2*c^2*d^2+a^2*b^2*c^2*e^2+a^2*c^2*d^2*e^2+a^2*b^2*d^2*e^2+b^2*c^2*d^2*e^2,-E+a^2*b^2*c^2*d^2*e^2,-F+a+b+c+d+e)
- import itertools
- z = [a,b,c,d,e]
- Q = prod(F-sum(zi*(-Integer(1))**ei for zi, ei in zip(z, e)) for e in itertools.product((Integer(0),Integer(1)),repeat=Integer(5)))
- qs = [Q.coefficient({F:k}) for k in range(32+1)]
- assert Q == sum(qk*F**k for k, qk in enumerate(qs))
- rs = [I.reduce(qk) for qk in qs]
- print('P(A,B,C,D,E,F) = r0 + r1*F + ... + r32*F^32\n where')
- for k, rk in enumerate(rs):
- print(' r{} = {}'.format(k, rk))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement