polylib::decompose --
functional decomposition of a polynomial
Introductionpolylib::decompose(p,x) returns a sequence
of polynomials q1, ..., qn such that
p(x) = q1(...qn(x) ...).
Call(s)polylib::decompose(p)
polylib::decompose(p, x)
Parametersp |
- | polynomial or polynomial expression |
x |
- | one of the indeterminates of the polynomial
p |
ReturnsIf a decomposition is possible, polylib::decompose
returns it as an expression sequence, each element being of the same
type as the input. If no decomposition is possible, the input is
returned.
p
Related
Functions
Details
Example
1In the simplest case, an univariate polynomial is decomposed with respect to its only variable:
>> polylib::decompose(x^4+x^2+1)
2 2
x + x + 1, x
Example
2If there are several variables, a main variable must be specified:
>> polylib::decompose(y*x^4+y,y);
4
y + x y
Backgroundpolylib::decompose can be found in Barton and
Zippel, Polynomial decomposition algorithms, Journal of Symbolic
Computation, 1 (1985), pp. 159-168.decompose