IrreduciblePolynomialQ[poly]
tests whether poly is an irreducible polynomial over the rationals.
IrreduciblePolynomialQ[poly,Modulusp]
tests whether poly is irreducible modulo a prime p.
IrreduciblePolynomialQ[poly,Extension{a1,a2,…}]
tests whether poly is irreducible over the field extension generated by the algebraic numbers ai.
IrreduciblePolynomialQ[poly,ExtensionAll]
tests whether poly is absolutely irreducible over the complex numbers.
IrreduciblePolynomialQ
IrreduciblePolynomialQ[poly]
tests whether poly is an irreducible polynomial over the rationals.
IrreduciblePolynomialQ[poly,Modulusp]
tests whether poly is irreducible modulo a prime p.
IrreduciblePolynomialQ[poly,Extension{a1,a2,…}]
tests whether poly is irreducible over the field extension generated by the algebraic numbers ai.
IrreduciblePolynomialQ[poly,ExtensionAll]
tests whether poly is absolutely irreducible over the complex numbers.
Details and Options
- The polynomial poly can involve any number of variables.
- IrreduciblePolynomialQ takes the following options:
-
Extension None generators for the algebraic number field to be used GaussianIntegers False whether irreducibility should be tested over Gaussian rationals Modulus 0 prime modulus to use - If any coefficients in poly are complex numbers, irreducibility testing is done over the Gaussian rationals.
- With the default setting Extension->None, IrreduciblePolynomialQ[poly] will treat algebraic number coefficients in poly like independent variables.
- IrreduciblePolynomialQ[poly,Extension->Automatic] extends the domain of coefficients to include any algebraic numbers that appear in poly.
- IrreduciblePolynomialQ automatically threads over lists.
Examples
open all close allBasic Examples (1)
Scope (9)
Irreducibility of univariate polynomials over the rationals:
IrreduciblePolynomialQ[{x ^ 2 + 1, x ^ 3 - 8}]Irreducibility of multivariate polynomials over the rationals:
IrreduciblePolynomialQ[{x ^ 4 - 4y ^ 2, x ^ 4 - 2y ^ 2}]Irreducibility over the Gaussian rationals:
IrreduciblePolynomialQ[x ^ 2 + 2 I x - 1]IrreduciblePolynomialQ[x ^ 2 + 1, GaussianIntegers -> True]Irreducibility of univariate polynomials over the integers modulo 2:
IrreduciblePolynomialQ[{x ^ 3 + 1, x ^ 3 + x + 1}, Modulus -> 2]Irreducibility of multivariate polynomials over the integers modulo 3:
IrreduciblePolynomialQ[{x y + x + 1, 2 + 2 x + 2 x^2 + 2 y + x y}, Modulus -> 3]Irreducibility over a finite field:
ℱ = FiniteField[17, 3];IrreduciblePolynomialQ[{ℱ[3]x ^ 2 + ℱ[1771], ℱ[3]x ^ 2 + ℱ[1771]y ^ 3}]IrreduciblePolynomialQ[{x ^ 3 + 5x + 19, x ^ 4 + 9x + 3}, Extension -> ℱ]By default, algebraic number coefficients are treated as independent variables:
IrreduciblePolynomialQ[x ^ 2 + 2Sqrt[2]x + 2]This tests irreducibility over the rationals extended by the algebraic number coefficients:
IrreduciblePolynomialQ[x ^ 2 + 2Sqrt[2]x + 2, Extension -> Automatic]Irreducibility over a finite algebraic extension of rationals:
IrreduciblePolynomialQ[{x ^ 3 - 2, x ^ 3 - 3}, Extension -> 2 ^ (1 / 3)]IrreduciblePolynomialQ[{x ^ 2 - 2y ^ 4, x ^ 4 - 3 y ^ 2}, Extension -> Sqrt[3]]Absolute irreducibility over the complex numbers:
IrreduciblePolynomialQ[{x ^ 3 - 3, x ^ 2 + 2 x y - 7}, Extension -> All]Options (7)
Extension (5)
By default, algebraic number coefficients are treated as independent variables:
IrreduciblePolynomialQ[x ^ 2 + 2Sqrt[3]x y + 3y ^ 2]Extension->Automatic automatically extends to a field that covers the coefficients:
IrreduciblePolynomialQ[x ^ 2 + 2Sqrt[3]x y + 3y ^ 2, Extension -> Automatic]The polynomial
is irreducible over the rationals:
IrreduciblePolynomialQ[x ^ 2 + 2]The same polynomial is reducible over the rationals extended by I and Sqrt[2]:
IrreduciblePolynomialQ[x ^ 2 + 2, Extension -> {I, Sqrt[2]}]IrreduciblePolynomialQ[x ^ 7 + 12x y - 11, Extension -> All]The polynomial
is irreducible over
:
IrreduciblePolynomialQ[x ^ 3 + 5x + 19, Modulus -> 17]The same polynomial is reducible over a degree-
extension of
:
IrreduciblePolynomialQ[x ^ 3 + 5x + 19, Extension -> FiniteField[17, 3]]The polynomial
is irreducible over the finite field
with
elements:
ℱ = FiniteField[29, 3];
f = ℱ[12]x ^ 2 + ℱ[34]x + ℱ[56]IrreduciblePolynomialQ[f]
becomes reducible after embedding
in a finite field
with
elements:
𝒢 = FiniteField[29, 6];
ℰ = FiniteFieldEmbedding[ℱ, 𝒢]IrreduciblePolynomialQ[f, Extension -> ℰ]GaussianIntegers (1)
Properties & Relations (1)
A polynomial is irreducible if FactorList gives one nonconstant factor with exponent 1:
{IrreduciblePolynomialQ[x ^ 2 + 4], FactorList[x ^ 2 + 4]}{IrreduciblePolynomialQ[x ^ 2 - 4], FactorList[x ^ 2 - 4]}Related Guides
Text
Wolfram Research (2008), IrreduciblePolynomialQ, Wolfram Language function, https://reference.wolfram.com/language/ref/IrreduciblePolynomialQ.html (updated 2023).
CMS
Wolfram Language. 2008. "IrreduciblePolynomialQ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/IrreduciblePolynomialQ.html.
APA
Wolfram Language. (2008). IrreduciblePolynomialQ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/IrreduciblePolynomialQ.html
BibTeX
@misc{reference.wolfram_2026_irreduciblepolynomialq, author="Wolfram Research", title="{IrreduciblePolynomialQ}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/IrreduciblePolynomialQ.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_irreduciblepolynomialq, organization={Wolfram Research}, title={IrreduciblePolynomialQ}, year={2023}, url={https://reference.wolfram.com/language/ref/IrreduciblePolynomialQ.html}, note=[Accessed: 13-June-2026]}