TR : New Structured Matrix Methods for Real and Complex Polynomial Root-Finding

Similar documents
Eigen-solving via reduction to DPR1 matrices

TR : Randomized Matrix Methods for Real and Complex Polynomial Root-Finding

Graeffe s, Chebyshev-like, and Cardinal s Processes for Splitting a Polynomial into Factors*

Preliminary/Qualifying Exam in Numerical Analysis (Math 502a) Spring 2012

EIGENVALUE PROBLEMS. EIGENVALUE PROBLEMS p. 1/4

Eigenvalue Problems and Singular Value Decomposition

A Cholesky LR algorithm for the positive definite symmetric diagonal-plus-semiseparable eigenproblem

Eigenvalue and Eigenvector Problems

Eigenvalues and Eigenvectors

Exponentials of Symmetric Matrices through Tridiagonal Reductions

Ir O D = D = ( ) Section 2.6 Example 1. (Bottom of page 119) dim(v ) = dim(l(v, W )) = dim(v ) dim(f ) = dim(v )

Numerical Methods in Matrix Computations

EIGENVALUE PROBLEMS. Background on eigenvalues/ eigenvectors / decompositions. Perturbation analysis, condition numbers..

Eigenvalue Problems. Eigenvalue problems occur in many areas of science and engineering, such as structural analysis

Scientific Computing: An Introductory Survey

Numerical Methods for Solving Large Scale Eigenvalue Problems

Solving large scale eigenvalue problems

Lecture notes: Applied linear algebra Part 2. Version 1

Matrices and Vectors. Definition of Matrix. An MxN matrix A is a two-dimensional array of numbers A =

AMS526: Numerical Analysis I (Numerical Linear Algebra)

Linear Algebra: Matrix Eigenvalue Problems

Direct methods for symmetric eigenvalue problems

Numerical Methods - Numerical Linear Algebra

4. Parallel computation. a) Processor efficient NC and RNC algorithms for matrix computations with extensions. My paper with

QR-decomposition. The QR-decomposition of an n k matrix A, k n, is an n n unitary matrix Q and an n k upper triangular matrix R for which A = QR

The Eigenvalue Problem: Perturbation Theory

The German word eigen is cognate with the Old English word āgen, which became owen in Middle English and own in modern English.

Matrix Algorithms. Volume II: Eigensystems. G. W. Stewart H1HJ1L. University of Maryland College Park, Maryland

Computing Eigenvalues and/or Eigenvectors;Part 2, The Power method and QR-algorithm

Chapter 3 Transformations

ECS231 Handout Subspace projection methods for Solving Large-Scale Eigenvalue Problems. Part I: Review of basic theory of eigenvalue problems

Last Time. Social Network Graphs Betweenness. Graph Laplacian. Girvan-Newman Algorithm. Spectral Bisection

Notes on Eigenvalues, Singular Values and QR

Numerical Methods I Eigenvalue Problems

Iterative methods for symmetric eigenvalue problems

Linear Algebra M1 - FIB. Contents: 5. Matrices, systems of linear equations and determinants 6. Vector space 7. Linear maps 8.

RITZ VALUE BOUNDS THAT EXPLOIT QUASI-SPARSITY

1 Number Systems and Errors 1

Matrices, Moments and Quadrature, cont d

Applied Mathematics 205. Unit V: Eigenvalue Problems. Lecturer: Dr. David Knezevic

Eigenvalues and eigenvectors

Efficient and Accurate Rectangular Window Subspace Tracking

M.A. Botchev. September 5, 2014

13-2 Text: 28-30; AB: 1.3.3, 3.2.3, 3.4.2, 3.5, 3.6.2; GvL Eigen2

Computational Methods. Eigenvalues and Singular Values

Today: eigenvalue sensitivity, eigenvalue algorithms Reminder: midterm starts today

arxiv: v1 [math.na] 5 May 2011

Chap 3. Linear Algebra

Jordan Journal of Mathematics and Statistics (JJMS) 5(3), 2012, pp A NEW ITERATIVE METHOD FOR SOLVING LINEAR SYSTEMS OF EQUATIONS

MATH 425-Spring 2010 HOMEWORK ASSIGNMENTS

Linear Algebra in Actuarial Science: Slides to the lecture

Throughout these notes we assume V, W are finite dimensional inner product spaces over C.

Matrix functions that preserve the strong Perron- Frobenius property

Chapter 7. Canonical Forms. 7.1 Eigenvalues and Eigenvectors

Lecture 2: Computing functions of dense matrices

Foundations of Matrix Analysis

Math 411 Preliminaries

Introduction to Applied Linear Algebra with MATLAB

Synopsis of Numerical Linear Algebra

Computing Eigenvalues and/or Eigenvectors;Part 2, The Power method and QR-algorithm

MATH 423 Linear Algebra II Lecture 33: Diagonalization of normal operators.

Data Analysis and Manifold Learning Lecture 2: Properties of Symmetric Matrices and Examples

Lecture 10 - Eigenvalues problem

Structured Matrix Methods for Polynomial Root-Finding

First, we review some important facts on the location of eigenvalues of matrices.

STAT 309: MATHEMATICAL COMPUTATIONS I FALL 2018 LECTURE 9

Lecture Notes for Inf-Mat 3350/4350, Tom Lyche

Gershgorin s Circle Theorem for Estimating the Eigenvalues of a Matrix with Known Error Bounds

Introduction. Chapter One

The University of Texas at Austin Department of Electrical and Computer Engineering. EE381V: Large Scale Learning Spring 2013.

A DIVIDE-AND-CONQUER METHOD FOR THE TAKAGI FACTORIZATION

Eigenvalues, Eigenvectors. Eigenvalues and eigenvector will be fundamentally related to the nature of the solutions of state space systems.

m We can similarly replace any pair of complex conjugate eigenvalues with 2 2 real blocks. = R

A factorization of the inverse of the shifted companion matrix

THE PERTURBATION BOUND FOR THE SPECTRAL RADIUS OF A NON-NEGATIVE TENSOR

Lecture 7: Positive Semidefinite Matrices

ON ORTHOGONAL REDUCTION TO HESSENBERG FORM WITH SMALL BANDWIDTH

Math 405: Numerical Methods for Differential Equations 2016 W1 Topics 10: Matrix Eigenvalues and the Symmetric QR Algorithm

33AH, WINTER 2018: STUDY GUIDE FOR FINAL EXAM

Numerical Methods I: Eigenvalues and eigenvectors

Refined Inertia of Matrix Patterns

Math 504 (Fall 2011) 1. (*) Consider the matrices

Lecture 2: Linear operators

The quadratic eigenvalue problem (QEP) is to find scalars λ and nonzero vectors u satisfying

AMS526: Numerical Analysis I (Numerical Linear Algebra)

The Lanczos and conjugate gradient algorithms

5.3 The Power Method Approximation of the Eigenvalue of Largest Module

Lecture 1: Review of linear algebra

Integer Least Squares: Sphere Decoding and the LLL Algorithm

A fast randomized algorithm for overdetermined linear least-squares regression

Linear Algebra Methods for Data Mining

Principal Component Analysis

Math Introduction to Numerical Analysis - Class Notes. Fernando Guevara Vasquez. Version Date: January 17, 2012.

AMS526: Numerical Analysis I (Numerical Linear Algebra)

LinGloss. A glossary of linear algebra

Jim Lambers MAT 610 Summer Session Lecture 2 Notes

Lecture 4 Eigenvalue problems

Multiplicative Perturbation Analysis for QR Factorizations

Solution of Linear Equations

MATRIX AND LINEAR ALGEBR A Aided with MATLAB

