50% off: Unlimited data and AI learning.
The Learning Leader's Guide to AI Literacy

base (version 3.3.2)

polyroot: Find Zeros of a Real or Complex Polynomial

Description

Find zeros of a real or complex polynomial.

Usage

polyroot(z)

Arguments

z
the vector of polynomial coefficients in increasing order.

Value

A complex vector of length n1, where n is the position of the largest non-zero element of z.

Details

A polynomial of degree n1, p(x)=z1+z2x++znxn1 is given by its coefficient vector z[1:n]. polyroot returns the n1 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.

References

Jenkins and Traub (1972) TOMS Algorithm 419. Comm. ACM, 15, 97--99.

See Also

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

Examples

Run this code
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

Run the code above in your browser using DataLab