There is a stability test I used to trust too quickly.

You linearize a system. You compute the eigenvalues. Every real part is negative. The modes decay. The equilibrium is stable.

And yet the experiment still blows up before the asymptotic theorem has time to be right.

That sentence is not mystical. It is a geometry problem. Eigenvalues say what happens to pure eigenvectors. Many initial conditions are not pure eigenvectors. If the eigenvectors are nearly parallel, writing an ordinary vector as a combination of them can require huge cancelling coefficients. The individual modes decay, but the cancellation can decay faster than the modes themselves. For a while, what was hidden becomes visible.

The far future is calm.

The middle can still have weather.

A Stable Matrix With a Bad Afternoon

Start with the smallest continuous-time example I know that still contains the crime:

\[A = \begin{bmatrix} -a & K \\ 0 & -b \end{bmatrix}, \qquad a>b>0.\]

The eigenvalues are boring:

\[\lambda_1=-a,\qquad \lambda_2=-b.\]

Both are negative. Nothing oscillates. Nothing grows asymptotically.

But the matrix is not normal unless (K=0). The second coordinate feeds the first. The exponential is exact:

\[e^{tA} = \begin{bmatrix} e^{-at} & K\frac{e^{-bt}-e^{-at}}{a-b}\\ 0 & e^{-bt} \end{bmatrix}.\]

The diagonal entries decay. The off-diagonal entry can grow from zero before it decays, because it is the difference between a fast decay and a slow decay, scaled by (K).

That is already enough.

For the default lab settings,

a = 2.10
b = 0.35
K = 22

the largest real part of any eigenvalue is still only -0.35. But the operator norm of (e^{tA}) peaks at about 7.35x near t = 1.04.

No eigenvalue is lying.

The question was incomplete.

Why Eigenvectors Matter More Than They Look

For this triangular matrix, one eigenvector points along the first coordinate. The other is approximately

\[\begin{bmatrix} K/(a-b)\\ 1 \end{bmatrix}.\]

When (K) is large, those two eigenvectors nearly point in the same direction. At the default settings their angle is about 4.55 degrees.

This is the small-angle version of a lever arm. A harmless-looking initial condition can be represented as

large multiple of eigenvector 1
minus almost the same large multiple of eigenvector 2

At time zero, the two large pieces cancel. Then one mode decays faster than the other. The cancellation breaks. The state vector grows even though each modal coefficient is attached to a decaying exponential.

This is why normal matrices feel so civilized. For a normal matrix, orthogonal eigenvectors keep modal bookkeeping honest. In the 2-norm, the worst amplification of (e^{tA}) is governed directly by the largest real part of the eigenvalues. The pseudospectrum is just round disks around the spectrum.

Nonnormal matrices do not give you that discount.

The Diagnostic That Looks Around the Eigenvalues

The object that notices this fragility is the pseudospectrum.

For a matrix (A), the (\epsilon)-pseudospectrum can be described two equivalent ways:

\[\Lambda_\epsilon(A) = \{z: z\in\Lambda(A+E)\ \text{for some}\ \|E\|_2\le \epsilon\},\]

and, away from eigenvalues,

\[\Lambda_\epsilon(A) = \{z: \|(zI-A)^{-1}\|_2\ge \epsilon^{-1}\}.\]

The first form says: where could the eigenvalues move if the matrix were perturbed a little?

The second form says: where is the resolvent large, so the matrix behaves as if it has a spectral feature nearby?

Higham’s review of Trefethen and Embree’s Spectra and Pseudospectra gives these equivalent definitions as the central entry point.1 Trefethen and Embree’s book is the canonical modern reference for the larger story: nonnormal matrices, operators, numerical experiments, and the many places where eigenvalues alone are the wrong lens.2

The important visual rule is simple:

normal matrix: tiny pseudospectral neighborhoods
nonnormal matrix: swollen pseudospectral weather systems

If a small (\epsilon)-pseudospectrum reaches into the unstable half-plane, that does not mean the original matrix has an unstable eigenvalue. It means nearby matrices do, and it usually means the resolvent is large enough that transient growth deserves attention.

The connection is not just folk wisdom. Bounds related to the Kreiss matrix theorem tie resolvent growth and pseudospectral protrusions to possible growth of (e^{tA}) or, in discrete time, powers of a matrix.3 The constants and exact statements matter in real work, but the practical message is sturdy:

if the pseudospectrum bulges toward instability, simulate the transient

Do not stop at the eigenvalues.

Instrument Panel

The lab below uses the exact (2\times2) matrix exponential, not Euler steps. The heatmap is the resolvent norm (|(zI-A)^{-1}|_2). The black dots are the two stable eigenvalues. The purple vertical line is the rightmost grid point in the selected (\epsilon)-pseudospectrum. The blue/red point cloud perturbs the matrix with random Frobenius-norm-(\epsilon) perturbations and plots the resulting eigenvalues.

The default is intentionally modest: epsilon = 0.04. Even there, the pseudospectrum crosses slightly into positive real part, while the original eigenvalues remain fixed at negative real parts.

Set coupling to zero and the story disappears: the eigenvectors become orthogonal, the peak amplification falls to 1.00x, and the pseudospectrum shrinks back around the eigenvalues.

Synthetic two-dimensional system. Perturbation dots use random Frobenius-norm perturbations, so they are a sample inside the spectral-norm pseudospectrum, not a full contour-tracing algorithm.

The Fluid-Mechanics Version of This Warning

