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

189
Francis’s 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

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

Page 1: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 2: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 3: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 4: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 5: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 6: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 7: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 8: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 9: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 10: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 11: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 12: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 13: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 14: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 15: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 16: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 17: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 18: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 19: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 20: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Francis’s algorithm (superficial description)

Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 21: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Francis’s algorithm (superficial description)

Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗+ ∗ ∗ ∗ ∗

∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 22: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Francis’s algorithm (superficial description)

Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗+ ∗ ∗ ∗

∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 23: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Francis’s algorithm (superficial description)

Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗+ ∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 24: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Francis’s algorithm (superficial description)

Chasing the bulge ∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 25: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 26: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 27: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 28: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 29: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Computational Cost

Computational Cost

O(n2) flops per iteration

O(n) total iterations

O(n3) total flops

David S. Watkins Core-Chasing Algorithm

Page 30: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

For details see . . .

Golub and Van Loan, Matrix Computations, 4th Ed.

Watkins, Fundamentals of Matrix Computations, 3rd Ed.

David S. Watkins Core-Chasing Algorithm

Page 31: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

For details see . . .

Golub and Van Loan, Matrix Computations, 4th Ed.

Watkins, Fundamentals of Matrix Computations, 3rd Ed.

David S. Watkins Core-Chasing Algorithm

Page 32: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

For details see . . .

Golub and Van Loan, Matrix Computations, 4th Ed.

Watkins, Fundamentals of Matrix Computations, 3rd Ed.

David S. Watkins Core-Chasing Algorithm

Page 33: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

For details see . . .

Golub and Van Loan, Matrix Computations, 4th Ed.

Watkins, Fundamentals of Matrix Computations, 3rd Ed.

David S. Watkins Core-Chasing Algorithm

Page 34: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 35: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 36: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 37: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 38: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 39: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 40: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 41: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 42: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 43: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 44: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 45: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

��∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 46: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

��

��

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗

0 ∗ ∗ ∗∗ ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 47: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

��

��

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗

0 ∗ ∗ ∗0 ∗ ∗∗ ∗

David S. Watkins Core-Chasing Algorithm

Page 48: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

��

��

��

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

∗ ∗ ∗ ∗ ∗0 ∗ ∗ ∗ ∗

0 ∗ ∗ ∗0 ∗ ∗

0 ∗

David S. Watkins Core-Chasing Algorithm

Page 49: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 50: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 51: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 52: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

����

����

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗

A = QR

Q =

����

����

Q requires only O(n) storage space.

David S. Watkins Core-Chasing Algorithm

Page 53: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

����

����

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗

A = QR

Q =

����

����

Q requires only O(n) storage space.

David S. Watkins Core-Chasing Algorithm

Page 54: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

A new look at an old algorithm

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗

=

����

����

∗ ∗ ∗ ∗ ∗∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗

A = QR

Q =

����

����

Q requires only O(n) storage space.

David S. Watkins Core-Chasing Algorithm

Page 55: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 56: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 57: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 58: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 59: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 60: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 61: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 62: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 63: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 64: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 65: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 66: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 67: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 68: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 69: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 70: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 71: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 72: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 73: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 74: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 75: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 76: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 77: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 78: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 79: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 80: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 81: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 82: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 83: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 84: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 85: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 86: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Unitary Case

A = QR =��

����

∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗

David S. Watkins Core-Chasing Algorithm

Page 87: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Unitary Case

A = QR =��

����

∗ ∗ ∗ ∗∗ ∗ ∗∗ ∗∗

David S. Watkins Core-Chasing Algorithm

Page 88: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Unitary Case

A = QR =��

����

David S. Watkins Core-Chasing Algorithm

Page 89: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 90: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 91: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 92: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 93: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 94: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 95: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 96: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 97: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 98: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 99: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 100: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 101: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 102: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 103: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 104: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 105: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 106: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 107: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 108: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 109: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 110: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 111: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 112: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 113: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 114: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 115: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 116: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 117: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 118: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 119: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 120: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 121: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 122: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 123: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 124: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

xxxx

=

xxxx

C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)

David S. Watkins Core-Chasing Algorithm

Page 125: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

��

xxxx

=

xxx0

C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)

David S. Watkins Core-Chasing Algorithm

Page 126: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

����

xxxx

=

xx00

C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)

David S. Watkins Core-Chasing Algorithm

Page 127: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

����

��

xxxx

=

x000

C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)

David S. Watkins Core-Chasing Algorithm

Page 128: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

����

��

xxxx

=

x000

C1 · · ·Cn−1Cnx = αe1 (w.l.g. α = 1)

David S. Watkins Core-Chasing Algorithm

Page 129: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 130: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 131: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 132: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 133: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 134: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 135: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 136: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 137: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 138: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

R = PTC ∗n · · ·C ∗

1 (B1 · · ·Bn + e1yT )P

=

��

��

��

��

����

��

+ · · ·

David S. Watkins Core-Chasing Algorithm

Page 139: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of R

R = PTC ∗n · · ·C ∗

1 (B1 · · ·Bn + e1yT )P

=

��

��

��

��

����

��

+ · · ·

David S. Watkins Core-Chasing Algorithm

Page 140: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Representation of A

Altogether we have

A = QR

=

����

��

��

��

��

��

����

��

+ · · ·

David S. Watkins Core-Chasing Algorithm

Page 141: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 142: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 143: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 144: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 145: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

� �� ���

��

��

��

��

� ���

��

����

David S. Watkins Core-Chasing Algorithm

Page 146: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

� �� ���

��

��

��

��

� ���

��

����

David S. Watkins Core-Chasing Algorithm

Page 147: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

� ���

��

����

David S. Watkins Core-Chasing Algorithm

Page 148: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

� ���

��

����

David S. Watkins Core-Chasing Algorithm

Page 149: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

��

��� �

����

David S. Watkins Core-Chasing Algorithm

Page 150: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

��

��� �

����

David S. Watkins Core-Chasing Algorithm

Page 151: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

�� �

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 152: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

�� �

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 153: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

� ���

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 154: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

� ���

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 155: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

� ���

��

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 156: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

� ���

��

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 157: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

��

��� �

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 158: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

��

��� �

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 159: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

��� ��

��

���

David S. Watkins Core-Chasing Algorithm

Page 160: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

���

��

�� ���

David S. Watkins Core-Chasing Algorithm

Page 161: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

� ��

����

����

David S. Watkins Core-Chasing Algorithm

Page 162: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

�� �

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 163: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

��� ��

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 164: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

���

��

�� �

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 165: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

����

� ���

��

David S. Watkins Core-Chasing Algorithm

Page 166: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

����

��

��� �

David S. Watkins Core-Chasing Algorithm

Page 167: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

�� �

����

����

David S. Watkins Core-Chasing Algorithm

Page 168: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

� ��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 169: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

� �� �

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 170: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

� �� �

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 171: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 172: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

The Core Chase

����

��

��

��

��

����

����

David S. Watkins Core-Chasing Algorithm

Page 173: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 174: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 175: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 176: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 177: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

Performance

At degree 1000

method time

LAPACK 7.2

BEGG 1.2

AMVW 0.2

David S. Watkins Core-Chasing Algorithm

Page 178: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 179: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 180: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 181: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 182: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 183: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 184: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 185: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 186: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 187: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 188: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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

Page 189: Francis's Algorithm as a Core-Chasing Algorithm · Fundamentals of Matrix Computations, 3rd Ed., 2010 Francis’s Algorithm, Amer. Math. Monthly, 2011...but we’re still not done!

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