2021-10-10 11:47:44 +0100 commented answer The meaning of arguments of is_primitive Thank you! 2021-10-10 11:43:34 +0100 marked best answer The meaning of arguments of is_primitive Say we have R. = PolynomialRing( GF(5) ) f = x^2 + 2*x +3  then we can use f.is_primitive() to tell if f is primitive. But is_primitive has two argument n and n_prime_divs. The document say "n" (default: "None") - if provided, should equal q-1 where "self.parent()" is the field with q elements; otherwise it will be computed.  But this is whose 'self'? Is it the self of polynomial f? so n=4? I think here the n shall be 5^2-1. The following code will result in error. f.is_primitive(4, [2])  but f.is_primitive(5^2-1, prime_divisors(5^2-1))  will give the correct answer. 2021-10-10 11:43:34 +0100 received badge ● Scholar (source) 2021-10-09 06:25:49 +0100 received badge ● Student (source) 2021-10-05 18:14:30 +0100 asked a question The meaning of arguments of is_primitive The meaning of arguments of is_primitive Say we have R. = PolynomialRing( GF(5) ) f = x^2 + 2*x +3 then we