simple script gives "ValueError: element is not in the prime field"

asked 2019-11-18 14:02:03 +0200

bashaad gravatar image

updated 2022-10-06 16:16:19 +0200

FrédéricC gravatar image

I have a very simple script that does not work. It is the following.

for a in range(1,r):
    for b in range(1,r):
        g=a+b*x^2+x^4
        if g.is_irreducible():
            K.<a>=FiniteField(r^4, name='a', modulus = g)
            if a^l != 1:
                print("hooray")

Here l is defined somewhere else, but that is not what gives the error I think. I think the error occurs when sage goes over the line "K.=FiniteField(r^4, name='a', modulus = g)", because maybe the line "g=a+b*x^2+x^4" does not work? If I do this script manually without the for loops, by just assigning some values to a and b, then it works fine.

edit retag flag offensive close merge delete

Comments

The error depends on the information you've omitted, such as the definition of r, l, and x. As a general rule, please give an unambiguous self-contained example that produces the error. Probably the problem is that l cannot be lifted to an integer.

rburing gravatar imagerburing ( 2019-11-18 15:49:06 +0200 )edit