Fast and backward stable computation of roots of polynomials

Thumbnail Image

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

Collections