Transcription:

City University of New York (CUNY) CUNY Academic Works Computer Science Technical Reports CUNY Academic Works 2013 TR-2013013: New Structured Matrix Methods for Real and Complex Polynomial Root-Finding Victor Y. Pan Ai-Long Zheng Follow this and additional works at: http://academicworks.cuny.edu/gc_cs_tr Part of the Computer Sciences Commons Recommended Citation Pan, Victor Y. and Zheng, Ai-Long, "TR-2013013: New Structured Matrix Methods for Real and Complex Polynomial Root-Finding" (2013). CUNY Academic Works. http://academicworks.cuny.edu/gc_cs_tr/388 This Technical Report is brought to you by CUNY Academic Works. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of CUNY Academic Works. For more information, please contact AcademicWorks@gc.cuny.edu.

New Structured Matrix Methods for Real and Complex Polynomial Root-finding Victor Y. Pan [1,2],[a] and Ai-Long Zheng [2],[b] Supported by NSF Grant CCF-1116736 and PSC CUNY Award 64512 0042 [1] Department of Mathematics and Computer Science Lehman College of the City University of New York Bronx, NY 10468 USA [2] Ph.D. Programs in Mathematics and Computer Science The Graduate Center of the City University of New York New York, NY 10036 USA [a] victor.pan@lehman.cuny.edu http://comet.lehman.cuny.edu/vpan/ [b] azheng-1999@yahoo.com Abstract We combine the known methods for univariate polynomial root-finding and for computations in the Frobenius matrix algebra with our novel techniques to advance numerical solution of a univariate polynomial equation, and in particular numerical approximation of the real roots of a polynomial. Our analysis and experiments show efficiency of the resulting algorithms. 2000 Math. Subject Classification: 65H05, 65F15, 30C15, 26C10, 12Y05 KEYWORDS: Polynomial, Root-finding, Eigen-solving, Companion matrix, Dominant eigenspaces, Real roots, Numerical approximation. 1 Introduction Polynomial root-finding is the oldest subject of mathematics and computational mathematics and is still an area of intensive research worldwide. The list of hundreds if not thousands algorithms known for this task still grows every year (see the books and articles [2], [3], [14], [39], [40], [30], [31], [32], [48], and the bibliography therein). Many algorithms are directed to computing a single, e.g., absolutely largest root of a polynomial or a subset of all its n roots, e.g., all r its real roots. In some applications, e.g., to algebraic geometric optimization, only the real roots are of interest, and they can be much less numerous than all n complex roots. Nevertheless the best numerical subroutines such as MPSolve approximate all these r real roots about as fast and as slow as all n complex roots. Root-finding for a polynomial p(x) via eigen-solving for the associated companion matrix C p is a classical approach recently revived, with the incorporation of the well developed numerical matrix methods (see [6], [20], [54], [59], and the bibliography therein). The QR algorithm, adopted for polynomial root-finding by Matlab, avoids numerical problems, faced by many other companion Some results of this paper have been presented at the 14th Annual Conference on Computer Algebra in Scientific Computing (CASC 2012), September 2012, Maribor, Slovenia, and at the 18th Conference of the International Linear Algebra Society (ILAS 2013), Providence, RI, June 2013 1

matrix methods [20, Section 7.4.6], but is not readily amenable to exploiting the rich structure of the companion matrix. Extensive research toward such exploitation by using QR- and LR-based root-finders has been initiated in the papers [10], [11] and [7] and still goes on (see [5], [57], [62], [1], and the references therein). The QR algorithm is celebrated for its fast empirical convergence, but the Rayleigh Quotient iteration [20, Section 8.2.2] also has very good convergence record, exploits matrix structures even better than the QR algorithm, and unlike that algorithm can be applied concurrently with no communication among the processors that handle distinct initial points. The papers [9], [49] adjust this iteration to polynomial root-finding and perform every iteration step and every deflation step in linear space and linear arithmetic time. In this paper we explore the somewhat similar approach of Cardinal [13], extended in [12] and [45]. It enhances the Power Method and the method of [50], [51], and [22] by reducing every multiplication in the Frobenius algebra, generated by the companion matrix C p, to application of a small number of FFTs. By combining these and some other known techniques of polynomial root-finding with our novelties, we achieve substantial progress, in particular for numerical approximation of the real roots. We reduce this task to the approximation of the associated eigenspace of the companion matrix (cf. Theorem 2.2), make this eigenspace dominant by using shifts, inversions and repeated squaring in the Frobenius matrix algebra as well as the approximation of the matrix sign function, and then readily approximate this eigenspace and the associated eigenvalues. Numerically we approximate the r + real and nearly roots of the input polynomial, and among them we immediately select all the r real roots (see Remark 3.2 in Section 3). In this way we accelerate the known numerical real root-finders by a factor of n/r + for a polynomial of a degree n. We also substantially accelerate the known numerical algorithms for complex roots of polynomials by proposing some novel matrix methods, as we show both formally and empirically. We organize our presentation as follows. The next section is devoted to definitions and preliminary results. In Section 3 we present our basic algorithms. They reduce the eigenvalue problem to the approximation of the dominant or dominated eigenspaces of the appropriate functions of the input matrix. In the subsequent sections we cover the computation of such matrix functions. In Section 4 we do this by combining repeated squaring, shifts and inversions in the associated matrix algebra, whereas in Section 5 we exploit the approximation of the matrix sign function. Both sections are mostly devoted to the approximation of real eigenvalues, but Subsections 4.1, 5.2 and 5.7 present some novel efficient algorithms that approximate complex eigenvalues of the companion matrix and consequently complex roots of a polynomial. Section 6 covers our numerical tests, which are the contribution of the second author. There are many directions for extending and refining our techniques, and our concluding Section 7 lists some of them. In the Appendix we sketch a dual approach emulating some of our techniques in terms of polynomial computations. 2 Definitions and preliminaries Hereafter flop stands for arithmetic operation, is expected and is likely mean with a probability near 1, and small, large, close, and near are meant in the context. We assume computations in the fields of complex and real numbers C and R, respectively. For ρ > ρ > 0 and a complex c, define the circle C ρ (c) = {λ : λ c = ρ}, the disc D ρ (c) = {λ : λ c ρ}, and the annulus A ρ,ρ (c) = {λ : ρ λ c ρ }. A scalar λ is nearly real (within ɛ > 0) if I(λ) ɛ λ. Matrix computations: fundamentals [20], [53], [58]. (B j ) s j=1 = (B 1 B 2... B s ) is the 1 s block matrix with the blocks B 1, B 2,..., B s. diag(b j ) s j=1 = diag(b 1, B 2,..., B s ) is the s s block diagonal matrix with the diagonal blocks B 1, B 2,..., B s. M T is the transpose of a matrix M. R(M) is the range of a matrix M, that is the linear space generated by its columns. N (M) = {v : Mv = 0} is its null space. rank(m) = dim(r(a)). A matrix of full column rank is a matrix basis of its range. I = I n = (e 1 e 2... e n ) is the n n identity matrix with columns e 1, e 2,..., e n. J = J n = (e n e n 1... e 1 ) is the n n reflection matrix, J 2 = I. O k,l is the k l matrix filled with zeros. A matrix Q is called orthogonal (also unitary and orthonormal) if Q T Q = I or QQ T = I. 2

