Decompose[poly,x]
decomposes a polynomial, if possible, into a composition of simpler polynomials.
Decompose
Decompose[poly,x]
decomposes a polynomial, if possible, into a composition of simpler polynomials.
Details and Options
- Decompose gives a list of the polynomials Pi which can be composed as
to give the original polynomial. - The set of polynomials Pi is not necessarily unique.
- Decomposition is an operation which is independent of polynomial factorization.
Examples
open all close allBasic Examples (3)
Represent a polynomial as a composition of polynomials:
Decompose[x ^ 2 + 1, x](1 + x) /. (x -> x ^ 2)Compositions of the same polynomials in different orders:
Decompose[x ^ 4 + x ^ 2, x]Decompose[(x + x ^ 2) ^ 2, x]A decomposition with three polynomials:
Decompose[(x ^ 2 + x) ^ 4 + 1, x]Scope (5)
A composition of more than two polynomials:
Decompose[(x ^ 2 + 1) ^ 4 + 3, x]Decompose[2 x + 1, x]A polynomial with symbolic coefficients:
Decompose[(a x ^ 3 + 1) ^ 2 + b, x]A polynomial with complex coefficients:
Decompose[(x ^ 2 + I) ^ 2, x]Decompose a polynomial over the integers modulo 3:
Decompose[x ^ 4 + 4x ^ 3 + 4x ^ 2 + 6x + 24, x, Modulus -> 3]Options (1)
Applications (1)
Solve some polynomial equations of degrees higher than 4 in terms of radicals:
f = x ^ 8 + 4x ^ 7 + 2x ^ 6 - 8x ^ 5 - 5x ^ 4 + 8x ^ 3 + 2x ^ 2 - 4x + 8;{a, b, c} = Decompose[f, x]Solve
by solving
and then
etc:
s1 = x /. Solve[a == 0, x]s2 = Join@@(x /. Solve[b == #, x]& /@ s1)s3 = Join@@(x /. Solve[c == #, x]& /@ s2)Check that these indeed are the roots of f:
Expand[f /. x -> #& /@ s3]Wolfram Language solvers use Decompose automatically:
Solve[f == 0, x]Properties & Relations (2)
Composition of polynomials given by Decompose gives the original polynomial:
f = (x ^ 2 + 1) ^ 4 + 3;Decompose[f, x]Use Fold to compose the polynomials:
Fold[#2 /. x -> #1&, x, Reverse[%]]Use Expand to show that the result is equal to f:
Expand[% == f]Use Factor to represent a polynomial as a product of irreducible factors:
f = x ^ 2 + 3x + 2;
g = x ^ 4 - x ^ 2 + 17;Factor[{f, g}]f can be factored but not decomposed; g can be decomposed but not factored:
Decompose[f, x]Decompose[g, x]Possible Issues (1)
Decompose ignores possible decompositions with inner polynomials that are linear:
Decompose[(x + 1) ^ 3 + 1, x]See Also
Tech Notes
Related Guides
History
Introduced in 1988 (1.0)
Text
Wolfram Research (1988), Decompose, Wolfram Language function, https://reference.wolfram.com/language/ref/Decompose.html.
CMS
Wolfram Language. 1988. "Decompose." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/Decompose.html.
APA
Wolfram Language. (1988). Decompose. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/Decompose.html
BibTeX
@misc{reference.wolfram_2026_decompose, author="Wolfram Research", title="{Decompose}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/Decompose.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_decompose, organization={Wolfram Research}, title={Decompose}, year={1988}, url={https://reference.wolfram.com/language/ref/Decompose.html}, note=[Accessed: 12-June-2026]}