fast computation of eigenvalues of companion comrade and
play

Fast computation of eigenvalues of companion, comrade, and related - PowerPoint PPT Presentation

Fast computation of eigenvalues of companion, comrade, and related matrices David S. Watkins Department of Mathematics Washington State University Providence, June 2013 David S. Watkins companion, comrade, and related matrices Collaborators


  1. How do we compute the eigenvalues? narrow band plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Francis’s bulge-chasing algorithm (“implicitly-shifted QR ”) O ( n 3 ) time, O ( n 2 ) space Is there a more economical approach? David S. Watkins companion, comrade, and related matrices

  2. How do we compute the eigenvalues? narrow band plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Francis’s bulge-chasing algorithm (“implicitly-shifted QR ”) O ( n 3 ) time, O ( n 2 ) space Is there a more economical approach? David S. Watkins companion, comrade, and related matrices

  3. How do we compute the eigenvalues? narrow band plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Francis’s bulge-chasing algorithm (“implicitly-shifted QR ”) O ( n 3 ) time, O ( n 2 ) space Is there a more economical approach? David S. Watkins companion, comrade, and related matrices

  4. How do we compute the eigenvalues? narrow band plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Francis’s bulge-chasing algorithm (“implicitly-shifted QR ”) O ( n 3 ) time, O ( n 2 ) space Is there a more economical approach? David S. Watkins companion, comrade, and related matrices

  5. How do we compute the eigenvalues? banded plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Exploit rank structure (generators) We pursue a different approach. David S. Watkins companion, comrade, and related matrices

  6. How do we compute the eigenvalues? banded plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Exploit rank structure (generators) We pursue a different approach. David S. Watkins companion, comrade, and related matrices

  7. How do we compute the eigenvalues? banded plus spike  × × × × × ×  × × ×     × × ×   A =   × × ×     × × ×   × × Exploit rank structure (generators) We pursue a different approach. David S. Watkins companion, comrade, and related matrices

  8. Fast Methods We have developed great methods that are . . . lightning fast unstable David S. Watkins companion, comrade, and related matrices

  9. Fast Methods We have developed great methods that are . . . lightning fast unstable David S. Watkins companion, comrade, and related matrices

  10. Fast Methods We have developed great methods that are . . . lightning fast unstable David S. Watkins companion, comrade, and related matrices

  11. A useful factorization (by Gaussian elimination) × × × × × ×   × ×   × ×     × ×   × ×   × × David S. Watkins companion, comrade, and related matrices

  12. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × × × × × × ×     × × × ×     =     × × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  13. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × 0 × × × × ×     × × × ×     =     × × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  14. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × × × �     � × × × × × × ×     =     × × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  15. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × × × �     � × × 0 × × × ×     =     × × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  16. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × × × �     � × × × ×     � =     � × × × × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  17. A useful factorization (by Gaussian elimination) × × × × × × × ×     � � × × × × �     � × × × ×     � =     � × × 0 × × ×     × × × ×     × × × × David S. Watkins companion, comrade, and related matrices

  18. A useful factorization (by Gaussian elimination)  × × × × × ×   × ×  � � × × × × �     � × × × × �     =     � × × × × ×      × ×   × ×  × × × × and so on . . . to (banded) triangular form. David S. Watkins companion, comrade, and related matrices

  19. A useful factorization (by Gaussian elimination) We get the factorization × ×   � � × × �   � × × �   A =   � × × �   �  × ×  � � × core transformations times banded upper triangular band width = length of recurrence David S. Watkins companion, comrade, and related matrices

  20. What core transformations look like       × × 1 1 � � × × × × 1 � =       � 1 × × × ×       � � 1 1 × × David S. Watkins companion, comrade, and related matrices

  21. Bulge Chasing Algorithm  × ×  � � × × �   � × × �   �   × × �   �  × ×  � � × We will develop a nonunitary bulge-chasing algorithm that preserves this factorization. Note: Storage is O ( n ) (about 6 n for this case). We have single-shift and double-shift variants. David S. Watkins companion, comrade, and related matrices

  22. Bulge Chasing Algorithm  × ×  � � × × �   � × × �   �   × × �   �  × ×  � � × We will develop a nonunitary bulge-chasing algorithm that preserves this factorization. Note: Storage is O ( n ) (about 6 n for this case). We have single-shift and double-shift variants. David S. Watkins companion, comrade, and related matrices

  23. Bulge Chasing Algorithm  × ×  � � × × �   � × × �   �   × × �   �  × ×  � � × We will develop a nonunitary bulge-chasing algorithm that preserves this factorization. Note: Storage is O ( n ) (about 6 n for this case). We have single-shift and double-shift variants. David S. Watkins companion, comrade, and related matrices

  24. Bulge Chasing Algorithm  × ×  � � × × �   � × × �   �   × × �   �  × ×  � � × We will develop a nonunitary bulge-chasing algorithm that preserves this factorization. Note: Storage is O ( n ) (about 6 n for this case). We have single-shift and double-shift variants. David S. Watkins companion, comrade, and related matrices

  25. Bulge Chasing Algorithm (single-shift variant) × ×   � � × × �   � × × �     � × × �   �  × ×  � � × David S. Watkins companion, comrade, and related matrices

  26. Bulge Chasing Algorithm (single-shift variant) × ×   � � � � � � × × �   � × × �     � × × �   �  × ×  � � × David S. Watkins companion, comrade, and related matrices

  27. Bulge Chasing Algorithm (single-shift variant) × ×   � � � � × × �   � × × �     � × × �   �  × ×  � � × David S. Watkins companion, comrade, and related matrices

  28. Passing Gauss transform through triangular matrix Blue core transformations are Gauss transforms. � × � × � × × � × � × � � = � = � × × × × × � × × × × × We do this at every opportunity. From this point on, we suppress the triangular matrix. David S. Watkins companion, comrade, and related matrices

  29. Passing Gauss transform through triangular matrix Blue core transformations are Gauss transforms. � × � × � × × � × � × � � = � = � × × × × × � × × × × × We do this at every opportunity. From this point on, we suppress the triangular matrix. David S. Watkins companion, comrade, and related matrices

  30. Passing Gauss transform through triangular matrix Blue core transformations are Gauss transforms. � × � × � × × � × � × � � = � = � × × × × × � × × × × × We do this at every opportunity. From this point on, we suppress the triangular matrix. David S. Watkins companion, comrade, and related matrices

  31. Bulge Chasing Algorithm (single-shift variant) × ×   � � � � × × �   � × × �     � × × �   �  × ×  � � × David S. Watkins companion, comrade, and related matrices

  32. Bulge Chasing Algorithm (single-shift variant) × ×   � � � � × × �   � × × �     � × × �   �  × ×  � � × David S. Watkins companion, comrade, and related matrices

  33. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  34. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  35. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  36. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  37. Turnover operation Can we do this? � � � � � � ⇔ � � � � � � crucial question Pessimistic answer: No! (not always) Optimistic answer: Yes! (almost always) David S. Watkins companion, comrade, and related matrices

  38. Turnover operation Can we do this? � � � � � � ⇔ � � � � � � crucial question Pessimistic answer: No! (not always) Optimistic answer: Yes! (almost always) David S. Watkins companion, comrade, and related matrices

  39. Turnover operation Can we do this? � � � � � � ⇔ � � � � � � crucial question Pessimistic answer: No! (not always) Optimistic answer: Yes! (almost always) David S. Watkins companion, comrade, and related matrices

  40. Turnover operation Can we do this? � � � � � � ⇔ � � � � � � crucial question Pessimistic answer: No! (not always) Optimistic answer: Yes! (almost always) David S. Watkins companion, comrade, and related matrices

  41. Turnover operation � × � × × × � × × � � � � � � � = = × × × × × × � � 0 × × × × × Red submatrix still has rank one. David S. Watkins companion, comrade, and related matrices

  42. Turnover operation � × � × × × � × × � � � � � � � = = × × × × × × � � 0 × × × × × Red submatrix still has rank one. David S. Watkins companion, comrade, and related matrices

  43. Turnover operation So . . . � × � × × × � × × � � = = � × × × × × × � � � � � � × × × 0 × × Gauss transform does not disturb 2 × 2 submatrix. David S. Watkins companion, comrade, and related matrices

  44. Turnover operation So . . . � × � × × × � × × � � = = � × × × × × × � � � � � � × × × 0 × × Gauss transform does not disturb 2 × 2 submatrix. David S. Watkins companion, comrade, and related matrices

  45. Turnover operation So . . . � × � × × × � × × � � = = � × × × × × × � � � � � � × × × 0 × × Gauss transform does not disturb 2 × 2 submatrix. David S. Watkins companion, comrade, and related matrices

  46. Turnover operation Complete turnover looks like this: � � � � � = � � � � � � � David S. Watkins companion, comrade, and related matrices

  47. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  48. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  49. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  50. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  51. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  52. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  53. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  54. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  55. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  56. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  57. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  58. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � David S. Watkins companion, comrade, and related matrices

  59. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � Done! Now repeat again, again, and again David S. Watkins companion, comrade, and related matrices

  60. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � Done! Now repeat again, again, and again David S. Watkins companion, comrade, and related matrices

  61. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � Done! Now repeat again, again, and again David S. Watkins companion, comrade, and related matrices

  62. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � Done! Now repeat again, again, and again David S. Watkins companion, comrade, and related matrices

  63. Bulge Chasing Algorithm (single-shift variant) � � � � � � � � � � Done! Now repeat again, again, and again David S. Watkins companion, comrade, and related matrices

  64. Computational complexity O ( n ) storage (everything in cache) O ( n ) flops per iteration O ( n ) iterations O ( n 2 ) flops total David S. Watkins companion, comrade, and related matrices

  65. Computational complexity O ( n ) storage (everything in cache) O ( n ) flops per iteration O ( n ) iterations O ( n 2 ) flops total David S. Watkins companion, comrade, and related matrices

  66. Computational complexity O ( n ) storage (everything in cache) O ( n ) flops per iteration O ( n ) iterations O ( n 2 ) flops total David S. Watkins companion, comrade, and related matrices

  67. Computational complexity O ( n ) storage (everything in cache) O ( n ) flops per iteration O ( n ) iterations O ( n 2 ) flops total David S. Watkins companion, comrade, and related matrices

  68. Computational complexity O ( n ) storage (everything in cache) O ( n ) flops per iteration O ( n ) iterations O ( n 2 ) flops total David S. Watkins companion, comrade, and related matrices

  69. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  70. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  71. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  72. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  73. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  74. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  75. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  76. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  77. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  78. Stability issue This is a structured, implicitly-shifted LR algorithm. Unstable! Can we trust the results? No, but we can do a posteriori tests. � ( λ I − A ) v � = | p ( λ ) | | p ( λ ) p ′ ( λ ) | is estimate of error. Newton correction Cost: O ( n 2 ) flops for n roots. David S. Watkins companion, comrade, and related matrices

  79. Performance First example: companion matrices, complex, single-shift code Contestants ( O ( n 3 )) LAPACK code ZHSEQR BBEGG (quasiseparable, unitary) AVW our code David S. Watkins companion, comrade, and related matrices

Recommend


More recommend