Theorem 2.1. [20, Theorem 5.2.2]. A matrix M of full column rank has unique QR factorization M = QR where Q = Q(M) is an orthogonal matrix and R = R(M) is a square upper triangular matrix with positive diagonal entries. We use the matrix norms h for h = 1, 2, [20, Section 2.3] and write = 2. We write a 0 and A O if the values a and A are small in context. We write a b for b 0 and A B and B O if the ratios a / b and A / B are small. M + is the Moore Penrose pseudo inverse of M [20, Section 5.5.4]. An n m matrix X = M (I) is a left (resp. right) inverse of an m n matrix M if XM = I n (resp. if MY = I m ). M + is an M (I) for a matrix M of full rank. M (I) = M 1 for a nonsingular matrix M. Matrix computations: eigenspaces [20], [54], [58], [59], [6]. S is an invariant subspace or eigenspace of a square matrix M if MS = {Mv : v S} S. Theorem 2.2. [54, Theorem 4.1.2], [58, Section 6.1], [59, Section 2.1]. Let U C n r be a matrix basis for an eigenspace U of a matrix M C n n. Then the matrix L = U (I) MU is unique (that is independent of the choice of the left inverse U (I) ) and satisfies MU = UL. The above pair {L, U} is an eigenpair of a matrix M, L is its eigenblock, and U is the associated eigenspace of L [54]. If L = λi n, then also {λ, U} is called an eigenpair of a matrix M. In this case det(λi M) = 0, whereas N (M λi) is the eigenspace associated with the eigenvalue λ and made up of its eigenvectors. Λ(M) is the set of all eigenvalues of M, called its spectrum. ρ(m) = max λ Λ(M) λ is the spectral radius of M. Theorem 2.2 implies that Λ(L) Λ(M). For an eigenpair {λ, U} write ψ = min λ/µ over λ Λ(L) and µ Λ(M) Λ(L). Call the eigenspace U dominant if ψ > 1, dominated if ψ < 1, strongly dominant if 1/ψ 0, and strongly dominated if ψ 0. An n n matrix M is called diagonalizable or nondefective if SMS 1 is a diagonal matrix for some matrix S, e.g., if M has n distinct eigenvalues. A random real or complex perturbation makes the matrix diagonalizable with probability 1. In all our algorithms we assume diagonalizable input matrices. Theorem 2.3. (See [23, Theorem 1.13 ].) Λ(φ(M)) = φ(λ(m)) for a square matrix M and a function φ(x) defined on its spectrum. Furthermore (φ(λ), U) is an eigenpair of the matrix φ(m) if the matrix M is diagonalizable and has an eigenpair (λ, U). A nonsingular matrix M is well conditioned if its condition number κ(m) = M M 1 1 is reasonably bounded. This matrix is ill conditioned if its condition number is large. κ(m) = M = M + = 1 for orthogonal matrices M. Toeplitz matrices [43, Ch. 2]. An m n Toeplitz matrix T = (t i j ) m,n i,j=1 m + n 1 entries of its first row and column, in particular t 0 t 1 t 1 n T = (t i j ) n,n i,j=1 =. t 1 t... 0......... t 1. t n 1 t 1 t 0 Polynomials and companion matrices. Write p(x) = n p i x i = p n i=0 p rev (x) = x n p(1/x) = n j=1 n p i x n i = p n i=0 is defined by the (x λ j ), (2.1) n j=1 (1 xλ j ), (2.2) 3

p rev (x) is the reverse polynomial of p(x), 0 p 0 /p n. 1.. p1 /p n C p =......., for p = (p j ) n 1 j=0,... 0 pn 2 /p n 1 p n 1 /p n and C prev = JC p J are the n n companion matrices of the polynomials p(x) = det(xi n C p ) and p rev (x) = det(xi n C prev ), respectively. Fact 2.1. (See [13] or [45].) The companion matrix C p C n n of a polynomial p(x) of (2.1) generates an algebra A p of matrices having structure of Toeplitz type. One needs O(n) flops for addition, O(n log n) flops for multiplication and O(n log 2 n) flops for inversion in this algebra and needs O(n log n) flops for multiplying a matrix from the algebra by a square Toeplitz matrix. 3 Basic algorithms for approximating selected eigenvalues The following algorithms employ Theorems 2.2 and 2.3 to approximate a specified set Λ of the eigenvalues of a matrix, e.g., its absolutely largest eigenvalue or the set of its real eigenvalues. They will serve as the basis for our eigenvalue algorithms, which we will apply to the companion matrices in the subsequent sections. Algorithm 3.1. Reduction of the input size for eigen-solving. Input: a diagonalizable matrix M R n n and a property that specifies a subset Λ of its unknown spectrum associated with an unknown eigenspace U. Output: two matrices L and Û such that the pair {Λ( L), R(U)} closely approximates the eigenpair {Λ, U} of the matrix M. Computations: 1. Compute a matrix function φ(m) for which the linear space U is a strongly dominant eigenspace. 2. Compute and output a matrix Û of full column rank whose range approximates the eigenspace U. 3. Compute the left inverse Û (I) of the matrix Û. 4. Compute and output the matrix L (I) = Û MÛ. At Stage 2 of the algorithm, one can apply a rank revealing QR or LU factorization of the matrix φ(m) [19], [24], [42]. Given a reasonably close upper bound r + on the dimension r of the eigenspace U, we can alternatively employ a randomized multiplier as follows. Algorithm 3.2. Approximation of a dominant eigenspace. Input: a positive integer r + and a diagonalizable matrix W R n n that has numerical rank n r and has strongly dominant eigenspace U of dimension r > 0 for an unknown r r +. Output: an n r matrix Û such that R(Û) U. Computations: 1. Compute the n r + matrix W G for a well conditioned random n r + matrix G. 4

2. Compute the rank revealing QR factorization of the matrix W G and output an orthogonal matrix basis Û of this matrix. The algorithm amounts to a single iteration of the Power Method [20], [54]. This is expected to be sufficient where the matrix W has a strongly dominant eigenspace. By virtue of Fact 2.1 we would benefit from choosing a random Toeplitz multiplier G where the matrix W belongs to the matrix algebra A p, generated by the companion matrix C p of a polynomial p(x). According to the study in [46] Gaussian random Toeplitz matrices are likely to be reasonably well conditioned under both standard Gaussian and uniform probability distribution. Now assume a nonsingular matrix φ(m) with a dominated (rather than dominant) eigenspace U. Then this is a dominant eigenspace of the matrix ( φ(m)) 1. We can apply Stages 2 4 of Algorithm 3.1 to this eigenspace or, alternatively, apply the following variation of Algorithm 3.1. Algorithm 3.3. Dual reduction of the input size for eigen-solving. Input, Output and Stages 3 and 4 of Computations as in Algorithm 3.1. Computations: 1. Compute a matrix function φ(m) having strongly dominated eigenspace U. 2. Apply the Inverse Orthogonal Iteration [20, page 339] to the matrix φ(m) to output a matrix Û of full column rank whose range approximates the eigenspace U. Output the matrix L (I) = Û MÛ. Remark 3.1. Seeking a single eigenvalue of a matrix M and having performed Stage 1 of Algorithm 3.1 (resp. 3.3), we can apply the Power (resp. Inverse Power) Method (cf. [20, Sections 7.3.1 and 7.6.1], [9]) to approximate an eigenvector v of the matrix φ(m) in its dominant (resp. dominated) eigenspace U. This eigenvector is shared with the matrix M by virtue of Theorem 2.3, and we can approximate the associated eigenvalue by the Rayleigh quotient v T Mv/v T v or a simple quotient v T Me j /v T e j for a fixed or random integer j, 1 j n, in [9], [47] and [49]. We can employ deflation or reapply our algorithm for other initial approximations (cf. our Section 5.5 and [26]) to approximate other eigenvalues of the matrix M. Remark 3.2. In numerical implementation of the algorithms of this section one should compute a matrix basis L + for the dominant (resp. dominated) eigenspace U + of the matrix φ + (M) (resp. φ + (M)) such that U + U and has a dimension r + r. Then the matrix L + has the size r + r + and shares r desired and r + r extraneous eigenvalues with the matrix M. For example, in numerical real eigen-solving the eigenspace U + is associated with all real and nearly real eigenvalues of M, and having them approximated we can readily select among them the r real eigenvalues. In the next sections we describe some algorithms for computing the matrix functions φ(m) and φ(m) at Stages 1 of Algorithms 3.1 and 3.3. 4 The computation of the dominant eigenspaces by means of repeated squaring, shifts and inversions 4.1 Repeated squaring in the Frobenius algebra with simplified recovery of the eigenvalues Theorem 2.3 for φ(m) = M k implies that for a diagonalizable matrix M and sufficiently large integers k, the matrices M k have dominant eigenspace U associated with the set of the absolutely largest eigenvalues of M. For a fixed or random real or complex shift s we can write M 0 = M si and compute M0 2h in h squarings, M h+1 = a h M 2 h, a h 1/ M h 2 for h = 0, 1,... (4.1) 5

