PrimitivePolynomialQ[poly,p]
tests whether poly is a primitive polynomial modulo a prime p.
PrimitivePolynomialQ
PrimitivePolynomialQ[poly,p]
tests whether poly is a primitive polynomial modulo a prime p.
Examples
open all close allBasic Examples (2)
Scope (3)
Test for primitivity of a univariate polynomial modulo a prime:
PrimitivePolynomialQ[x ^ 2 + 5x - 1, 7]Polynomials can be given in non-expanded form:
PrimitivePolynomialQ[(x + 1)(x + 3) + 2, 7]Coefficients of the polynomial do not have to be integers:
PrimitivePolynomialQ[x ^ 2 / 2 + 2x + 5 / 2, 7]Properties & Relations (4)
A polynomial must be irreducible in order to be primitive:
IrreduciblePolynomialQ[x ^ 4 + 3x ^ 3 + 2x ^ 2 + x + 7, Modulus -> 13]Irreducibility is a necessary but not-sufficient condition for a polynomial to be primitive:
IrreduciblePolynomialQ[x ^ 4 + 3x ^ 3 + 2x ^ 2 + x + 9, Modulus -> 13]PrimitivePolynomialQ[x ^ 4 + 3x ^ 3 + 2x ^ 2 + x + 9, 13]A trinomial whose order is a Mersenne prime exponent is primitive modulo 2 if and only if it is irreducible:
MersennePrimeExponent[10]poly = x ^ 89 + x ^ 38 + 1;PrimitivePolynomialQ[poly, 2]IrreduciblePolynomialQ[poly, Modulus -> 2]Primitivity of a polynomial depends on the choice of prime:
poly = x ^ 4 + 3x ^ 3 + 2x ^ 2 + x + 7;PrimitivePolynomialQ[poly, 17]PrimitivePolynomialQ[poly, 23]Related Guides
History
Text
Wolfram Research (2017), PrimitivePolynomialQ, Wolfram Language function, https://reference.wolfram.com/language/ref/PrimitivePolynomialQ.html.
CMS
Wolfram Language. 2017. "PrimitivePolynomialQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PrimitivePolynomialQ.html.
APA
Wolfram Language. (2017). PrimitivePolynomialQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PrimitivePolynomialQ.html
BibTeX
@misc{reference.wolfram_2026_primitivepolynomialq, author="Wolfram Research", title="{PrimitivePolynomialQ}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/PrimitivePolynomialQ.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_primitivepolynomialq, organization={Wolfram Research}, title={PrimitivePolynomialQ}, year={2017}, url={https://reference.wolfram.com/language/ref/PrimitivePolynomialQ.html}, note=[Accessed: 13-June-2026]}