# Polynomial decomposition

We say that a polynomial $f$ is decomposable if there are (not linear) polynomials $g,h$ such that $f = g \circ h.$

Is there a function in Sage doing this?

As far as I can see the function is present in Mathematica under the name Decompose http://reference.wolfram.com/language....

edit retag close merge delete

Sort by ยป oldest newest most voted

Unfortunately i can not see any method about this for polynomials, but you can use sympy shich is shipped with Sage, though not imported by default (nor completely interfaced):

sage: R.<x> = PolynomialRing(QQ)
sage: f = 27*x^4 - 27/5*x^3 + 1737/100*x^2 - 171/100*x + 37/10
sage: from sympy import decompose
sage: decompose(f)
[27*x**2 + 171*x/10 + 37/10, x**2 - x/10]
sage: a,b = _
sage: a
27*x**2 + 171*x/10 + 37/10
sage: type(a)
sage: a = R(SR(a))
sage: b = R(SR(b))
sage: a
27*x^2 + 171/10*x + 37/10
sage: a.parent()
Univariate Polynomial Ring in x over Rational Field
sage: a(b) == f
True

more

Please start posting anonymously - your entry will be published after you log in or create a new account.

## Stats

Asked: 2014-10-08 15:33:16 +0200

Seen: 482 times

Last updated: Oct 08 '14