An iterated eigenvalue algorithm for approximating roots of univariate polynomials

被引:40
|
作者
Fortune, S [1 ]
机构
[1] Bell Labs, Murray Hill, NJ 07974 USA
关键词
D O I
10.1006/jsco.2002.0526
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We discuss an iterative algorithm that approximates all roots of a univariate polynomial. The iteration is based on floating-point computation of the eigenvalues of a generalized companion matrix. With some assumptions, we show that the algorithm approximates the roots within about log(rho/epsilon) chi(P) iterations, where epsilon is the relative error of floating-point arithmetic, rho is the relative separation of the roots, and chi(P) is the condition number of the polynomial. Each iteration requires an n x n floating-point eigenvalue computation, n the polynomial degree, and evaluation of the polynomial to floating-point accuracy at up to n points. We describe a careful implementation of the algorithm, including many techniques that contribute to the practical efficiency of the algorithm. On some hard examples of ill-conditioned polynomials, e.g. high-degree Wilkinson polynomials, the implementation is an order of magnitude faster than the Bini-Fiorentino implementation mpsolve. (C) 2002 Elsevier Science Ltd. All rights reserved.
引用
收藏
页码:627 / 646
页数:20
相关论文
共 50 条