This toy is not Navier-Stokes. It is the small diagram you draw before opening the heavy book.

The historically important place where this lesson mattered was hydrodynamic stability. Classical linear stability analysis looked for unstable eigenvalues of a linearized operator. But several shear flows become turbulent in regimes where the relevant linearized operators have no eigenvalues in the unstable half-plane.

In 1993, Reddy, Schmid, and Henningson studied pseudospectra of the Orr-Sommerfeld operator for plane Poiseuille flow, explicitly using the resolvent definition of pseudospectra and showing strong eigenvalue sensitivity as Reynolds number increased.4 The same year, Trefethen, Trefethen, Reddy, and Driscoll argued in Science that hydrodynamic stability can require “without eigenvalues” analysis: pseudoresonance, transient growth, and destabilizing perturbations are different faces of the same nonnormal operator geometry.5

The point is not that turbulence is solved by a (2\times2) matrix. It is that the (2\times2) matrix contains the missing warning label:

asymptotic modal stability does not bound finite-time amplification

If a nonlinear system has thresholds, finite-time amplification can be the bridge from “small perturbation” to “large state where the linear model no longer applies.” The eigenvalues only tell you that infinitesimal disturbances eventually decay if they remain in the linear neighborhood.

Sometimes “eventually” arrives too late.

Numerical Algorithms Have This Personality Too

The same pattern shows up in numerical computing.

An iteration matrix can have spectral radius less than one, yet converge painfully or show large transient error if it is nonnormal. A discretized differential operator can have eigenvalues in the stable half-plane, yet have resolvent growth that makes time stepping delicate. A least-squares or Krylov method can look harmless if you inspect only eigenvalues and miss the geometry of the basis it is building.

Trefethen’s survey on pseudospectra of linear operators emphasizes exactly this spread of applications: numerical instability, stiffness, hydrodynamic stability, and nonsymmetric iterative algorithms all become clearer when one looks at resolvent growth rather than only the spectrum.3

The slogan I now use in code review for numerical experiments is:

spectral radius answers "eventually?"
resolvent and transient norms answer "what can happen on the way?"

If the matrix is symmetric, Hermitian, orthogonal, unitary, or otherwise normal, the slogan collapses to the familiar spectral story. The pseudospectrum does not buy much drama.

If the matrix is nonnormal, the drama is the point.

A Small Checklist For Real Work

When I see a stability claim based on eigenvalues, I now want four follow-up checks before I relax.

First, measure nonnormality. At minimum, inspect whether (A^A) and (AA^) are close, or look at eigenvector conditioning when the eigendecomposition is available. A beautiful spectrum with an ill-conditioned eigenvector matrix is a warning sign.

Second, compute a transient curve. For continuous time, sample or bound (|e^{tA}|) over the time window the application actually cares about. For discrete time, inspect (|A^k|), not just (\rho(A)^k).

Third, estimate a pseudospectrum or resolvent profile. You do not always need a publication-quality contour plot. Even coarse probes of (|(zI-A)^{-1}|) near the stability boundary can reveal whether the spectrum is fragile.

Fourth, perturb in a physically meaningful way. The mathematical (\epsilon)-pseudospectrum allows arbitrary perturbations in a chosen norm. Your application may only allow structured perturbations: boundary conditions, roundoff, modeling error in one block, missing damping, correlated coefficients. The full pseudospectrum is a diagnostic, not a substitute for domain structure.

The last point matters. Pseudospectra can also be overused. A giant pseudospectral set under arbitrary perturbations may overstate risk if the dangerous perturbations are physically impossible. Conversely, a norm that looks natural to the algebra may be wrong for the energy in the system.

The correct question is not:

are the eigenvalues stable?

It is:

stable under what norm, under what perturbations, over what time window?

What I Think The Picture Is Saying

The eigenvalue plot is a weather report for the infinite horizon.

It says that if the system remains linear, and if you wait long enough, the slowest decaying mode wins and the origin attracts. That is valuable.

But for nonnormal systems, the path to that future may pass through a region of large amplification. The dangerous object is not the eigenvalue. It is the almost-cancellation between eigenvectors, plus the resolvent bulge that tells you small errors can make the spectrum look as if it crossed the boundary.

That is why the lab’s default feels wrong the first time you see it:

eigenvalue abscissa: -0.35
peak amplification: 7.35x
epsilon-pseudo abscissa: +0.03

The equilibrium is asymptotically stable.

The afternoon is not.

  1. Nicholas J. Higham, review of Lloyd N. Trefethen and Mark Embree, Spectra and Pseudospectra: The Behavior of Nonnormal Matrices and Operators, Bulletin of the American Mathematical Society, 2007. The review summarizes the perturbation and resolvent definitions of pseudospectra. PDF

  2. Lloyd N. Trefethen and Mark Embree, Spectra and Pseudospectra: The Behavior of Nonnormal Matrices and Operators, Princeton University Press, 2005. Book record

  3. Lloyd N. Trefethen, “Pseudospectra of Linear Operators”, SIAM Review 39(3), 383-406, 1997. PDF 2

  4. Satish C. Reddy, Peter J. Schmid, and Dan S. Henningson, “Pseudospectra of the Orr-Sommerfeld Operator”, SIAM Journal on Applied Mathematics 53(1), 15-47, 1993. Publisher page

  5. Lloyd N. Trefethen, Anne E. Trefethen, Satish C. Reddy, and Tobin A. Driscoll, “Hydrodynamic Stability Without Eigenvalues”, Science 261(5121), 578-584, 1993. PDF