Suppose M is a real diagonalizable matrix with simple eigenvalues and h is a reasonably large integer. Then with probability 1 the dominant eigenspace U of M h has dimension 1 for random nonreal shifts s and has dimension 1 or 2 for a random real s. If the matrix M has a single absolutely largest eigenvalue of multiplicity m or has a cluster of m simple absolutely largest eigenvalues, then the associated eigenspace of dimension m is dominant for the matrix M h and a reasonably large integer h. As in the case of Algorithm 3.2, the column space of the product M h G for a random well conditioned n m matrix G is expected to approximate this eigenspace. For M = C p we can follow [13] and apply the FFT-based algorithms that support Fact 2.1 to perform every squaring and every multiplication in O(n log n) flops. The bottleneck of that paper and its amelioration in [45] is the recovery of the roots of p(x) at the end of the squaring process where λ j λ k for j k. The paper [45] relieves some difficulties of [13] by employing approximations to the roots of p (x), p (x), etc., but these techniques are still too close to the symbolic recovery methods of the paper [13], which operates with polynomials and does not employ numerical linear algebra. In contrast Algorithms 3.1 and 3.3 reduce the computation of the r eigenvalues of a selected subset of the spectrum Λ(M) to eigen-solving for the r r matrix L, and this is simple where r is a small integer. Now replace M 0 in (4.1) by M 0 = (M σi) 1 for a fixed complex σ. Then the above algorithms approximate the dominant eigenspace of the matrix M h for a large integer h and the associated set of the eigenvalues of M, which are the nearest to the point σ. E.g., this is the set of the absolutely smallest eigenvalues where σ = 0. For M = C p we can alternatively write M 0 = C prev(x σ) in (4.1) to replace the inversion of the shifted companion matrix with Taylor s shift of the variable x of the polynomial p(x) and the reversion of the order of its coefficients. 4.2 Approximation of the real eigenvalues: basic results Next we map the complex plane to transform the real line into the unit circle {z : z = 1} and then apply repeated squaring, which maps the unit circle into itself and sends the image of any nonreal eigenvalue of the input matrix towards 0 or, thus ensuring desired isolation of the images. Fact 4.1. Write λ = u + v 1, µ = (λ + 1)(λ 1) 1, β k = 1(µ k + 1) µ k 1 (4.2) for a positive integer k. Then (a) β 0 = λ = (b) 1(µ+1) µ 1, µ = n(λ) d(λ) for n(λ) = u2 + v 2 1 + 2u 1 and d(λ) = u 2 + (v 1) 2, and consequently (c) µ 2 = (v2 1) 2 +(u 2 +2v 2 +1)u 2 (u 2 +(v 1) 2 ) 2, (d) (e) µ = 1 if and only if λ is real. Furthermore β k = n k(λ) d k (λ) for n k (λ) = ( ) k/2 k g=0 ( 1)g 2g g=0 λ k 2g and k/2 ( ) d k (λ) = ( 1) g+1 k λ h 2g 1. 2g + 1 Fact 4.1 implies that the transform λ µ maps the real line onto the unit circle C 1 = {µ : µ = 1}. Powering of the value µ keeps this circle in place, whereas the transform µ k β k moves it back to the real line. Furthermore values µ k converge to 0 for µ < 1 and to + for µ > 1 as k. Therefore for large k the transform µ k β k sends the images of the nonreal values λ into some neubourhood of the values 1 and 1. Then the transform β k γ k = β 2 k + 1 sends these images into the neighborhood of the origin, whereas the real eigenvalues β k are moved into 6

the real values γ k 1. This enables the desired domination of the images of the real eigenvalues of the matrix M over the images of its nonreal eigenvalues. We can recover the eigenvalues λ k of the matrix M as soon as we approximate their eigenspaces shared with the eigenspaces associated with the eigenvalues γ k of the matrices where and in particular M 1 = M, whereas 2M 2 = M M 1. Q k = M 2 k + I n (4.3) P = (M + I n 1)(M In 1) 1, (4.4) M k = 1(P k + I n )(P k I n ) 1, (4.5) Corollary 4.1. Suppose that an n n matrix M has exactly s eigenpairs {λ j, U j }, j = 1,..., s, and does not have eigenvalues ± 1. Assume the equations of Fact 4.1 as well as equations (4.3) (4.5). Furthermore write β j,k = n k/2 k(λ j ) d k (λ j ), n ( ) k/2 k(λ j ) = ( 1) g k ( ) λ k 2g 2g j, d k (λ j ) = ( 1) g+1 k λ k 2g 1 2g + 1 j, g=0 and µ j = (λ j + 1)(λ j 1) 1 for j = 1,..., s. Then M k = n k (M)(d k (M)) 1 where k/2 ( ) k/2 n k (M) = ( 1) g k ( ) M k 2g, d 2g k (M) = ( 1) g+1 k M h 2g 1, 2g + 1 g=0 and the matrices Q k = M 2 k + I n of (4.3) have the eigenpairs {{β j,k, U j }, j = 1,..., s} where β j,k are real and β k 1 if λ j is real, β j,k 0 as k unless λ j is real. 4.3 Approximation of the real eigenvalues: the algorithm The corollary suggests setting φ(m) = Q k in Algorithm 3.1 where the integers k are sufficiently large. We can apply repeated squaring to compute high powers P k. In numerical implementation we should apply scaling to avoid large norms P k q. Below is an algorithm that implements this approach by using only two matrix inversions; this is much less than in iteration (5.5). The algorithm works for a large class of inputs M, although it can fail for harder inputs M, which have many real and nearly real eigenvalues, but also have some other nonreal eigenvalues. The heuristic choice g=0 v = 0, w = 1, t R(trace(M)), a = t n, and M = M + ti n (4.6) tends to push the values µ away from 1 on the average input, motivating application of the algorithm to the input matrix M rather than M, although this shift can strongly push the value µ toward 1 for the worst case input. Note that trace(m) is a real value where M is a real matrix. Algorithm 4.1. Mapping the real line onto the unit circle and repeated squaring Input: a real n n matrix M, whose real and nearly real eigenvalues are associated with an unknown eigenspace U + having an unknown dimension r + n. Output: FAILURE or a matrix Û such that R(Û) U +. Initialization: Fix sufficiently large tolerances τ and h +, fix real a, t, v, and w and the matrix M of (4.6). Computations: g=0 7

