Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed.,...

Post on 05-Aug-2020

7 views 0 download

Transcript of Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed.,...

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