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