1. Compute the matrices P = (a M + I n 1)(a M In 1) 1 (cf. Corollary 4.1) and P 2g for g = 1, 2,..., h + 1 until P 2h+1 q > τ for a fixed q (e.g., for q = 1 or q = ) or until h h +. 2. Compute matrix M k of Corollary 4.1 for k = 2 h+. 3. Apply Algorithm 3.2 to the matrix φ = Q k and the integer r = n to output an n r matrix basis for the strongly dominant eigenspace Û of F. 4. Output FAILURE if Algorithm 3.2 fails, which would mean that the matrix φ = Q k has no strongly dominant eigenspace of dimension r + < n. Remark 4.1. We can compute the matrix P k for a sufficiently large integer k = 2 h+ to ensure isolation of the images of real and nearly real eigenvalues of M from the images of its other eigenvalues and then, as an alternative to the application of Algorithm 3.2 at Stage 3, we can apply the Rayleigh Quotient Iteration to the matrix P k to approximate the associated eigenspace shared by the matrices P k and M. Remark 4.2. We can modify Stage 4 to compute an integer h + iteratively, according to a fixed policy: we can begin with a small h +, then increase it, and reapply the algorithm if the computations fail. Alternatively we can estimate the integer h + a priori if we estimate the absolute values of all eigenvalues of the matrix P by computing its Gerschgörin discs [20, page 320], [54, page 39] (see also the end of the Appendix). 4.4 Modification by using the Möbius transform In an alternative iteration we begin in the same way as Algorithm 4.1 but interrupt repeated squaring by applying the scaled Möbius transform P k P k + P k instead of the maps P M k of (4.5) and M k Q k = M 2 k + I n of (4.3). The scaled Möbius transform moves the images of all real eigenvalues of the matrix M from the unit circle C 1 into the real line interval [ 2, 2], whereas for reasonably large integers k it moves the other eigenvalues into the exterior of the disc D 8/3 (0). (Namely the map M P k moves the nonreal eigenvalues of the matrix M towards 0 or and thus for reasonably large integers k moves them into the exterior of the annulus A 1/3,3 (0) = {x : 1/3 x 3}, which the scaled Möbius transform P k P k + P k moves into the exterior of the disc D 8/3 (0).) Consequently by using the map M P k + P k we isolate from one another the two sets of the real and nonreal eigenvalues of the input companion matrix M. Then we make the eigenspace associated with real eigenvalues of the matrix M dominated or dominant simply by squaring reasonably many times the matrix P k + P k or its inverse, respectively, and then it remains to apply Algorithm 3.3 (respectively 3.1) to approximate these eigenvalues. The images of some real eigenvalues of the matrix M dominated by the images of other of them would be lost numerically due to rounding errors unless we apply orthogonalization or deflation. Next we prove the stated properties of this combination of the maps of Fact 4.1, repeated squaring, and the Möbius transform. Fact 4.2. (Cf. Fact 4.1 for a = 1.) Write µ = (λ + 1)(λ 1) 1. (4.7) Then (a) λ = 1(µ 1)/(µ + 1), (b) µ = 1 if and only if λ is real and (c) µ k = µ k + µ k = ( ) k 2k g=0 ( 1)g λ 2g 2k 2g (λ 2 + 1) k for k = 1, 2,.... (In particular µ 1 = λ2 1 λ 2 +1, whereas µ 2 = λ4 6λ 2 +1 (λ 2 +1).) 2 Fact 4.3. Assume µ of (4.7) and a nonnegative integer k. Then µ = 1 and 2 µ k + µ k 2 if λ is real, whereas µ k + µ k as k otherwise. 8

Corollary 4.2. Assume that an n n matrix M has exactly s eigenpairs {λ j, U j }, j = 1,..., s, and does not have eigenvalues ± 1. By extending (4.4) and (4.7), write P = (M + I n 1)(M In 1) 1 = (M I n 1) 1 (M + I n 1), T k = P k + P k = k ( ) ( 1) g 2k M k 2g (M 2 + 1) k, (4.8) 2g g=0 µ j = (λ j + 1)(λ j 1) 1, k ( ) ( 1) g 2k 2g µ j,k = µ k j + µ k j = g=0 λ k 2g j (λ 2 j + 1) k for k = 1, 2,... (In particular T 1 = 2(I n M 2 )(I n + M 2 ) 1 = 2I n 4(I n + M 2 ) 1, whereas T 2 = (M 4 6M 2 + I n )(M 2 + I n ) 2 = (M 2 + I n ) 2 (M 4 6M 2 + I n ).) Then M = 1(P I n )(P + I n ) 1 = 1(P + I n ) 1 (P I n ), λ j = 1(µ j 1)/(µ j + 1) for j = 1,..., s, and the matrices T k have the eigenpairs {{µ j,k, U j }, j = 1,..., s} where 2 µ j,k 2 if λ j is real, µ j,k as h unless λ j is a real value. 5 The computation of the dominant eigenspaces by approximating the matrix sign function 5.1 The matrix sign function: definition and basic properties Definition 5.1. For two real numbers x 0 and y, the function sign(x + y 1) is equal to 1 if x > 0 and is equal to 1 if x < 0. Definition 5.2. (See [23].) Let A = ZJZ 1 be a Jordan canonical decomposition of an n n matrix A where J = diag(j, J + ), J is a p p matrix and all its p diagonal entries have negative real parts, whereas J + is a q q matrix and all its q diagonal entries have positive real parts. Then sign(a) = Z diag( I p, I q )Z 1. Equivalently sign(a) = A(A 2 ) 1/2 or sign(a) = 2 π A 0 (t2 I n + A 2 ) 1 dt. Definition 5.3. Assume the matrices A = ZJZ 1, J and J + above, except that n = p + q + r and J = diag(j, J 0, J + ) for a r r matrix J 0 whose all r diagonal entries have real parts 0. Then fix some r r real diagonal matrix D r, e.g., D r = O r,r, and define a generalized matrix sign function sign(a) by writing sign(a) = Z diag( I p, D r 1, Iq )Z 1. We have the following simple but basic results. Theorem 5.1. Assume the generalized matrix sign function sign(a) defined for an n n matrix A = ZJZ 1. Then for some real r r diagonal matrix D r we have I n sign(a) = Z 1 diag(2i p, I r D r 1, Oq,q )Z, I n + sign(a) = Z 1 diag(o p,p, I r + D r 1, 2Iq )Z, I n sign(a) 2 = Z 1 diag(o p,p, I r + D 2 r, O q,q )Z. Corollary 5.1. Under the assumptions of Theorem 5.1 the matrix I n sign(a) 2 has dominant eigenspace of dimension r associated with the eigenvalues of the matrix A that lie on the imaginary axis IA = {λ : R(λ) = 0}, whereas the matrices I n sign(a) (resp. I n + sign(a)) have dominant eigenspaces associated with the eigenvalues of A that either lie on the left (resp. right) of the axis IA or lie on this axis and have nonzero images in I n sign(a) (resp. I n + sign(a)). 9

5.2 Eigen-solving by applying matrix sign approximation and Quad Tree construction Having the matrices A and φ(a) = I n sign(a) (resp. φ(a) = I n + sign(a)) available, we can apply Algorithm 3.1 to approximate all eigenvalues of the matrix A that lie either on the axis IA or on the left (resp. right) from it. The computed square matrices L have dimensions p + and q +, respectively, where p p + p+r and q q + q +r. For M = C p this means splitting out a degree factor of the polynomial p(x) having degree p + or q +. If this degree is large, we are likely to see dramatic growth of the coefficients, e.g., in the case where we split the polynomial x n + 1 into the product of two high degree factors, such that all roots of one of them have positive real parts. The problem does not arise, however, as long as we work with matrices and approximate the eigenspaces. The subdivision techniques (cf. [41]) enable us to deal with matrices whose sizes are decreased recursively, and we can stop when their eigenvalues are the roots of the small degree factors of the polynomial p(x), and so the coefficients of these factors are of the same order of magnitude as their roots. The approach relies on the following simple fact. Fact 5.1. Suppose U and V are two eigenspaces of A and Λ(U) and Λ(V) are the sets of the associated eigenvalues. Then Λ(U) Λ(V) is the set of the eigenvalues of A associated with the eigenspace U V. By computing the matrix sign function of the matrices αa σi for various selected pairs of complex scalars α and σ, we can define the eigenspace of the matrix A associated with the eigenvalues lying in a selected region on the complex plane bounded by straight lines, e.g., in any rectangle. In particular this supports the search policy widely known as Quad Tree Construction, proposed by H. Weyl in 1924 for polynomial root-finding. Strengthened by some modern techniques of numerical computing, Weyl s algorithm is practically promising and supports the record Boolean complexity estimates for approximating a single root of a univariate polynomial [41]. By including matrix inversions into these computations, we define the eigenvalue regions bounded by straight lines, their segments, circles and their arcs. 5.3 Iterative algorithms for computing the matrix sign function and their convergence [23, equations (6.17) (6.20)] define effective iterative algorithms for approximating the square root function B 1/2. One can readily extend them to approximating the matrix sign function sign(a) = A(A 2 ) 1/2. [23, Chapter 5] presents a number of effective iterative algorithms devised directly for the matrix sign function. Among them we recall Newton s iteration N 0 = A, N i+1 = 0.5(N i + α i N 1 i ), i = 0, 1,..., (5.1) based on the Möbius transform x (x + 1/x)/2, and the [2/0] Padé iteration N 0 = A, N i+1 = (15I n 10N 2 i + 3N 4 i )N i /8, i = 0, 1,... (5.2) Theorem 2.3 implies the following simple corollary. Corollary 5.2. Assume iterations (5.1) and (5.2) where neither of the matrices N i is singular. Let λ = λ (0) denote an eigenvalue of the matrix N 0 and define λ (i+1) = (λ (i) + (λ (i) ) 1 )/2 for i = 0, 1,..., (5.3) λ (i+1) = λ (i) (15 10(λ (i) ) 2 + 3(λ (i) ) 4 )/8, i = 0, 1,... (5.4) Then λ (i) Λ(N i ) for i = 1, 2,... provided the pairs {N i, λ (i) } are defined by the pairs of equations (5.1), (5.3) or (5.2), (5.4), respectively. Corollary 5.3. In iterations (5.3) and (5.4) the images λ (i) of an eigenvalue λ of the matrix N 0 for all i lie on the imaginary axis IA if so does λ. 10

By virtue of the following theorems, the sequences {λ (0), λ (1),... } defined by equations (5.3) and (5.4) converge to ±1 exponentially fast right from the start. The convergence is quadratic for sequence (5.3) where R(λ) 0 and cubic for sequence (5.4) where λ sign(λ) 1/2. Theorem 5.2. (See [23], [12, page 500].) Write λ = λ (0), δ = sign(λ) and γ = λ δ λ+δ. Assume (5.3) and R(λ) 0. Then λ (i) δ 2γ2i 1 γ 2i for i = 0, 1,.... Theorem 5.3. Write δ i = sign(λ (i) ) and γ i = λ (i) δ i for i = 0, 1,.... Assume (5.4) and γ 0 1/2. Then γ i 32 113 ( 113 128 )3i for i = 1, 2,... Proof. Complete the proof of [12, Proposition 4.1] by using the bound γ 0 0.5. First verify that γ i+1 = γi 3 3(λ(i) ) 2 +9λ (i) +8 /8 and therefore γ i+1 113 32 γ3 i for i = 0, 1,.... Now the claimed bounds follow by induction on i because γ 0 1/2. 5.4 Real versions of Newton s and Padé s iterations Having the matrix F (A) = I n sign(a) 2 available, we can apply Algorithm 3.1 to approximate the eigenvalues of the matrix A that lie on the axis IA, and we can devise real eigen-solvers for a real n n matrix M, based on applying these techniques to the matrix A = M 1. Next we modify this approach a little, to avoid involving nonreal values. We substitute N 0 = M in lieu of N 0 = A into matrix sign iterations (5.1) and (5.2) and equivalently rewrite them as follows, N 0 = M, N i+1 = 0.5(N i N 1 i ) for i = 0, 1,..., (5.5) N 0 = M, N i+1 = (3N 5 i + 10N 3 i + 15N i )/8 for i = 0, 1,.... (5.6) The matrices N i and the images λ (i) of every real eigenvalue λ of M are real for all i, whereas the results of Theorems 5.2 and 5.3 are immediately extended. The images of every nonreal point λ converge to the complex point sign(i(λ)) 1 with quadratic rate under (5.5) if R(λ) 0 and with cubic rate under (5.6) if λ D 1/2 (sign(i(λ)) 1). Under the maps M I n + Ni 2 for the matrices N i of the above iterations, the images 1 + (λ (i) ) 2 of nonreal eigenvalues λ of the matrix M converge to 0 as long as the iteration is initiated in its basin of convergence, whereas the images of a real point λ are real and are at least 1 for all i. Thus for sufficiently large integers i we yield strong domination of the eigenspace of the matrix N i associated with the images of the real eigenvalues of the matrix M. 5.5 Newton s iteration with shifts for real matrix sign function Iteration (5.5) fails where for some integer i the matrix N i is singular or nearly singular, that is has an eigenvalue equal to 0 or lying near 0, but then we can approximate this eigenvalue by applying the Rayleigh Quotient Iteration [20, Section 8.2.3], [9] or the Inverse Orthogonal Iteration [20, page 339]. If we seek other real eigenvalues as well, we can deflate the matrix M and apply Algorithm 3.1 to the resulting matrix of a smaller size. Alternatively we can apply it to the matrix N i + ρ i I n for a shift ρ i randomly generated in the range r ρ i r for a positive r. We choose the value r reasonably small and then can expect to avoid degeneracy and, by virtue of Theorems 5.2 and 5.3, to have the images of all nonreal eigenvalues of M still rapidly converging to a small neighborhood of the points ± 1, thus ensuring their isolation from the images of the real eigenvalues. 5.6 Controlling the norms in the [2/0] Padé iterations We have no singularity problem with iteration (5.6), but have numerical problems where the norms N i grow large. If the nonreal eigenvalues of the matrix N 0 lie in the union of the two discs D 1/2 (± 1), then their images also stay there by virtue of a simple extension of Theorem 5.3, and then the norms N i can be large only where some real eigenvalues of the matrices N i are absolutely large. 11

