francis's algorithm as a core-chasing algorithm · fundamentals of matrix computations, 3rd...
TRANSCRIPT
Francis’s Algorithm as a Core-Chasing Algorithm
David S. Watkins
Department of MathematicsWashington State University
PNWNAS, November 12, 2016
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
Today’s Topic
The matrix eigenvalue problem
A ∈ Cn×n
Find the eigenvalues (. . . vectors, invariant subspaces)
Many applications
Interest dates back to the very beginning of the electroniccomputing era.
Nobody knew how to do it.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm, bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm, bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm, bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm, bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm,
bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
John Francis
invented the winning algorithm in 1959.
commonly called: QR algorithm
more precisely: implicitly shifted QR algorithm
better yet: Francis’s algorithm, bulge-chasing algorithm.
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
upper Hessenberg form
A =
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
unitary similarity transformation
direct method (O(n3) flops)
Francis: Iterate
Drive toward triangular form.
(Galois theory)
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
upper Hessenberg form
A =
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
unitary similarity transformation
direct method (O(n3) flops)
Francis: Iterate
Drive toward triangular form.
(Galois theory)
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
upper Hessenberg form
A =
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
unitary similarity transformation
direct method (O(n3) flops)
Francis: Iterate
Drive toward triangular form.
(Galois theory)
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
upper Hessenberg form
A =
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
unitary similarity transformation
direct method (O(n3) flops)
Francis: Iterate
Drive toward triangular form.
(Galois theory)
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
upper Hessenberg form
A =
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
unitary similarity transformation
direct method (O(n3) flops)
Francis: Iterate
Drive toward triangular form.
(Galois theory)
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗+ ∗ ∗ ∗ ∗
∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗+ ∗ ∗ ∗
∗ ∗
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗+ ∗ ∗
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
iteration complete!
repeated iterations ⇒ triangular form
This is the single-shift algorithm.
Double-shift algorithm chases a bigger bulge.
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
iteration complete!
repeated iterations ⇒ triangular form
This is the single-shift algorithm.
Double-shift algorithm chases a bigger bulge.
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
iteration complete!
repeated iterations ⇒ triangular form
This is the single-shift algorithm.
Double-shift algorithm chases a bigger bulge.
David S. Watkins Core-Chasing Algorithm
Francis’s algorithm (superficial description)
Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
iteration complete!
repeated iterations ⇒ triangular form
This is the single-shift algorithm.
Double-shift algorithm chases a bigger bulge.
David S. Watkins Core-Chasing Algorithm
Computational Cost
Computational Cost
O(n2) flops per iteration
O(n) total iterations
O(n3) total flops
David S. Watkins Core-Chasing Algorithm
For details see . . .
Golub and Van Loan, Matrix Computations, 4th Ed.
Watkins, Fundamentals of Matrix Computations, 3rd Ed.
David S. Watkins Core-Chasing Algorithm
For details see . . .
Golub and Van Loan, Matrix Computations, 4th Ed.
Watkins, Fundamentals of Matrix Computations, 3rd Ed.
David S. Watkins Core-Chasing Algorithm
For details see . . .
Golub and Van Loan, Matrix Computations, 4th Ed.
Watkins, Fundamentals of Matrix Computations, 3rd Ed.
David S. Watkins Core-Chasing Algorithm
For details see . . .
Golub and Van Loan, Matrix Computations, 4th Ed.
Watkins, Fundamentals of Matrix Computations, 3rd Ed.
David S. Watkins Core-Chasing Algorithm
My History with this Topic
Understanding the QR algorithm, SIAM Rev., 1982
Fundamentals of Matrix Computations, Wiley, 1991
Some perspectives on the eigenvalue problem, 1993
QR-like algorithms—an overview of convergence theory andpractice, AMS proceedings, 1996
QR-like algorithms for eigenvalue problems, JCAM, 2000
The Matrix Eigenvalue Problem: GR and Krylov SubspaceMethods, SIAM, 2007
The QR algorithm revisited, SIAM Rev., 2008
Fundamentals of Matrix Computations, 3rd Ed., 2010
Francis’s Algorithm, Amer. Math. Monthly, 2011
. . . but we’re still not done!
David S. Watkins Core-Chasing Algorithm
My History with this Topic
Understanding the QR algorithm, SIAM Rev., 1982
Fundamentals of Matrix Computations, Wiley, 1991
Some perspectives on the eigenvalue problem, 1993
QR-like algorithms—an overview of convergence theory andpractice, AMS proceedings, 1996
QR-like algorithms for eigenvalue problems, JCAM, 2000
The Matrix Eigenvalue Problem: GR and Krylov SubspaceMethods, SIAM, 2007
The QR algorithm revisited, SIAM Rev., 2008
Fundamentals of Matrix Computations, 3rd Ed., 2010
Francis’s Algorithm, Amer. Math. Monthly, 2011
. . . but we’re still not done!
David S. Watkins Core-Chasing Algorithm
My History with this Topic
Understanding the QR algorithm, SIAM Rev., 1982
Fundamentals of Matrix Computations, Wiley, 1991
Some perspectives on the eigenvalue problem, 1993
QR-like algorithms—an overview of convergence theory andpractice, AMS proceedings, 1996
QR-like algorithms for eigenvalue problems, JCAM, 2000
The Matrix Eigenvalue Problem: GR and Krylov SubspaceMethods, SIAM, 2007
The QR algorithm revisited, SIAM Rev., 2008
Fundamentals of Matrix Computations, 3rd Ed., 2010
Francis’s Algorithm, Amer. Math. Monthly, 2011
. . . but we’re still not done!
David S. Watkins Core-Chasing Algorithm
My History with this Topic
Understanding the QR algorithm, SIAM Rev., 1982
Fundamentals of Matrix Computations, Wiley, 1991
Some perspectives on the eigenvalue problem, 1993
QR-like algorithms—an overview of convergence theory andpractice, AMS proceedings, 1996
QR-like algorithms for eigenvalue problems, JCAM, 2000
The Matrix Eigenvalue Problem: GR and Krylov SubspaceMethods, SIAM, 2007
The QR algorithm revisited, SIAM Rev., 2008
Fundamentals of Matrix Computations, 3rd Ed., 2010
Francis’s Algorithm, Amer. Math. Monthly, 2011
. . . but we’re still not done!
David S. Watkins Core-Chasing Algorithm
My History with this Topic
Understanding the QR algorithm, SIAM Rev., 1982
Fundamentals of Matrix Computations, Wiley, 1991
Some perspectives on the eigenvalue problem, 1993
QR-like algorithms—an overview of convergence theory andpractice, AMS proceedings, 1996
QR-like algorithms for eigenvalue problems, JCAM, 2000
The Matrix Eigenvalue Problem: GR and Krylov SubspaceMethods, SIAM, 2007
The QR algorithm revisited, SIAM Rev., 2008
Fundamentals of Matrix Computations, 3rd Ed., 2010
Francis’s Algorithm, Amer. Math. Monthly, 2011
. . . but we’re still not done!
David S. Watkins Core-Chasing Algorithm
Our International Research Group
This is joint work with
Jared Aurentz (Oxford)
Thomas Mach (KU Leuven)
Raf Vandebril (KU Leuven)
David S. Watkins Core-Chasing Algorithm
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
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
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
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
A new look at an old algorithm
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
��
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗∗ ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
�
��
�
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗0 ∗ ∗∗ ∗
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
�
��
��
�
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗0 ∗ ∗
0 ∗
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
�
��
��
�
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗0 ∗ ∗
0 ∗
Def: Core Transformation
Now invert the core transformationsto move them to the other side.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
�
��
��
�
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗0 ∗ ∗
0 ∗
Def: Core Transformation
Now invert the core transformationsto move them to the other side.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
��
�
��
��
�
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗
0 ∗ ∗ ∗0 ∗ ∗
0 ∗
Def: Core Transformation
Now invert the core transformationsto move them to the other side.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
����
����
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗
A = QR
Q =
����
����
Q requires only O(n) storage space.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
����
����
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗
A = QR
Q =
����
����
Q requires only O(n) storage space.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗
=
����
����
∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗
A = QR
Q =
����
����
Q requires only O(n) storage space.
David S. Watkins Core-Chasing Algorithm
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
A new look at an old algorithm
Cost
Most arithmetic in passing-through operation
O(n2) flops per iteration . . .
O(n3) total flops . . .
about the same as for standard Francis iteration.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
Cost
Most arithmetic in passing-through operation
O(n2) flops per iteration . . .
O(n3) total flops . . .
about the same as for standard Francis iteration.
David S. Watkins Core-Chasing Algorithm
A new look at an old algorithm
Cost
Most arithmetic in passing-through operation
O(n2) flops per iteration . . .
O(n3) total flops . . .
about the same as for standard Francis iteration.
David S. Watkins Core-Chasing Algorithm
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
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
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
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
Unitary Case
A = QR =��
����
∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration, O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration,
O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration, O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration, O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration, O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Unitary Case
A = QR =��
����
Cost is O(n) flops per iteration, O(n2) flops total.
Storage requirement is O(n).
Gragg (1986)
Ammar, Reichel, M. Stewart, Bunse-Gerstner, Elsner, He, W,. . .
David S. Watkins Core-Chasing Algorithm
Companion Case
p(x) = xn + an−1xn−1 + an−2x
n−2 + · · ·+ a0 = 0
monic polynomial
companion matrix
A =
0 · · · 0 −a01 0 · · · 0 −a1
1. . .
......
. . . 0 −an−2
1 −an−1
. . . get the zeros of p by computing the eigenvalues.
MATLAB’s roots command
David S. Watkins Core-Chasing Algorithm
Companion Case
p(x) = xn + an−1xn−1 + an−2x
n−2 + · · ·+ a0 = 0
monic polynomial
companion matrix
A =
0 · · · 0 −a01 0 · · · 0 −a1
1. . .
......
. . . 0 −an−2
1 −an−1
. . . get the zeros of p by computing the eigenvalues.
MATLAB’s roots command
David S. Watkins Core-Chasing Algorithm
Companion Case
p(x) = xn + an−1xn−1 + an−2x
n−2 + · · ·+ a0 = 0
monic polynomial
companion matrix
A =
0 · · · 0 −a01 0 · · · 0 −a1
1. . .
......
. . . 0 −an−2
1 −an−1
. . . get the zeros of p by computing the eigenvalues.
MATLAB’s roots command
David S. Watkins Core-Chasing Algorithm
Companion Case
p(x) = xn + an−1xn−1 + an−2x
n−2 + · · ·+ a0 = 0
monic polynomial
companion matrix
A =
0 · · · 0 −a01 0 · · · 0 −a1
1. . .
......
. . . 0 −an−2
1 −an−1
. . . get the zeros of p by computing the eigenvalues.
MATLAB’s roots command
David S. Watkins Core-Chasing Algorithm
Cost of solving companion eigenvalue problem
If structure not exploited:
O(n2) storage, O(n3) flopsFrancis’s algorithm
If structure exploited:
O(n) storage, O(n2) flopsdata-sparse representation + Francis’s algorithmseveral methods proposed
David S. Watkins Core-Chasing Algorithm
Cost of solving companion eigenvalue problem
If structure not exploited:
O(n2) storage, O(n3) flopsFrancis’s algorithm
If structure exploited:
O(n) storage, O(n2) flopsdata-sparse representation + Francis’s algorithmseveral methods proposed
David S. Watkins Core-Chasing Algorithm
Cost of solving companion eigenvalue problem
If structure not exploited:
O(n2) storage, O(n3) flopsFrancis’s algorithm
If structure exploited:
O(n) storage, O(n2) flopsdata-sparse representation + Francis’s algorithm
several methods proposed
David S. Watkins Core-Chasing Algorithm
Cost of solving companion eigenvalue problem
If structure not exploited:
O(n2) storage, O(n3) flopsFrancis’s algorithm
If structure exploited:
O(n) storage, O(n2) flopsdata-sparse representation + Francis’s algorithmseveral methods proposed
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster,
and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Some of the Competitors
Chandrasekaran, Gu, Xia, Zhu (2007)
Bini, Boito, Eidelman, Gemignani, Gohberg (2010)
Boito, Eidelman, Gemignani, Gohberg (2012)
Fortran codes available
evidence of backward stability
quasiseparable generator representation
We will do something else.
Our method is faster, and we can prove backward stability.
David S. Watkins Core-Chasing Algorithm
Structure
Companion matrix is unitary-plus-rank-one0 · · · 0 11 0
. . ....
1 0
+
0 · · · 0 −a0 − 10 0 −a1...
......
0 · · · 0 −an−1
We exploit this structure.
David S. Watkins Core-Chasing Algorithm
Structure
Companion matrix is unitary-plus-rank-one0 · · · 0 11 0
. . ....
1 0
+
0 · · · 0 −a0 − 10 0 −a1...
......
0 · · · 0 −an−1
We exploit this structure.
David S. Watkins Core-Chasing Algorithm
Structure
. . . but we store the QR decomposed form
A = QR
=
0 · · · 0 11 0
. . ....
1 0
1 0 · · · −a11 −a2
. . ....−a0
=
����
. . . ��
1 0 · · · −a1
1 −a2. . .
...−a0
David S. Watkins Core-Chasing Algorithm
Structure
. . . but we store the QR decomposed form
A = QR
=
0 · · · 0 11 0
. . ....
1 0
1 0 · · · −a11 −a2
. . ....−a0
=
����
. . . ��
1 0 · · · −a1
1 −a2. . .
...−a0
David S. Watkins Core-Chasing Algorithm
Structure
. . . but we store the QR decomposed form
A = QR
=
0 · · · 0 11 0
. . ....
1 0
1 0 · · · −a11 −a2
. . ....−a0
=
����
. . . ��
1 0 · · · −a1
1 −a2. . .
...−a0
David S. Watkins Core-Chasing Algorithm
Structure
How do we store R compactly?
R is unitary-plus-rank one.
Adjoin a row and column for wiggle room. (not obvious)
R̂ =
1 −a1 0
. . ....
...1 −an−1 0−a0 1
0 0
=
1 0 0
. . ....
...1 0 0
0 1
1 0
+
0 −a1 0
. . ....
...0 −an−1 0−a0 0
−1 0
David S. Watkins Core-Chasing Algorithm
Structure
How do we store R compactly?
R is unitary-plus-rank one.
Adjoin a row and column for wiggle room. (not obvious)
R̂ =
1 −a1 0
. . ....
...1 −an−1 0−a0 1
0 0
=
1 0 0
. . ....
...1 0 0
0 1
1 0
+
0 −a1 0
. . ....
...0 −an−1 0−a0 0
−1 0
David S. Watkins Core-Chasing Algorithm
Structure
How do we store R compactly?
R is unitary-plus-rank one.
Adjoin a row and column for wiggle room. (not obvious)
R̂ =
1 −a1 0
. . ....
...1 −an−1 0−a0 1
0 0
=
1 0 0
. . ....
...1 0 0
0 1
1 0
+
0 −a1 0
. . ....
...0 −an−1 0−a0 0
−1 0
David S. Watkins Core-Chasing Algorithm
Structure
How do we store R compactly?
R is unitary-plus-rank one.
Adjoin a row and column for wiggle room. (not obvious)
R̂ =
1 −a1 0
. . ....
...1 −an−1 0−a0 1
0 0
=
1 0 0
. . ....
...1 0 0
0 1
1 0
+
0 −a1 0
. . ....
...0 −an−1 0−a0 0
−1 0
David S. Watkins Core-Chasing Algorithm
Structure
How do we store R compactly?
R is unitary-plus-rank one.
Adjoin a row and column for wiggle room. (not obvious)
R̂ =
1 −a1 0
. . ....
...1 −an−1 0−a0 1
0 0
=
1 0 0
. . ....
...1 0 0
0 1
1 0
+
0 −a1 0
. . ....
...0 −an−1 0−a0 0
−1 0
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PT R̂P
R̂ = U + xyT , where
xyT =
−a1
...− an−1
−a0−1
[
0 · · · 0 1 0]
Next step: Roll up x .
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PT R̂P
R̂ = U + xyT , where
xyT =
−a1
...− an−1
−a0−1
[
0 · · · 0 1 0]
Next step: Roll up x .
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PT R̂P
R̂ = U + xyT , where
xyT =
−a1
...− an−1
−a0−1
[
0 · · · 0 1 0]
Next step: Roll up x .
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PT R̂P
R̂ = U + xyT , where
xyT =
−a1
...− an−1
−a0−1
[
0 · · · 0 1 0]
Next step: Roll up x .
David S. Watkins Core-Chasing Algorithm
Representation of R
xxxx
=
xxxx
C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)
David S. Watkins Core-Chasing Algorithm
Representation of R
��
xxxx
=
xxx0
C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)
David S. Watkins Core-Chasing Algorithm
Representation of R
����
xxxx
=
xx00
C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)
David S. Watkins Core-Chasing Algorithm
Representation of R
����
��
xxxx
=
x000
C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)
David S. Watkins Core-Chasing Algorithm
Representation of R
����
��
xxxx
=
x000
C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary)
so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
C1 · · ·Cn−1Cnx = e1
Cx = e1
C ∗e1 = x
R̂ = U + xyT = U + C ∗e1yT = C ∗(CU + e1y
T )
R̂ = C ∗(B + e1yT )
B is upper Hessenberg (and unitary) so B = B1 · · ·Bn.
R = PTC ∗(B + e1yT )P = PTC ∗
n · · ·C ∗1 (B1 · · ·Bn + e1y
T )P
O(n) storage
Bonus: Redundancy! No need to keep track of y .
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PTC ∗n · · ·C ∗
1 (B1 · · ·Bn + e1yT )P
=
��
�
��
��
�
��
����
��
+ · · ·
David S. Watkins Core-Chasing Algorithm
Representation of R
R = PTC ∗n · · ·C ∗
1 (B1 · · ·Bn + e1yT )P
=
��
�
��
��
�
��
����
��
+ · · ·
David S. Watkins Core-Chasing Algorithm
Representation of A
Altogether we have
A = QR
=
����
��
��
�
��
��
�
��
����
��
+ · · ·
David S. Watkins Core-Chasing Algorithm
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 Core-Chasing Algorithm
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 Core-Chasing Algorithm
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 Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
� �� ���
��
��
�
��
��
�
� ���
��
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
� �� ���
��
��
�
��
��
�
� ���
��
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
� ���
��
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
� ���
��
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
��
��� �
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
��
��� �
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
��
�� �
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
��
�� �
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
� ���
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
� ���
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
� ���
��
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
� ���
��
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
��
��� �
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
��
��� �
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
��� ��
��
���
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
���
��
�� ���
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
� ��
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
�� �
��
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
��� ��
��
�
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
���
��
�� �
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
����
� ���
��
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
����
��
��� �
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�� �
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
� ��
��
��
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
� �� �
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
� �� �
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
The Core Chase
����
��
��
�
��
��
�
����
����
David S. Watkins Core-Chasing Algorithm
Done!
iteration complete!
Cost: 3n turnovers/iteration, so O(n) flops/iteration
Double-shift iteration is similar.
(Chase two core transformations instead of one.)
David S. Watkins Core-Chasing Algorithm
Done!
iteration complete!
Cost: 3n turnovers/iteration, so O(n) flops/iteration
Double-shift iteration is similar.
(Chase two core transformations instead of one.)
David S. Watkins Core-Chasing Algorithm
Done!
iteration complete!
Cost: 3n turnovers/iteration, so O(n) flops/iteration
Double-shift iteration is similar.
(Chase two core transformations instead of one.)
David S. Watkins Core-Chasing Algorithm
Performance
100
101
102
103
104
105
10−5
10−4
10−3
10−2
10−1
100
101
102
103
degree
tim
e (
se
co
nd
s)
LAPACK
BEGG
AMVW
David S. Watkins Core-Chasing Algorithm
Performance
At degree 1000
method time
LAPACK 7.2
BEGG 1.2
AMVW 0.2
David S. Watkins Core-Chasing Algorithm
See our paper for . . .
Paper in SIAM J. Matrix Anal. Appl. has
. . . more timings,
. . . accuracy comparisons,
. . . proof of backward stability.
David S. Watkins Core-Chasing Algorithm
See our paper for . . .
Paper in SIAM J. Matrix Anal. Appl. has
. . . more timings,
. . . accuracy comparisons,
. . . proof of backward stability.
David S. Watkins Core-Chasing Algorithm
See our paper for . . .
Paper in SIAM J. Matrix Anal. Appl. has
. . . more timings,
. . . accuracy comparisons,
. . . proof of backward stability.
David S. Watkins Core-Chasing Algorithm
See our paper for . . .
Paper in SIAM J. Matrix Anal. Appl. has
. . . more timings,
. . . accuracy comparisons,
. . . proof of backward stability.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary case
unitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)
efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm
Summary
We took a new look at Francis’s algorithm
considered QR decomposed form
We demonstrated some advantages.
unitary caseunitary-plus-rank-one case (companion)efficient cache use (not demonstrated today)
Thank you for your attention.
David S. Watkins Core-Chasing Algorithm