francis s algorithm as a core chasing algorithm
play

Franciss Algorithm as a Core-Chasing Algorithm David S. Watkins - PowerPoint PPT Presentation

Franciss Algorithm as a Core-Chasing Algorithm David S. Watkins Department of Mathematics Washington State University PNWNAS, November 12, 2016 David S. Watkins Core-Chasing Algorithm Todays Topic David S. Watkins Core-Chasing


  1. A new look at an old algorithm Store in QR decomposed form A = QR Q is unitary, R is upper triangular looks inefficient! but it’s not! David S. Watkins Core-Chasing Algorithm

  2. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗      =     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗      ∗ ∗ ∗  ∗ ∗ ∗  ∗ ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  3. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗      =     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗      ∗ ∗ ∗  ∗ ∗ ∗  ∗ ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  4. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗      ∗ ∗ ∗  ∗ ∗ ∗  ∗ ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  5. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     � 0  ∗ ∗ ∗  ∗ ∗  ∗ ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  6. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     � 0  ∗ ∗ ∗  ∗ ∗  � � 0 ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  7. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     � 0  ∗ ∗ ∗  ∗ ∗  � � 0 ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  8. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     � 0  ∗ ∗ ∗  ∗ ∗  � � 0 ∗ ∗ ∗ Def: Core Transformation David S. Watkins Core-Chasing Algorithm

  9. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � 0 ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  = 0     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     � 0  ∗ ∗ ∗  ∗ ∗  � � 0 ∗ ∗ ∗ Def: Core Transformation Now invert the core transformations to move them to the other side. David S. Watkins Core-Chasing Algorithm

  10. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �      = �     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  ∗ ∗ ∗  ∗ ∗  � � ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  11. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �      = �     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  ∗ ∗ ∗  ∗ ∗  � � ∗ ∗ ∗ A = QR David S. Watkins Core-Chasing Algorithm

  12. A new look at an old algorithm     ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ �      = �     ∗ ∗ ∗ ∗ ∗ ∗ ∗ �     �  ∗ ∗ ∗  ∗ ∗  � � ∗ ∗ ∗ A = QR � � � Q = � � � � � Q requires only O ( n ) storage space. David S. Watkins Core-Chasing Algorithm

  13. A new look at an old algorithm Manipulating core transformations David S. Watkins Core-Chasing Algorithm

  14. A new look at an old algorithm Manipulating core transformations Fusion � � � ⇒ � � � David S. Watkins Core-Chasing Algorithm

  15. A new look at an old algorithm Manipulating core transformations Fusion � � � ⇒ � � � Turnover (aka shift through, Givens swap, . . . ) � � � � � � ⇔ � � � � � � David S. Watkins Core-Chasing Algorithm

  16. A new look at an old algorithm Manipulating core transformations Fusion � � � ⇒ � � � Turnover (aka shift through, Givens swap, . . . ) � � � � � � ⇔ � � � � � � Passing a core transformation through a triangular matrix (cost O ( n ))       ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗  �  ⇔ � � ⇔       � +  ∗ ∗  ∗ ∗  ∗ ∗  ∗ ∗ ∗ David S. Watkins Core-Chasing Algorithm

  17. A new look at an old algorithm David S. Watkins Core-Chasing Algorithm

  18. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  19. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � � � � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  20. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � � � � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  21. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  22. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  23. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  24. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ � �   � �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  25. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ � �   � �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  26. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �  �   � �  ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  27. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ � �   � �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  28. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ � �   � �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  29. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � � � ∗ David S. Watkins Core-Chasing Algorithm

  30. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � � � ∗ David S. Watkins Core-Chasing Algorithm

  31. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � � � ∗ David S. Watkins Core-Chasing Algorithm

  32. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � � � ∗ David S. Watkins Core-Chasing Algorithm

  33. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � � � ∗ David S. Watkins Core-Chasing Algorithm

  34. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  35. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �   ∗ ∗ � � ∗ David S. Watkins Core-Chasing Algorithm

  36. A new look at an old algorithm Francis’s algorithm on the QR decomposed form (a core chasing algorithm)   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ �   �  ∗ ∗  � � ∗ Done! David S. Watkins Core-Chasing Algorithm

  37. A new look at an old algorithm Cost David S. Watkins Core-Chasing Algorithm

  38. A new look at an old algorithm Cost Most arithmetic in passing-through operation David S. Watkins Core-Chasing Algorithm

  39. A new look at an old algorithm Cost Most arithmetic in passing-through operation O ( n 2 ) flops per iteration . . . O ( n 3 ) total flops . . . about the same as for standard Francis iteration. David S. Watkins Core-Chasing Algorithm

  40. A new look at an old algorithm Are there any advantages? David S. Watkins Core-Chasing Algorithm

  41. A new look at an old algorithm Are there any advantages? unitary case David S. Watkins Core-Chasing Algorithm

  42. A new look at an old algorithm Are there any advantages? unitary case companion case (unitary-plus-rank-one) David S. Watkins Core-Chasing Algorithm

  43. A new look at an old algorithm Are there any advantages? unitary case companion case (unitary-plus-rank-one) general case: efficient cache use David S. Watkins Core-Chasing Algorithm

  44. Unitary Case David S. Watkins Core-Chasing Algorithm

  45. Unitary Case   ∗ ∗ ∗ ∗ � � ∗ ∗ ∗ � A = QR =   �  ∗ ∗  � � ∗ David S. Watkins Core-Chasing Algorithm

  46. Unitary Case � � � A = QR = � � � David S. Watkins Core-Chasing Algorithm

  47. Unitary Case � � � A = QR = � � � David S. Watkins Core-Chasing Algorithm

  48. Unitary Case � � � A = QR = � � � Cost is O ( n ) flops per iteration, David S. Watkins Core-Chasing Algorithm

  49. Unitary Case � � � A = QR = � � � Cost is O ( n ) flops per iteration, O ( n 2 ) flops total. David S. Watkins Core-Chasing Algorithm

  50. Unitary Case � � � A = QR = � � � Cost is O ( n ) flops per iteration, O ( n 2 ) flops total. Storage requirement is O ( n ). David S. Watkins Core-Chasing Algorithm

  51. Unitary Case � � � A = QR = � � � Cost is O ( n ) flops per iteration, O ( n 2 ) flops total. Storage requirement is O ( n ). Gragg (1986) David S. Watkins Core-Chasing Algorithm

  52. Unitary Case � � � A = QR = � � � Cost is O ( n ) flops per iteration, O ( n 2 ) flops total. Storage requirement is O ( n ). Gragg (1986) Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W, . . . David S. Watkins Core-Chasing Algorithm

  53. Companion Case David S. Watkins Core-Chasing Algorithm

  54. Companion Case p ( x ) = x n + a n − 1 x n − 1 + a n − 2 x n − 2 + · · · + a 0 = 0 monic polynomial David S. Watkins Core-Chasing Algorithm

  55. Companion Case p ( x ) = x n + a n − 1 x n − 1 + a n − 2 x n − 2 + · · · + a 0 = 0 monic polynomial companion matrix   0 0 − a 0 · · · 1 0 0 − a 1 · · ·    . .  ... . .   A = 1 . .    ...   0  − a n − 2   1 − a n − 1 . . . get the zeros of p by computing the eigenvalues. David S. Watkins Core-Chasing Algorithm

  56. Companion Case p ( x ) = x n + a n − 1 x n − 1 + a n − 2 x n − 2 + · · · + a 0 = 0 monic polynomial companion matrix   0 0 − a 0 · · · 1 0 0 − a 1 · · ·    . .  ... . .   A = 1 . .    ...   0  − a n − 2   1 − a n − 1 . . . get the zeros of p by computing the eigenvalues. MATLAB’s roots command David S. Watkins Core-Chasing Algorithm

  57. Cost of solving companion eigenvalue problem David S. Watkins Core-Chasing Algorithm

  58. Cost of solving companion eigenvalue problem If structure not exploited: O ( n 2 ) storage, O ( n 3 ) flops Francis’s algorithm David S. Watkins Core-Chasing Algorithm

Recommend


More recommend