Repeated Basis Changes Preserve the Eigenvalues
The algorithm computes all eigenvalues of a square matrix through repeated changes of basis. Each step produces a similar matrix, so the eigenvalues stay the same. The iteration aims for a diagonal or Schur form, where eigenvalues are read from diagonal entries or small diagonal blocks. Convergence requires suitable shift and deflation strategies.
The version below is the unshifted iteration. Production eigensolvers also use shifts, reduce the matrix to Hessenberg form, and deflate converged blocks to improve speed and numerical reliability.
One QR Iteration
For the deflation test below, first reduce the matrix by unitary similarity to upper Hessenberg form, whose entries below the first subdiagonal are zero. Start the iteration with that matrix. In the 2×2 example below, this condition already holds.
-
Start with .
-
Factor the current matrix into a unitary or orthogonal factor and an upper triangular factor :
-
Reverse the order of the factors to obtain the next iterate:
-
Repeat the factorization and reverse multiplication. A small subdiagonal entry can be set to zero when it is negligible relative to its neighboring diagonal entries. That split, called deflation, isolates a converged eigenvalue or block.
Here is a tolerance chosen for the numerical precision and scale of the problem. Merely observing small changes in the diagonal is not a sufficient stopping test because the matrix can still have significant entries below the diagonal.
Why the Eigenvalues Stay the Same
Because is unitary, . Substituting into the reverse product gives
is unitarily similar to . Similar matrices have the same characteristic polynomial and therefore the same eigenvalues. Each step expresses the same linear transformation in new coordinates.
What the Iteration Converges To
The final form depends on the matrix and the number system used.
| Matrix | Converged form | How to read the eigenvalues |
|---|---|---|
| Real symmetric or complex Hermitian | Diagonal matrix | The diagonal entries are the real eigenvalues |
| General complex | Upper triangular Schur form | The diagonal entries are the eigenvalues |
| General real | Quasi-upper-triangular real Schur form | Each block gives a real eigenvalue. Each block gives a complex-conjugate pair |
The eigenvalues can appear in any order. Repeated values and special arrangements need separate handling because a strict magnitude ordering does not cover them.
Unshifted iteration does not always converge to the listed form. For example, the symmetric matrix below admits and , so the next iterate is unchanged:
Its eigenvalues are 1 and −1. Their equal magnitudes show why practical algorithms need appropriate shifts and convergence checks.
Worked Symmetric Example
Consider the symmetric matrix
One factorization and reverse multiplication give
The off-diagonal magnitude has already fallen from to . Further iterations drive both off-diagonal entries toward zero:
The limiting diagonal contains the eigenvalues and . Every iterate is similar to , so these values belong to the original matrix.