Advertisement
JoelSjogren

Untitled

Aug 13th, 2020 (edited)
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. R.<a,b,c,d,e,A,B,C,D,E,F> = PolynomialRing(QQ)
  2.  
  3. 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)
  4.  
  5. import itertools
  6.  
  7. z = [a,b,c,d,e]
  8.  
  9. 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)))
  10.  
  11. qs = [Q.coefficient({F:k}) for k in range(32+1)]
  12.  
  13. assert Q == sum(qk*F**k for k, qk in enumerate(qs))
  14.  
  15. rs = [I.reduce(qk) for qk in qs]
  16.  
  17. print('P(A,B,C,D,E,F) = r0 + r1*F + ... + r32*F^32\n where')
  18. for k, rk in enumerate(rs):
  19. print(' r{} = {}'.format(k, rk))
  20.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement