Fast Stable Computation of the Eigenvalues of Companion Matrices - PowerPoint PPT Presentation
Fast Stable Computation of the Eigenvalues of Companion Matrices David S. Watkins Department of Mathematics Washington State University Spa, Belgium, 2014 David S. Watkins Eigenvalues of Companion Matrices Collaborators This is joint work
The Unitary Part x x x x x x 1 1 1 x x x x x x x x = x x x 1 x x x x x x 1 1 x x � � � Q = � � � O ( n ) storage David S. Watkins Eigenvalues of Companion Matrices
The Unitary Part x x x x x x 1 1 1 x x x x x x x x = x x x 1 x x x x x x 1 1 x x � � � Q = � � � O ( n ) storage David S. Watkins Eigenvalues of Companion Matrices
The Upper Triangular Part R = U + xy T unitary-plus-rank-one, so R has quasiseparable rank 2. x · · · x x · · · x . . . ... . . . . . . x x x · · · R = x x · · · . ... . . x quasiseparable generator representation ( O ( n ) storage) Chandrasekaran et. al. exploit this structure. We do it differently. David S. Watkins Eigenvalues of Companion Matrices
The Upper Triangular Part R = U + xy T unitary-plus-rank-one, so R has quasiseparable rank 2. x · · · x x · · · x . . . ... . . . . . . x x x · · · R = x x · · · . ... . . x quasiseparable generator representation ( O ( n ) storage) Chandrasekaran et. al. exploit this structure. We do it differently. David S. Watkins Eigenvalues of Companion Matrices
The Upper Triangular Part R = U + xy T unitary-plus-rank-one, so R has quasiseparable rank 2. x · · · x x · · · x . . . ... . . . . . . x x x · · · R = x x · · · . ... . . x quasiseparable generator representation ( O ( n ) storage) Chandrasekaran et. al. exploit this structure. We do it differently. David S. Watkins Eigenvalues of Companion Matrices
The Upper Triangular Part R = U + xy T unitary-plus-rank-one, so R has quasiseparable rank 2. x · · · x x · · · x . . . ... . . . . . . x x x · · · R = x x · · · . ... . . x quasiseparable generator representation ( O ( n ) storage) Chandrasekaran et. al. exploit this structure. We do it differently. David S. Watkins Eigenvalues of Companion Matrices
The Upper Triangular Part R = U + xy T unitary-plus-rank-one, so R has quasiseparable rank 2. x · · · x x · · · x . . . ... . . . . . . x x x · · · R = x x · · · . ... . . x quasiseparable generator representation ( O ( n ) storage) Chandrasekaran et. al. exploit this structure. We do it differently. David S. Watkins Eigenvalues of Companion Matrices
Our Representation Add a row/column for extra wiggle room 0 1 − a 0 1 − a 1 0 . . ... . . A = . . 1 0 − a n − 1 0 0 Extra zero root can be deflated immediately. A = QR , where 0 ± 1 0 1 0 − a 1 . . ... 1 0 0 . . . . . . ... . . Q = R = . . 1 − a n − 1 0 1 0 0 ∓ 1 ± a 0 0 1 0 0 David S. Watkins Eigenvalues of Companion Matrices
Our Representation Add a row/column for extra wiggle room 0 1 − a 0 1 − a 1 0 . . ... . . A = . . 1 0 − a n − 1 0 0 Extra zero root can be deflated immediately. A = QR , where 0 ± 1 0 1 0 − a 1 . . ... 1 0 0 . . . . . . ... . . Q = R = . . 1 − a n − 1 0 1 0 0 ∓ 1 ± a 0 0 1 0 0 David S. Watkins Eigenvalues of Companion Matrices
Our Representation 0 ± 1 0 1 0 0 . . ... . . Q = . . 1 0 0 0 1 Q is stored in factored form � � � Q = � � � Q = Q 1 Q 2 · · · Q n − 1 David S. Watkins Eigenvalues of Companion Matrices
Our Representation 0 ± 1 0 1 0 0 . . ... . . Q = . . 1 0 0 0 1 Q is stored in factored form � � � Q = � � � Q = Q 1 Q 2 · · · Q n − 1 David S. Watkins Eigenvalues of Companion Matrices
Our Representation 1 0 − a 1 . . ... . . . . R = 1 − a n − 1 0 ∓ 1 ± a 0 0 0 R is unitary-plus-rank-one: 1 0 0 0 − a 1 0 . . . . ... ... . . . . . . . . + 1 0 0 0 0 − a n − 1 0 ∓ 1 ± a 0 0 ± 1 0 ∓ 1 0 David S. Watkins Eigenvalues of Companion Matrices
Representation of R R = U + xy T , where − a 1 . . . xy T = � � 0 0 1 0 · · · − a n − 1 ± a 0 ∓ 1 Next step: Roll up x . David S. Watkins Eigenvalues of Companion Matrices
Representation of R R = U + xy T , where − a 1 . . . xy T = � � 0 0 1 0 · · · − a n − 1 ± a 0 ∓ 1 Next step: Roll up x . David S. Watkins Eigenvalues of Companion Matrices
Representation of R R = U + xy T , where − a 1 . . . xy T = � � 0 0 1 0 · · · − a n − 1 ± a 0 ∓ 1 Next step: Roll up x . David S. Watkins Eigenvalues of Companion Matrices
Representation of R x x x x = x x x x David S. Watkins Eigenvalues of Companion Matrices
Representation of R x x x x = x x � � x 0 David S. Watkins Eigenvalues of Companion Matrices
Representation of R x x x x � = � 0 x � � x 0 David S. Watkins Eigenvalues of Companion Matrices
Representation of R x x � � x 0 � = � 0 x � � x 0 David S. Watkins Eigenvalues of Companion Matrices
Representation of R x x � � 0 x � = � x 0 � � 0 x C 1 · · · C n − 1 C n x = α e 1 (w.l.g. α = 1) David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of R C 1 · · · C n − 1 C n x = e 1 Cx = e 1 C ∗ e 1 = x R = U + xy T = U + C ∗ e 1 y T = C ∗ ( CU + e 1 y T ) R = C ∗ ( B + e 1 y T ) B is upper Hessenberg (and unitary) so B = B 1 · · · B n . R = C ∗ ( B + e 1 y T ) = C ∗ 1 ( B 1 · · · B n + e 1 y T ) n · · · C ∗ O ( n ) storage Bonus: Redundancy! No need to keep track of y . David S. Watkins Eigenvalues of Companion Matrices
Representation of A Altogether we have A = QR = Q C ∗ ( B + e 1 y T ) 1 ( B 1 · · · B n + e 1 y T ) A = Q 1 · · · Q n − 1 C ∗ n · · · C ∗ � � � � � � � � � � � � + · · · � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Francis Iterations We have complex single-shift code . . . real double-shift code. We describe single-shift case for simplicity. ignoring rank-one part . . . � � � � � � � � � A = � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Francis Iterations We have complex single-shift code . . . real double-shift code. We describe single-shift case for simplicity. ignoring rank-one part . . . � � � � � � � � � A = � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Francis Iterations We have complex single-shift code . . . real double-shift code. We describe single-shift case for simplicity. ignoring rank-one part . . . � � � � � � � � � A = � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Two Basic Operations Two basic operations: Fusion � � � ⇒ � � � Turnover (aka shift through, Givens swap, . . . ) � � � � � � ⇔ � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Two Basic Operations Two basic operations: Fusion � � � ⇒ � � � Turnover (aka shift through, Givens swap, . . . ) � � � � � � ⇔ � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Two Basic Operations Two basic operations: Fusion � � � ⇒ � � � Turnover (aka shift through, Givens swap, . . . ) � � � � � � ⇔ � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
The Bulge Chase � � � � � � � � � � � � � � � � � � � � � � David S. Watkins Eigenvalues of Companion Matrices
Done! iteration complete! Cost: 3 n turnovers/iteration, so O ( n ) flops/iteration Double-shift iteration is similar. (Chase two core transformations instead of one.) David S. Watkins Eigenvalues of Companion Matrices
Done! iteration complete! Cost: 3 n turnovers/iteration, so O ( n ) flops/iteration Double-shift iteration is similar. (Chase two core transformations instead of one.) David S. Watkins Eigenvalues of Companion Matrices
Done! iteration complete! Cost: 3 n turnovers/iteration, so O ( n ) flops/iteration Double-shift iteration is similar. (Chase two core transformations instead of one.) David S. Watkins Eigenvalues of Companion Matrices
Speed Comparison, Complex Case Contestants ( O ( n 3 )) LAPACK code ZHSEQR BEGG (Boito et. al. 2012) AMVW (our single-shift code) David S. Watkins Eigenvalues of Companion Matrices
Speed Comparison, Complex Case 3 10 LAPACK BEGG 2 10 AMVW 1 10 0 10 time (seconds) −1 10 −2 10 −3 10 −4 10 −5 10 0 1 2 3 4 5 10 10 10 10 10 10 degree David S. Watkins Eigenvalues of Companion Matrices
Speed Comparison, Complex Case At degree 1024: method time LAPACK 7.14 BEGG 1.02 AMVW 0.18 David S. Watkins Eigenvalues of Companion Matrices
Speed Comparison, Real Case Results similar for double-shift code . . . . . . but we’re only about twice as fast as the competition. (compared with Chandrasekaran et. al.) David S. Watkins Eigenvalues of Companion Matrices
Recommend
More recommend
Explore More Topics
Stay informed with curated content and fresh updates.