ID EN
Miscellaneous

polyroot

R Base 3.6.2

Find zeros of a real or complex polynomial.

Syntax

R
polyroot(z)

Arguments

Parameter Description
z the vector of polynomial coefficients in increasing order.

Return Value

A complex vector of length \(n - 1\), where \(n\) is the position of the largest non-zero element of z.

Details

A polynomial of degree \(n - 1\), $$ p(x) = z_1 + z_2 x + \cdots + z_n x^{n-1}$$ is given by its coefficient vector z[1:n]. polyroot returns the \(n-1\) complex zeros of \(p(x)\) using the Jenkins-Traub algorithm. If the coefficient vector z has zeroes for the highest powers, these are discarded. There is no maximum degree, but numerical stability may be an issue for all but low-degree polynomials.

Examples

Example
R
# NOT RUN {
polyroot(c(1, 2, 1))
round(polyroot(choose(8, 0:8)), 11) # guess what!
for (n1 in 1:4) print(polyroot(1:n1), digits = 4)
polyroot(c(1, 2, 1, 0, 0)) # same as the first
# }

See Also

uniroot for numerical root finding of arbitrary functions; complex and the zero example in the demos directory.