Forward Stability and Transmission of Shifts in the $QR$ Algorithm

  • Authors:
  • David S. Watkins

  • Affiliations:
  • -

  • Venue:
  • SIAM Journal on Matrix Analysis and Applications
  • Year:
  • 1995

Quantified Score

Hi-index 0.00

Visualization

Abstract

The $QR$ algorithm is one of the most popular methods for calculating the eigenvalues of a matrix. In the course of iterations of the implicitly shifted $QR$ algorithm on an upper Hessenberg matrix, it is crucial to check for zeros on the subdiagonal of the matrix. A zero on the subdiagonal allows the problem to be split into two independent subproblems. Moreover, if the splitting is not carried out, the subdiagonal zero will cause the subsequent $QR$ iterations to break down. In practice exact zeros are rare; instead one normally sees very tiny numbers like $10^{-19}$. It is reasonable to set such numbers to zero and split the problem. Indeed it is widely believed that it is crucial to carry out a splitting in such cases. Although such small entries, if left in place, will not cause the $QR$ iterations to break down outright, they will (or so it is thought) trigger a breakdown of forward stability; small roundoff errors will be magnified dangerously, and the $QR$ step will degenerate to a random similarity transformation. The first objective of this paper is to show that this widespread belief is mistaken; tiny subdiagonal entries do not normally cause forward instability or interfere in any way with the convergence of the algorithm. The second objective is to show that even in situations where forward instability does occur, the $QR$ step is not normally rendered ineffective. On the contrary, the shift is transmitted accurately through the region of instability in such a way that a $QR$ step with the chosen shift is performed on the trailing submatrix.