SolveTools
Polynomial
solve a single polynomial for one variable
Calling Sequence
Parameters
Options
Description
Examples
Polynomial( f, x, ...)
f
-
polynomial in x
x
variable
options
(optional) equation(s) of the form keyword = value
explicit : truefalse
domain : absolute, rational, integer, real, or parametric.
dropmultiplicity : truefalse
Solve for a polynomial in x. Polynomial uses factor, compoly, and explicit root formulae to write the roots explicitly where possible.
If not possible, a list of indexed RootOf will be returned.
The behavior of Polynomial is controlled by the option explicit, or by the environment variable _EnvExplicit. In all cases the option, if specified, overrides the environment variable. has three possible behaviors depending on the option
By default (if the option explicit not specified and _EnvExplicit is not set) explicit roots are calculated for polynomials of degree 2 and 3 but not for polynomials higher degree (unless they factor or decompose). Implicit roots that do not involve non-numeric symbols are given as indexed RootOfs.
If explicit is specified as an option (or _EnvExplicit=true) then explicit roots are computed when possible.
If explicit=false is specified as an option (or _EnvExplicit=false) then no attempt is made to compute explicit roots, and unspecialized RootOf expressions are returned.
The domain option can be used to restrict the roots returned. Using domain=real or domain=integer will return only real or integer roots respectively. domain=absolute will return all the roots and domain=rational will return the roots which lie in the same field as the coefficients of f in the same way as roots; in particular if f is a polynomial with integer coefficients, domain=rational will return only the roots which are rational numbers. domain=parametric will return a piecewise expression giving a discussion of different cases.
If the option dropmultiplicity is specified, only one copy of each root is returned.
withSolveTools:
Polynomial0,x
Polynomial1,x
Polynomialx2,x
0,0
Polynomialx2−1,x
1,−1
Polynomialx2+1,x,explicit=false
RootOf_Z2+1,label=_L1
Polynomialx5+2x+1,x
RootOf_Z5+2_Z+1,index=1,RootOf_Z5+2_Z+1,index=2,RootOf_Z5+2_Z+1,index=3,RootOf_Z5+2_Z+1,index=4,RootOf_Z5+2_Z+1,index=5
Polynomialx5+2x+1,x,explicit=false
RootOf_Z5+2_Z+1,label=_L2
f1≔expandx−14evalz4−z−1,z=x3+x:
Polynomialf1,x,domain=integer
1,1,1,1
Polynomialf1,x,domain=integer,dropmultiplicity
1
Polynomialf1,x,domain=rational
Polynomialf1,x,domain=real
RootOf_Z12+4_Z10+6_Z8+4_Z6+_Z4−_Z3−_Z−1,−0.5542396980,RootOf_Z12+4_Z10+6_Z8+4_Z6+_Z4−_Z3−_Z−1,0.7679130647,1,1,1,1
SolveTools:-Polynomialax2−b+ax+b,x
ba,1
Polynomialax2−b+ax+b,x,domain=parametric
xb=01otherwisea=01,baotherwise
See Also
compoly
factor
roots
solve
Download Help Document