finitefield-test.py 693 B

12345678910111213141516171819202122232425262728
  1. from test import test
  2. from finitefield import *
  3. from polynomial import *
  4. from modp import *
  5. def p(L, q):
  6. f = IntegersModP(q)
  7. Polynomial = polynomialsOver(f).factory
  8. return Polynomial(L)
  9. test(True, isIrreducible(p([0,1], 2), 2))
  10. test(False, isIrreducible(p([1,0,1], 2), 2))
  11. test(True, isIrreducible(p([1,0,1], 3), 3))
  12. test(False, isIrreducible(p([1,0,0,1], 5), 5))
  13. test(False, isIrreducible(p([1,0,0,1], 7), 7))
  14. test(False, isIrreducible(p([1,0,0,1], 11), 11))
  15. test(True, isIrreducible(p([-2, 0, 1], 13), 13))
  16. Z5 = IntegersModP(5)
  17. Poly = polynomialsOver(Z5).factory
  18. f = Poly([3,0,1])
  19. F25 = FiniteField(5, 2, polynomialModulus=f)
  20. x = F25([2,1])
  21. test(Poly([1,2]), x.inverse())