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

asked 5 years ago

bashaad gravatar image

updated 2 years ago

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.

Preview: (hide)

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 ( 5 years ago )