Fast and backward stable computation of roots of polynomials
Date
2015
Authors
Aurentz, Jared L.
Mach, Thomas
Vandebril, Raf
Watkins, David S.
Journal Title
Journal ISSN
Volume Title
Publisher
SIAM Journal on Matrix Analysis and Applications
Abstract
A stable algorithm to compute the roots of polynomials is presented. The roots are found by computing the eigenvalues of the associated companion matrix by Francis's implicitly shifted QR algorithm. A companion matrix is an upper Hessenberg matrix that is unitary-plus-rankone, that is, it is the sum of a unitary matrix and a rank-one matrix. These properties are preserved by iterations of Francis's algorithm, and it is these properties that are exploited here. The matrix is represented as a product of 3n - 1 Givens rotators plus the rank-one part, so only O(n) storage space is required. In fact, the information about the rank-one part is also encoded in the rotators, so it is not necessary to store the rank-one part explicitly. Francis's algorithm implemented on this representation requires only O(n) flops per iteration and thus O(n2) flops overall. The algorithm is described, normwise backward stability is proved, and an extensive set of numerical experiments is presented. The algorithm is shown to be about as accurate as the (slow) Francis QR algorithm applied to the companion matrix without exploiting the structure. It is faster than other fast methods that have been proposed, and its accuracy is comparable or better.
Description
Keywords
companion matrix, eigenvalue, polynomial, QR algorithm, root, rootfinding, rotators
Citation
Aurentz, J. L., Mach, T., Vandebril, R., & Watkins, D. S. (2015). Fast and backward stable computation of roots of polynomials. SIAM Journal on Matrix Analysis and Applications, 36(3), 942-973. DOI: 10.1137/140983434