POLYROOT Function
finds zeros of a real polynomial
- POLYROOT( vector)
where
vector is an
(or
) vector
containing the coefficients of an (
) degree polynomial
with the coefficients arranged in order of decreasing powers.
The POLYROOT function returns the array
, which is an
matrix containing the roots of the polynomial.
The first column of
contains the real part of the complex
roots and the second column contains the imaginary part.
If a root is real, the imaginary part is 0.
The POLYROOT function finds the real and complex
roots of a polynomial with real coefficients.
The POLYROOT function uses an algorithm proposed by Jenkins
and Traub (1970) to find the roots of the polynomial.
The algorithm is not guaranteed to
find all roots of the polynomial.
An appropriate warning message is issued
when one or more roots cannot be found.
If
is given as a root of the polynomial
, then
based on the rounding
error of the computer that is employed.
For example, suppose you want to find the roots of the polynomial
Use the following IML code to produce the result shown.
p={0.2567 0.1570 0.0821 -0.3357 1};
r=polyroot(p);
R 4 rows 2 cols (numeric)
0.8383029 0.8514519
0.8383029 -0.851452
-1.144107 1.1914525
-1.144107 -1.191452
The polynomial has two conjugate pairs of roots that, within
machine precision, are given by
and
.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.