Numerical Eigenvalue Problems and the SVD
Eigenvalues cannot be found by a formula for large matrices, so they are found by iteration. Power and inverse iteration converge to one eigenvector at a rate set by the eigenvalue gap; the QR algorithm sweeps a matrix to Schur form and, with a good shift and a Hessenberg reduction, computes the whole spectrum in cubic time.
╌╌╌╌
An eigenvalue is a root of the characteristic polynomial, and for matrices of size the Abel–Ruffini theorem forbids a closed-form root formula in radicals. Eigenvalues must therefore be iterated toward, not solved for. Two iterations do it: power iteration for a single eigenpair, the QR algorithm for the whole spectrum. The singular value decomposition follows from the same tools, again without squaring the condition number.
The characteristic polynomial versus Schur form
An eigenpair of satisfies with ; the eigenvalues form the spectrum , the roots of the characteristic polynomial . The obvious algorithm — form , then find its roots — fails numerically, because polynomial rootfinding is severely ill-conditioned.
For example, take the diagonal matrix with eigenvalues , whose spectrum is read off instantly. Forming the characteristic polynomial and rooting it returns near the true : an absolute error of about , where the well-conditioned eigenvalue itself permits error . The condition number of that root as a function of the polynomial coefficients is . The eigenvalue problem and the rootfinding problem have very different conditioning, and going through the polynomial destroys the good conditioning of the former.1
The stable target instead is the Schur decomposition, built from unitary similarities that preserve the spectrum.
Because unitary similarity leaves both the spectrum and the spectral norm unchanged, every algorithm here works by driving toward triangular form through a sequence of unitary changes of basis. This is the same reason unitary matrices dominated the stable solvers: they do not amplify perturbations.
Conditioning of eigenvalues
Backward error transfers directly from linear systems. For an approximate eigenpair , the residual gives the backward error , and a computed eigenpair with is backward stable. For a fixed approximate eigenvector, the eigenvalue minimizing that residual is the Rayleigh quotient
the least-squares fit of a scalar to . Two perturbation theorems govern the forward conditioning.2
- Eigenvalues of normal matrices are perfectly conditioned. By the Bauer–Fike theorem, if is normal and , then : absolute condition number exactly . A perturbation of size moves each eigenvalue by at most .
- Eigenvectors are conditioned by the spectral gap. The Davis–Kahan theorem bounds the rotation of a simple eigenvector by divided by the distance from to the rest of the spectrum. Two nearly equal eigenvalues make their eigenvectors ill-defined — in the limit, any direction in the degenerate eigenspace is an eigenvector.
An eigenvector is ill-conditioned exactly when its eigenvalue is close to another, and the same closeness slows every iteration below.
Power iteration
The simplest iteration repeatedly applies and renormalizes. Starting from , for :
Since is normalized, the component along the largest eigenvalue grows fastest and dominates.
The eigenvector error decays geometrically at rate , and the Rayleigh quotient converges twice as fast. Convergence is fast when the top two eigenvalues are well separated and slow when — precisely the ill-conditioned eigenvector case. Backward stability is reached after roughly steps.3
| 0 | |||
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
The angle falls by per step and the eigenvalue error by , matching the theorem's and rates.
Inverse iteration targets any eigenvalue, not just the dominant one, using the equivalence that is an eigenpair of iff is one of . A shift near a chosen eigenvalue makes dominant, so power iteration on converges to :
The matrix is fixed, so a single factorization serves every step. A tempting objection is that a shift near the spectrum makes ill-conditioned, so is computed inaccurately. The objection is misguided: only the direction of matters, and a backward stable solve returns the exact solution for a slightly perturbed , whose eigenvector is what the iteration converges to. In fact, using a backward stable eigenvalue as the shift, one step of inverse iteration from a random start computes a backward stable eigenpair.3
The QR algorithm
Inverse iteration finds one eigenvector; the QR algorithm finds the whole Schur form by folding inverse iteration into a similarity transform. From , with shifts :
Each is unitarily similar to , so the spectrum is preserved throughout. With a constant shift the recurrence reduces to inverse iteration keeping the eigenvector approximation pinned at the last basis vector, and the iterates converge to Schur form: the subdiagonal entries shrink to zero and the eigenvalues surface on the diagonal, deflated one at a time from the bottom.4
The shift determines the speed. The Rayleigh shift gives locally quadratic convergence in general and locally cubic convergence for normal matrices, so the number of correct digits doubles or triples each step. It fails on real matrices with complex-conjugate eigenvalue pairs, which the Wilkinson shift — the eigenvalue of the trailing block nearest — resolves. In practice, only two to four iterations per eigenvalue are needed.4
| trailing subdiagonal | |
|---|---|
| 0 | |
| 1 | |
| 2 | |
| 3 |
The correct digits roughly triple each step: the shift makes convergence cubic for a symmetric matrix, so three iterations drive the entry below machine precision and one eigenvalue deflates. Unshifted, the same entry would fall only linearly, by a constant factor per step.
Making it cubic
A naive QR step costs , and eigenvalues would give overall. The fix is to precondition into a shape a QR step preserves and can sweep cheaply. That shape is upper Hessenberg (zero below the first subdiagonal): the space of Hessenberg matrices is invariant under a QR step, and a QR step on a Hessenberg matrix costs only using Givens rotations. So a Schur decomposition proceeds in two phases.
Individual eigenvectors are then recovered by inverse iteration with the computed eigenvalues as shifts. Computing only the eigenvalues is far cheaper than a full Schur decomposition, since the unitary transformations need not be accumulated.
Computing the SVD
The singular values of are the square roots of the eigenvalues of the s.p.d. matrix ,
which suggests forming and running the symmetric eigenvalue algorithm on it. That route repeats the mistake of the normal equations: forming squares the condition number, and the small singular values — usually the ones of interest — are computed with squared error. The stable method never forms . Instead it works on directly, in two phases mirroring the eigenvalue algorithm:
- Bidiagonalize. Apply Householder reflectors on the left and right to reduce to an upper bidiagonal matrix , with the same singular values as .5
- Diagonalize. Run an implicit-shift QR iteration on that operates as if on the tridiagonal without ever forming it, driving to a diagonal of singular values.
The result is the singular value decomposition, with the singular values accurate to full precision. Because the whole computation is a chain of unitary transformations, it inherits their backward stability: the computed factorization is the exact SVD of a matrix within of .
Summary
Every algorithm here reduces to two ideas. Hard matrices are pushed toward triangular or diagonal form, and the pushing is done with unitary transformations because they preserve length and so do not amplify error. The and Cholesky factorizations triangularize for solving systems; QR and Householder orthogonalize for least squares; the QR algorithm iterates orthogonalization into the Schur form; and the SVD does it from both sides at once. Underneath all of it sits the rule of thumb — forward error at most condition times backward error — which decides, for every one of these methods, exactly how much accuracy the problem allows and the algorithm delivers.
Footnotes
- Bornemann, Numerical Linear Algebra, §18 — Basic Concepts: the eigenvalue problem, the instability of the characteristic-polynomial route (the example), deflation, the Schur decomposition, and unitary diagonalization of normal matrices. ↩ ↩2
- Bornemann, §19 — Perturbation Theory: the residual backward error, the Rayleigh quotient as the optimal eigenvalue, the Bauer–Fike bound (normal eigenvalues have ), and the Davis–Kahan spectral-gap bound on eigenvector conditioning. ↩
- Bornemann, §20 — Power Iteration: the iteration and its / convergence rates, inverse iteration with a shift, and the resolution of the
ill-conditioned solve
objection via backward stability. ↩ ↩2 - Bornemann, §21 — QR Algorithm: the , iteration as disguised inverse iteration, Rayleigh and Wilkinson shifts with quadratic/cubic convergence, and the Hessenberg (tridiagonal) reduction bringing the cost to . ↩ ↩2 ↩3
- The two-sided bidiagonalization plus implicit-shift QR is the Golub–Kahan SVD algorithm: G. Golub and W. Kahan,
Calculating the Singular Values and Pseudo-Inverse of a Matrix,
SIAM J. Numer. Anal. 2 (1965), 205–224, https://doi.org/10.1137/0702016. ↩
╌╌ END ╌╌