# Irreducibility of Polynomials

g(n,u,x)=gen_laguerre(n,u+1/2,x); I am finding it difficult to see whether g(n,-10,x) is irreducible or not for a certain range of n say (2,10). I have used .factor() to factor the polynomial which solves my problem in a way but it is not economical and very difficult to check. I just want to see whether the function is irreducible? Please help me urgently if you can. I am doing all the computations in sage.

edit retag close merge delete

Sort by » oldest newest most voted

The issue is that gen_laguerre returns a symbolic expression, not a polynomial:

sage: g(4,-10,x)
1/24*x^4 + 11/12*x^3 + 143/16*x^2 + 715/16*x + 12155/128
sage: g(4,-10,x).parent()
Symbolic Ring


You want to deal with polynomials. I presume you are interested in the irreducibility as polynomials defined over the rationals. A simple way to transform the expressions into genuine polynomial is:

sage: g(4,-10,x).polynomial(QQ)
1/24*x^4 + 11/12*x^3 + 143/16*x^2 + 715/16*x + 12155/128
sage: g(4,-10,x).polynomial(QQ).parent()
Univariate Polynomial Ring in x over Rational Field


As you can see, they are all irreducible over the rationals:

sage: [g(n,-10,x).polynomial(QQ).is_irreducible() for n in range(2,11)]
[True, True, True, True, True, True, True, True, True]
sage: all([g(n,-10,x).polynomial(QQ).is_irreducible() for n in range(2,11)])
True


Note that the base ring is important, for example, they are of course not irreducible anymore on the algebraic numbers:

sage: [g(n,-10,x).polynomial(QQbar).is_irreducible() for n in range(2,11)]
[False, False, False, False, False, False, False, False, False]

more