
decompose - decomposition of polynomials

Calling sequence:
decompose(p [ , x ])

Parameters:
p  --   polynomial
x  --   variable

Summary:

decompose(p,x) decomposes the polynomial p with respect to the variable
x, i.e.  returns a sequence of polynomials q1 ...  qn such that p(x) =
q1(q2(...(qn(x))...)). This decomposition is not unique but one is always
found when one exists. If no decomposition exists, the input polynomial is
returned.

When the polynomial p contains two or more indeterminates, the second
argument must be given to indicate with respect to which variable the decomposition
has to be done.

>>  decompose(x^6+6*x^4+x^3+9*x^2+3*x-5);

                          2           3
                      x + x  - 5, 3 x + x

>>  decompose(x^6-9*x^5+27*x^4-27*x^3-2*x^2*y+6*x*y+1,x);

                            3              2
                   - 2 x y + x  + 1 , - 3 x + x

>>  decompose(x^4-3*x^3-x+5);

                               3    4
                       - x - 3 x  + x  + 5

>>  decompose(poly(x^4-3*x^3-x+5,[x],IntMod(5)));

                      2                         2
            poly(- x + x , [x], IntMod(5)), poly(x + x , [x], IntMod(5))

See also:  factor , solve