Now suppose the nonreal eigenvalues of the matrix M have been mapped into the union of the two discs D yi (± 1) for 0 < y i < 0.1. (One or two steps (5.6) move every µ D 1/2 (± 1) into the discs D yi (± 1), cf. Theorem 5.3.) Then the transformation N i N i (Ni 2 + 2I n ) 1 confronts excessive norm growth by mapping all real eigenvalues of N i into the range [ 4 1 2, 1 4 2] and mapping all nonreal eigenvalues of N i into the discs D wi (± 1) for w i 1+yi 1 2y i y 2 i. E.g., w i < 0.4 for y i = 0.1, whereas w i < 0.17 for y i = 0.05, and then single step (5.6) would more than compensate for such a minor dilation of the discs D yi (± 1) (see Theorem 5.3). 5.7 Moving real eigenvalues into Padé s basin of convergence Padé s iteration (5.6) is attractive because it avoids matrix inversions and has cubic rate of convergence, but it has a quite narrow basin of convergence, given by the union of the discs D 1/2 (± 1). We can readily extend the maps M P k for the matrix P of (4.4), however, to move all real eigenvalues of an input matrix M into this basin. Indeed for sufficiently large integers k this map moves all nonreal eigenvalues of the matrix M towards the points 0 and, while sending the real eigenvalues into the unit circle {z : z = 1}. The maps P k 0.1 T k ± 1 I for T k = P k + P k moves this unit circle into the discs D 0.2 ± 1, both lying in the basin of convergence of Padé s iteration (5.6), whereas this map moves the images of the nonreal eigenvalues of the input matrix M towards, that is keeps them outside this basin for reasonably large integers k. We can estimate the integer k = 2 h+ supporting the transforms into that basin if we estimate the absolute values of all eigenvalues of the matrix P. Towards this goal we can employ Gerschgörin discs [20, page 320], [54, page 39] (see also the end of the Appendix). 6 Numerical tests We performed a series of numerical tests in the Graduate Center of the City University of New York using a Dell server with a dual core 1.86 GHz Xeon processor and 2G memory running Windows Server 2003 R2. The test Fortran code was compiled with the GNU gfortran compiler within the Cygwin environment. We generated random numbers with the random number intrinsic Fortran function assuming the uniform probability distribution over the range {x : 0 x < 1}. To shift to the range {y : b y a + b} for fixed real a and b, we applied the linear transform x y = ax + b. We tested our algorithms for the approximation of the eigenvalues of n n companion matrix C p and of the shifted matrix C p si n defined by polynomials p(x) with random real coefficients for n = 64, 128, 256 and by random real s. For each class of matrices, each input size and each iterative algorithm we generated 100 input instances and run 100 tests. Our tables show the minimum, maximum, and average (mean) numbers of iteration loops in these runs (until convergence) as well as the standard deviations in the columns marked by min, max, mean, and std, respectively. We applied repeated squaring of Section 4 to the matrix C p si, where we used shifts s because polynomials p(x) with random real coefficients tend to have all roots near the circle C 1 (0) and consequently repeated squaring of C p advances towards eigen-solving very slowly. We applied real Newton s iteration (5.5) to approximate the matrix sign function for the matrix C p using no shifts. Then we applied Algorithm 3.1 to approximate real eigenvalues. In both groups of the tests we output roots with at least four correct decimals. In our next group of tests we output roots with at least three correct decimals. In these tests we applied real Padé iteration (5.6) without stabilization to the matrices produced by five Newton s steps (5.5). Table 6.1 displays the results of our tests of repeated squaring of Section 4. The first three lines show the dimension of the output subspace and the matrix L. The next three lines show the number of squarings performed until convergence. Table 6.2 displays the number of Newton s steps (5.5) performed until convergence. Table 6.4 covers the tests where we first performed five Newton s steps (5.5) followed by sufficiently many Padé steps (5.6) required for convergence. The first three lines of the table show the number of the Padé steps. The next three lines display the percent of the real roots of the polynomials p(x) that the algorithm computed with at least three correct decimals (compared to 12

the overall number of the real eigenvalues of L). The next three lines show the increased percent of computed roots when we refined the crude approximations by means of Rayleigh Quotient iteration. The iteration rapidly converged from all these initial approximations but in many cases to the same roots from distinct initial points. Table 6.1: Repeated Squaring n dimension/squarings min max mean std 64 dimension 1 10 5.31 2.79 128 dimension 1 10 3.69 2.51 256 dimension 1 10 4.25 2.67 64 squarings 6 10 7.33 0.83 128 squarings 5 10 7.37 1.16 256 squarings 5 11 7.13 1.17 Table 6.2: Newton s iteration (5.5). n min max mean std 64 7 11 8.25 0.89 128 8 11 9.30 0.98 256 9 13 10.22 0.88 Table 6.3: 5 N-steps (5.5) + P-steps (5.6) n P-steps or % min max mean std 64 P-steps 1 4 2.17 0.67 128 P-steps 1 4 2.05 0.63 256 P-steps 1 3 1.99 0.58 64 % w/o RQ steps 0 100 64 28 128 % w/o RQ steps 0 100 39 24 256 % w/o RQ steps 0 100 35 20 64 % w/rq steps 0 100 89 19 128 % w/rq steps 0 100 74 26 256 % w/rq steps 0 100 75 24 7 Conclusions While presenting a number of promising approaches we have only partly developed them to demonstrate their power and to motivate further research efforts. In some cases we skipped even some natural modifications. For example, recall Newton s iteration (5.1) for computing matrix sign function. If the norms of its two terms have different orders of magnitude, then the iteration degenerates due to rounding errors, and its convergence slows down. To avoid this problem we can apply scaling, that is, modify the iteration as follows, N 0 = A, N i+1 = 0.5(N i + α i N 1 i ), α i = N i / N 1 i, i = 0, 1,..., (7.1) and similarly we can modify the variant (5.5) of the iteration for real eigen-solving, 13

Table 6.4: 5 N-steps (5.5) + P-steps (5.6) n P-steps or % min max mean std 64 P-steps 2 8 4.26 1.19 128 P-steps 2 10 4.20 1.23 256 P-steps 2 6 4.24 1.22 64 % w/o RQ steps 0 100 67 26 128 % w/o RQ steps 0 100 43 24 256 % w/o RQ steps 0 100 33 23 64 % w/rq steps 0 100 87 21.3 128 % w/rq steps 0 100 87 20.5 256 % w/rq steps 0 100 88 21.5 N 0 = M, N i+1 = 0.5(N i α i N 1 i ) for α i = N i / N 1 i and i = 0, 1,.... (7.2) Empirically this scaling technique substantially improves convergence, which is an example of great many potential refinements of our algorithms. One can expect to see new advances of our approaches, e.g., based on more intricate maps of the complex plane. Another potential resource of further progress is the combination with other matrix eigen-solvers and polynomial root-finders, for example, a variant of the Lanczos algorithm for real eigen-solving, the Rayleigh Quotient iteration, and the subdivision and continued fraction methods of polynomial root-finding (see [17], [18], [27], [33], [55], [60], and the bibliography therein). Various symbolic techniques can supply auxiliary information for our computations (e.g., the number of real roots and their bounds) and can handle the inputs that are hard for our numerical treatment. Appendix A Variations that involve the characteristic polynomial In the case where M = C p is the companion matrix of a polynomial p(x), the monic characteristic polynomial c P (x) for the matrix P of (4.4) equals γ(x 1) n p( x+1 1 x 1 a ) = γ(x 1)n p(1 2 1 x 1 a ) for a scalar γ. We can obtain its coefficients by performing two shifts of the variable (see [43, Chapter 2] on this operation) and the single reversion of the polynomial coefficients. When this is done we can replace k repeated squarings of the matrix P with k steps of the Dandelin s root-squaring iteration, also attributed to some later works by Lobachevsky and Gräffe (see [21]), p i+1 (x) = ( 1) n p i ( x)p i ( x), i = 0, 1,..., k 1 (A.1) for p 0 (x) = c P (x). We have p i (x) = n j=1 (x λ2i j ), so that the ith iteration step squares the roots of the polynomial p i 1 (x) for every i. Every root-squaring step (A.1) essentially amounts to polynomial multiplication and can be performed in O(n log n) flops. One can improve numerical stability by applying modifications in [35], which use order of n 2 flops per iteration. Having computed the polynomial p k (x) for a sufficiently large integer k, we have its roots on the unit circle sufficiently well isolated from its other roots. The application of the algorithm of Section 4.4 to the matrix C pk, the companion matrix of this polynomial, yields its roots lying on the circle C 1 (they are the eigenvalues of the matrix C pk ). From these roots we can recover the roots µ of the polynomial c P (x) = p 0 (x) by means of the descending techniques of [37] (applied also in [38], [39], [44], and [49, Stage 8 of Algorithm 9.1]), and then can recover the real roots λ of the polynomial p(x) from the values µ by applying the expression in part (a) of Fact 4.1. In this approach we can readily approximate the eigenvalues of the matrix P from the origin as the root radii of the characteristic polynomial c P (x) = det(xi n P ). Indeed as long as we are given the coefficients we can approximate 14

