Finding order of a polynomial over finite field

order of a polynomial $f(x)$ in $\mathbb{F}_p [x]$ is defined as minimum $e$ such that $f(x) | x^e -1$ . Do we have an inbuilt function in sage to find the same ?

edit retag close merge delete

Sort by » oldest newest most voted

I would expect that you mainly need this for irreducible polynomials. In that case it's the multiplicative order of one of its roots in an appropriate extension:

L = GF(p^f.degree(),name='b')
[a[1].multiplicative_order() for a in f.roots(L)]


(all those numbers should be equal and you only need to compute one of them)

If your polynomial is square-free, you'd have to do this for each of the irreducible factors and take the LCM.

If your polynomial has higher multiplicity factors, you have to take the appropriate powers before taking LCMs

more