JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Pseudospectra: seeing fragility, the payoff

Eigenvalues can lie, so we replace the point spectrum with a thickened set. Pseudospectra make non-normal fragility visible and tie together every idea in this track.

When eigenvalues mislead

Bauer-Fike warned us: a non-normal matrix can have eigenvalues that move wildly under a tiny perturbation. So rho(A) < 1 no longer guarantees that ||A^k|| stays small for moderate k — transient growth can be huge before the asymptotic decay promised by the spectral radius formula sets in. The spectrum alone is the wrong diagnostic.

The fix is to replace the spectrum (the set where A - z*I is exactly singular) with the pseudospectrum: the set of z where A - z*I is *nearly* singular. For epsilon > 0, the epsilon-pseudospectrum is { z : ||(A - z*I)^-1|| > 1/epsilon }, equivalently { z : sigma_min(A - z*I) < epsilon }.

The resolvent norm as a map

The quantity ||(A - z*I)^-1|| is the resolvent norm. It spikes to infinity exactly at the eigenvalues. For a normal matrix the spike is sharp and the epsilon-pseudospectrum is just an epsilon-disc around each eigenvalue. For a non-normal matrix the resolvent stays large far from the spectrum, so the pseudospectrum bulges out — a picture of latent instability.

Probe the resolvent on a grid of complex points z:

  for each z in grid:
      M = A - z*I
      s = sigma_min(M)          # smallest singular value (SVD)
      resolvent_norm = 1 / s    # = ||(A - zI)^-1||_2
      z is in eps-pseudospectrum  <=>  s < eps

Normal A:  s small ONLY near true eigenvalues  -> tight discs
Non-normal A:  s small over a WIDE region       -> bulging set

Key identity:  ||(A - zI)^-1||_2 = 1 / sigma_min(A - zI)
Pseudospectra are computed from sigma_min of the shifted matrix on a grid.

The payoff: rank and stability you can trust

The same sigma_min idea fixes another fragile concept: rank. Exact rank counts nonzero singular values, but in floating point nothing is exactly zero. The numerical rank counts singular values above a tolerance, so it is the rank of the nearest matrix within that tolerance — rank made robust by perturbation thinking.

  1. Measure size with the right norm, and exploit equivalence to switch freely.
  2. Use submultiplicativity and the Neumann series to perturb inverses and chain errors.
  3. Read kappa(A) to predict how badly relative error is amplified before you ever compute.
  4. Localize eigenvalues with Gershgorin, bound their motion with Weyl or Bauer-Fike, and visualize fragility with the pseudospectrum.