all the root radii with relative errors of at most 1% by using O(n log n) flops (see [4], [8], [41], [44], [52]). Remark A.1. Having isolated the roots of p k (x) on the circle C 1 from its other roots, we can apply the algorithms of [29], [37], [38], [44], [52] to split out the factor f(x) sharing with the polynomial precisely all the roots that lie on the circle C 1. Then these roots can be moved into the real line and then readily approximated based on the Laguerre or modified Laguerre algorithms [36], [25], [15], [16], and [61]. Numerical problems can be caused by potentially dramatic growth of the coefficients of the polynomial p k (x) in the transition to the factor f(x) unless its degree is small. Acknowledgements: Our research has been supported by NSF Grant CCF 1116736 and PSC CUNY Awards 64512 0042 and 65792 0043. References [1] J. L. Aurentz, R. Vandebril, and D. S. Watkins, Fast computation of the zeros of a polynomial via factorization of the companion matrix, SIAM J. Sci. Comput., 35, 1, A255 A269, 2013. [2] E. T. Bell, The Development of Mathematics, McGraw-Hill, New York, 1940. [3] C. A. Boyer, A History of Mathematics, Wiley, New York, 1968. [4] D. A. Bini, Numerical Computation of Polynomial Zeros by Means of Aberth s Method, Numerical Algorithms, 13, 179 200, 1996. [5] D. A. Bini, P. Boito, Y. Eidelman, L. Gemignani, I. Gohberg, A Fast Implicit QR Algorithm for Companion Matrices, Linear Algebra and Its Applications, 432, 2006 2031, 2010. [6] Z. Bai, J. Demmel, J. Dongarra, A. Ruhe, H. van der Vorst, editors, Templates for the Solution of Algebraic Eigenvalue Problems: A Practical Guide, SIAM, Philadelphia, 2000. [7] D. A. Bini, F. Daddi, and L. Gemignani, On the Shifted QR Iteration Applied to Companion Matrices, Electronic Transactions on Numerical Analysis (ETNA), 18, 137 152, 2004. [8] D. A. Bini, G. Fiorentino, Design, Analysis, and Implementation of a Multiprecision Polynomial Rootfinder, Numerical Algorithms, 23, 127 173, 2000. [9] D. A. Bini, L. Gemignani, V. Y. Pan, Inverse Power and Durand/Kerner Iteration for Univariate Polynomial Root-finding, Computers and Mathematics (with Applications), 47, 2/3, 447 459, 2004. [10] D. A. Bini, L. Gemignani, V. Y. Pan, Algorithms for Generalized Companion Matrices and Secular Equation, Numerische Math. 3, 373 408, 2005. Also Technical Report 1470, Department of Math., University of Pisa, Pisa, Italy (July 2003). [11] D. A. Bini, L. Gemignani, V. Y. Pan, Improved Initialization of the Accelerated and Robust QR-like Polynomial Root-finding, Electronic Transactions on Numerical Analysis 17, 195 205, 2004. Proc. version in CASC 2004. [12] D. Bini, V. Y. Pan, Graeffe s, Chebyshev, and Cardinal s Processes for Splitting a Polynomial into Factors, J. Complexity, 12, 492 511, 1996. 15

[13] J. P. Cardinal, On Two Iterative Methods for Approximating the Roots of a Polynomial, Lectures in Applied Mathematics, 32 (Proceedings of AMS-SIAM Summer Seminar: Mathematics of Numerical Analysis: Real Number Algorithms (J. Renegar, M. Shub, and S. Smale, editors), Park City, Utah, 1995), 165 188, American Mathematical Society, Providence, Rhode Island, 1996. [14] F. Cajori, A History of Mathematics, 5/E, AMS Chelsea Publ., Providence, Rhode Island, 1999. [15] Q. Du, M. Jin, T. Y. Li, Z. Zeng, Quasi-Laguerre Iteration in Solving Symmetric Tridiagonal Eigenvalue Problems, SIAM J. Sci. Computing, 17, 6, 1347 1368, 1996. [16] Q. Du, M. Jin, T. Y. Li, Z. Zeng, The Quasi-Laguerre Iteration, Math. of Computation, 66, 217, 345 361, 1997. [17] A. Eigenwillig, V. Sharma, C. K. Yap, Almost Tight Recursion Tree Bounds for the Descartes Method, Proc. Int. Symp. on Symbolic and Algebraic Computation (ISSAC 2006), 71 78, ACM Press, New York, 2006. [18] I. Z. Emiris, B. Mourrain, E. Tsigaridas, Real Algebraic Numbers: Complexity Analysis and Experimentation, in RELIABLE IMPLEMENTATIONS OF REAL NUMBER ALGORITHMS: THEORY AND PRACTICE, LNCS, 5045, 57 82, Springer, 2008 (also available in www.inria.fr/rrrt/rr-5897.html). [19] M. Gu, S. C. Eisenstat, Efficient Algorithms for Computing a Strong Rank-Revealing QR Factorization, SIAM Journal on Scientific Computing, 17, 848 869, 1996. [20] G. H. Golub, C. F. Van Loan, Matrix Computations, Johns Hopkins University Press, Baltimore, Maryland, 1996 (third edition). [21] A. S. Householder, Dandelin, Lobachevskii, or Graeffe, American Mathematical Monthly 66, 464 466, 1959. [22] A. S. Householder, Generalization of an Algorithm by Sebastiao e Silva, Numerische Math.,, 16, 375 382, 1971. [23] N. J. Higham, Functions of Matrices: Theory and Computations, SIAM, Philadelphia, 2008. [24] Y. P. Hong, C.-T. Pan, Rank-Revealing QR Factorizations and the Singular Value Decomposition, Mathematics of Computation, 58, 197, 213-232, 1992. [25] E. Hansen, M. Patrick, J. Rusnack, Some Modification of Laguerre s Method, BIT, 17, 409 417, 1977. [26] J. Hubbard, D. Schleicher, S. Sutherland, How to Find All Roots of Complex Polynomials by Newton s Method, Invent. Math., 146, 1 33, 2001. [27] M. Hemmer, E.P. Tsigaridas, Z. Zafeirakopoulos, I. Z. Emiris, M. I. Karavelas, B. Mourrain, Experimental Evaluation and Cross-Benchmarking of Univariate Real Solvers, in Proc. International Symposium on Symbolic-Numerical Computations, (Kyoto, Japan, August 2009), (edited by Hiroshi Kai and Hiroshi Sekigawa), pp.105 113, ACM Press, New York, 2009. [28] R. J. Johnston, Gershgorin Theorems for Partitioned Matrices, Linear Algebra and Its Applications, 4, 205 220, 1971. [29] P. Kirrinnis, Polynomial Factorization and Partial Fraction Decomposition by Simultaneous Newton s Iteration, J. of Complexity, 14, 378 444, 1998. 16