Part I · Foundations Week 2 Published

Stability theory: Lyapunov, A-stability, BIBO

Three distinct notions of stability — Lyapunov (eigenvalue criterion + QR-based computation), A-stability (regions of absolute stability for ODE integrators), and BIBO (bounded-input bounded-output for LTI systems).

On this page
  1. 2.1 Three notions of stability
  2. 2.2 Lyapunov stability: theory
  3. The Lyapunov equation
  4. 2.3 Lyapunov exponents: computation
  5. The QR algorithm
  6. 2.4 A-stability: integrator regions of absolute stability
  7. Why this matters for SSMs
  8. 2.5 BIBO stability
  9. 2.6 Connection to Lyapunov functions
  10. 2.7 What’s next
  11. 2.8 Exercises
  12. Exercise 2.1 (computation)
  13. Exercise 2.2 (computation)
  14. Exercise 2.3 (computation)
  15. Exercise 2.4 (computation)
  16. Exercise 2.5 (theory) — solution in §2.9
  17. Exercise 2.6 (theory) — solution in §2.9
  18. 2.9 Full solutions to theory exercises
  19. Solution to Exercise 2.5
  20. Solution to Exercise 2.6
  21. 2.10 Companion code

Stability theory: Lyapunov, A-stability, BIBO

2.1 Three notions of stability

For the rest of this chapter, the system under analysis is the LTI state-space model from Chapter 1:

ddth(t)=Ah(t)+Bu(t),y(t)=Ch(t),\ddt \statevec(t) = \statemat \statevec(t) + \inputmat u(t), \qquad y(t) = \outputmat \statevec(t),

with ARN×N\statemat \in \R^{N \times N}. The three notions:

  1. Lyapunov stability asks: with u0u \equiv 0, do trajectories h(t)=eAth0\statevec(t) = e^{\statemat t} \statevec_0 stay bounded as tt \to \infty? Asymptotically stable if h(t)0\statevec(t) \to 0.
  2. A-stability is a property of a numerical integrator, not of the system. It asks: does the integrator preserve Lyapunov stability for every stable LTI test problem, at every step size Δ>0\stepsize > 0? If yes, the method is A-stable.
  3. BIBO stability asks: for the input–output mapping uyu \mapsto y, does every bounded input (suptu(t)<\sup_t \abs{u(t)} < \infty) produce a bounded output? The system is BIBO-stable if yes.

When A\statemat has all eigenvalues in the open left half-plane (LHP), all three coincide for the LTI case. But:

  • Lyapunov-stable systems can be Lyapunov-stable but not asymptotically stable (centers: pure imaginary eigenvalues, oscillations don’t decay).
  • A-stability is a integrator property; the explicit Euler method is not A-stable, while the implicit Euler method is. The same continuous system therefore may need a stable integrator to preserve its stability.
  • BIBO depends on the transfer function H(s)=C(sIA)1BH(s) = \outputmat (sI - \statemat)^{-1} \inputmat and on the choice of (A,B,C)(\statemat, \inputmat, \outputmat) realization. Two systems with the same A\statemat can have different BIBO properties if their C\outputmat “hides” unstable modes.

The rest of the chapter develops each notion in turn.

2.2 Lyapunov stability: theory

We restrict to the homogeneous case ddth=Ah\ddt \statevec = \statemat \statevec (zero input). The eigenvalue criterion is essentially the content of Chapter 1, §1.2, formalized:

.

Let ARN×N\statemat \in \R^{N \times N} with eigenvalues λ1,,λN\lambda_1, \ldots, \lambda_N. The system ddth=Ah\ddt \statevec = \statemat \statevec is:

  1. Lyapunov-stable (trajectories bounded) iff every λi\lambda_i satisfies (λi)0\Re(\lambda_i) \le 0, and for every λi\lambda_i on the imaginary axis ((λi)=0\Re(\lambda_i) = 0), its algebraic multiplicity equals its geometric multiplicity (no defective Jordan blocks).

  2. Asymptotically stable (trajectories 0\to 0) iff every λi\lambda_i satisfies (λi)<0\Re(\lambda_i) < 0, i.e. all eigenvalues are in the open left half-plane.

  3. Unstable otherwise.

The proof reduces to the matrix-exponential formula. If A=VΛV1\statemat = V \Lambda V^{-1} is diagonalizable, then h(t)=VeΛtV1h0\statevec(t) = V e^{\Lambda t} V^{-1} \statevec_0 and the ii-th eigencomponent decays like e(λi)te^{\Re(\lambda_i) t}. The Jordan-block caveat in case (1) handles the case where a defective imaginary eigenvalue produces polynomial growth in tt even though the real part is zero.

For nonlinear systems, the local-linearization picture from Chapter 1, §1.4 makes the same theorem applicable at each fixed point: the fixed point is asymptotically stable if the Jacobian’s eigenvalues all sit in the LHP. This is the principle that makes “check the eigenvalues” the first move in nearly every SSM stability analysis.

The Lyapunov equation

There’s an alternative characterization of asymptotic stability that doesn’t require computing eigenvalues. The continuous-time Lyapunov equation

AP+PA=Q\statemat^\top P + P \statemat = -Q

(with QQ a given symmetric positive-definite matrix) has a unique symmetric positive-definite solution PP if and only if A\statemat is asymptotically stable. The function V(h)=hPhV(\statevec) = \statevec^\top P \statevec is then a Lyapunov function for the system: V˙=hQh<0\dot V = -\statevec^\top Q \statevec < 0 for all nonzero h\statevec, so VV decreases along trajectories and forces them to the origin.

For SSM analysis, the Lyapunov-equation view is occasionally useful — for example, the controllability and observability Gramians of an LTI realization are Lyapunov solutions Antoulas (2005) — but the eigenvalue criterion is the more direct tool.

2.3 Lyapunov exponents: computation

The eigenvalues of A\statemat work as a stability diagnostic for LTI systems, where A\statemat is constant. For systems where the linearization J(t)\jacobian(t) varies with time (e.g. a trained recurrent network in inference mode, where the per-step Jacobian depends on the input), eigenvalues at any single tt don’t tell the long-run story. The right tool is the Lyapunov exponent, which generalizes the eigenvalue’s real part to time-varying systems.

.

Given a sequence of transition matrices J1,J2,\jacobian_1, \jacobian_2, \ldots (the Jacobians of an iterated map at points along a trajectory), let ΦT:=JTJT1J1\Phi_T := \jacobian_T \jacobian_{T-1} \cdots \jacobian_1. The ii-th Lyapunov exponent is

λi:=limT1Tlogσi(ΦT),\lyapexp_i := \lim_{T \to \infty} \frac{1}{T} \log \sigma_i(\Phi_T),

where σ1(ΦT)σ2(ΦT)\sigma_1(\Phi_T) \ge \sigma_2(\Phi_T) \ge \cdots are the singular values of ΦT\Phi_T. The vector (λ1,,λN)(\lyapexp_1, \ldots, \lyapexp_N) is the Lyapunov spectrum.

Three things make Lyapunov exponents the right object:

  1. They generalize eigenvalues to time-varying systems. For a constant Jacobian JtA\jacobian_t \equiv \statemat, λi=logμi(A)\lyapexp_i = \log\abs{\mu_i(\statemat)} where μi\mu_i are the eigenvalues’ magnitudes (in the discrete case) or (λi)\Re(\lambda_i) (in the continuous case). The connection back to Chapter 1’s eigenvalue classification is exact in the autonomous case.
  2. The maximal Lyapunov exponent λ1\lyapexp_1 measures sensitive dependence. A positive λ1\lyapexp_1 means infinitesimally close initial conditions diverge exponentially (chaos); λ1=0\lyapexp_1 = 0 is the edge-of-chaos regime; λ1<0\lyapexp_1 < 0 means contracting dynamics.
  3. They are robust to coordinate changes. Eigenvalues of the per-step Jacobian depend on the basis you write the state in; Lyapunov exponents do not.

The QR algorithm

Computing σi(ΦT)\sigma_i(\Phi_T) for large TT directly is numerically impossible: even for a well-behaved system with λ1=0.1\lyapexp_1 = 0.1, after T=100T = 100 steps the largest singular value is e1022000e^{10} \approx 22000 and the smallest may be e105×105e^{-10} \approx 5 \times 10^{-5}. The product matrix ΦT\Phi_T becomes either numerical zero or numerical infinity in finite-precision arithmetic, and finite-precision singular values lose all meaning. The fix, due to Benettin et al. Benettin et al. (1980) , is to factor the growth out at every step using QR decomposition.

The QR-based Lyapunov algorithm (the version that has become standard in dynamical-systems software):

Initialize Q_0 = I (identity), running sums L_i = 0 for i = 1..N.
For t = 1, 2, ..., T:
    M_t = J_t @ Q_{t-1}             # one-step forward propagation
    Q_t, R_t = qr(M_t)              # extract orthogonal + upper triangular
    Update L_i += log |R_t[i,i]| for each i
At the end:
    Lyapunov_i = L_i / T

The key insight: by re-orthonormalizing the propagated frame at every step, we factor the exponential growth into the diagonal of the upper-triangular RtR_t rather than letting it accumulate in ΦT\Phi_T. The diagonal entries of RtR_t are well-conditioned numbers near 1, and their logarithms sum nicely to give the Lyapunov exponents.

The companion lyapunov_qr.py implements this algorithm and applies it to the ring of coupled oscillators from Chapter 1, §1.4. The resulting spectrum’s structure — all exponents negative for the damped case, all near zero for the undamped case — matches the eigenvalue analysis exactly, validating the implementation.

Lyapunov spectrum of the ring-of-oscillators system for damped and undamped regimes.
Lyapunov spectrum (sorted exponents λ_1 ≥ λ_2 ≥ ...) computed via the QR algorithm for the ring of n=8 oscillators. Damped case (c=0.2): all 16 exponents are negative, indicating asymptotically stable dynamics — every direction in state space contracts. Undamped case (c=0): all exponents are zero, indicating marginally stable (energy-preserving) dynamics. The agreement with the eigenvalue real-parts of the autonomous Jacobian validates the implementation. Produced by companions/ch02/jax/lyapunov_qr.py.

2.4 A-stability: integrator regions of absolute stability

Switch perspectives. We now have a continuous system ddth=Ah\ddt \statevec = \statemat \statevec and we discretize it with some numerical integrator at step size Δ\stepsize. The integrator approximates the true continuous trajectory by a discrete recurrence

hn+1=R(ΔA)hn,\statevec_{n+1} = R(\stepsize \statemat) \statevec_n,

where R(z)R(z) is the integrator’s stability function, evaluated at the matrix argument ΔA\stepsize \statemat via the matrix-functional-calculus convention. Different integrators give different RR:

  • Forward (explicit) Euler: hn+1=hn+ΔAhn\statevec_{n+1} = \statevec_n + \stepsize \statemat \statevec_n, so RFE(z)=1+zR_{\text{FE}}(z) = 1 + z.
  • Backward (implicit) Euler: hn+1=hn+ΔAhn+1\statevec_{n+1} = \statevec_n + \stepsize \statemat \statevec_{n+1}, giving RBE(z)=1/(1z)R_{\text{BE}}(z) = 1/(1-z).
  • Bilinear (Tustin / trapezoidal): Rbil(z)=(1+z/2)/(1z/2)R_{\text{bil}}(z) = (1 + z/2)/(1 - z/2).
  • Exact (zero-order hold): RZOH(z)=ezR_{\text{ZOH}}(z) = e^z. This is the integrator S4 uses by default.

The discrete recurrence is Lyapunov-stable if and only if every eigenvalue μi\mu_i of R(ΔA)R(\stepsize \statemat) satisfies μi1\abs{\mu_i} \le 1 (the discrete-time analog of the LHP criterion is the unit disk). Since the eigenvalues of R(ΔA)R(\stepsize \statemat) are R(Δλi)R(\stepsize \lambda_i) where λi\lambda_i are the eigenvalues of A\statemat, the question reduces to: for which z=Δλiz = \stepsize \lambda_i in the complex plane is R(z)1\abs{R(z)} \le 1?

.

The region of absolute stability of a numerical integrator with stability function R(z)R(z) is

S:={zC:R(z)1}.S := \{ z \in \C : \abs{R(z)} \le 1 \}.

The integrator is A-stable if SS contains the entire closed left half-plane.

A-stability matters because it means: if the continuous system is asymptotically stable, the integrator preserves that stability at every step size Δ>0\stepsize > 0. Without A-stability, you have to pick Δ\stepsize small enough that Δλi\stepsize \lambda_i lands inside the (bounded) stability region.

The four examples above:

  • Forward Euler: 1+z1\abs{1 + z} \le 1zz in the closed disk of radius 1 around 1-1. Tiny region; not A-stable. For a continuous system with eigenvalue λ=100\lambda = -100 (fast decay), forward Euler requires Δ<2/100\stepsize < 2/100 to avoid blowup.
  • Backward Euler: 1/(1z)1\abs{1/(1-z)} \le 11z1\abs{1-z} \ge 1zz outside the open disk of radius 1 around 11. This contains the entire closed LHP. A-stable.
  • Bilinear (trapezoidal): Rbil(z)1\abs{R_{\text{bil}}(z)} \le 1(z)0\Re(z) \le 0 exactly. The stability region is exactly the closed LHP. A-stable, and the boundary coincides with the imaginary axis — a property called L-stability when combined with R(z)0R(z) \to 0 as (z)\Re(z) \to -\infty, which bilinear does not satisfy (Rbil()=1R_{\text{bil}}(-\infty) = -1).
  • Zero-order hold (matrix exponential): ez=e(z)1\abs{e^z} = e^{\Re(z)} \le 1(z)0\Re(z) \le 0. The stability region is the closed LHP. A-stable and L-stable. This is the gold standard for LTI discretization — and it’s what S4 uses internally.
Stability regions in the complex plane for forward Euler, backward Euler, bilinear, and ZOH integrators.
Stability regions S = { z : |R(z)| ≤ 1 } for four common integrators. Forward Euler's tiny disk around -1 makes it conditionally stable only; backward Euler and bilinear/trapezoidal are A-stable; ZOH (the matrix exponential) is A-stable and L-stable, with stability region exactly the closed left half-plane. The eigenvalue distribution of a learned SSM's A matrix overlaid on these regions tells you immediately which integrators are safe to use. Produced by companions/ch02/jax/stability_regions.py.

Why this matters for SSMs

The S4 family uses ZOH discretization, and is therefore stable at every step size for which the continuous system is stable. Mamba-1 uses ZOH as well. Mamba-3’s exponential-trapezoidal rule (Chapter 10) is a second-order generalization of bilinear that retains A-stability. The C1 research pilot (see Chapter 6) asks whether symplectic integrators — A-stable methods designed to preserve geometric invariants — can do better for complex-state SSMs whose A\statemat has near-imaginary eigenvalues.

When a stability-region analysis fails, it usually fails dramatically: a forward-Euler discretization of a stiff system blows up in a handful of steps. This is exactly the failure mode that careful integrator choice prevents.

For full coverage of A-stability theory and a wider zoo of integrator stability functions, Hairer–Wanner’s stiff-systems volume Hairer & Wanner (1996) is the canonical reference.

2.5 BIBO stability

The third notion looks at the input–output mapping rather than the autonomous dynamics. For the system ddth=Ah+Bu\ddt \statevec = \statemat \statevec + \inputmat u, y=Chy = \outputmat \statevec, the output under a unit-impulse input is the impulse response

h(t)=CeAtBfor t0.h(t) = \outputmat e^{\statemat t} \inputmat \quad \text{for } t \ge 0.

The system is BIBO-stable if its impulse response satisfies 0h(t)dt<\int_0^\infty \norm{h(t)} \, dt < \infty, equivalently if hL1h \in L^1. Under this condition, any bounded input uu produces a bounded output yy — Young’s inequality on convolutions gives the precise bound supty(t)hL1suptu(t)\sup_t \norm{y(t)} \le \norm{h}_{L^1} \cdot \sup_t \abs{u(t)}.

.

A causal LTI system (A,B,C)(\statemat, \inputmat, \outputmat) is BIBO-stable iff all poles of its transfer function H(s):=C(sIA)1BH(s) := \outputmat (sI - \statemat)^{-1} \inputmat lie in the open left half-plane.

Poles of H(s)H(s) are the values of ss where det(sIA)=0\det(sI - \statemat) = 0 — i.e. the eigenvalues of A\statematunless a pole–zero cancellation occurs because C\outputmat doesn’t “see” some eigenmode. This cancellation matters: a system can be internally unstable (some λi\lambda_i in the right half-plane) but BIBO-stable if those unstable modes are unobservable from C\outputmat and unreachable from B\inputmat. The Kalman canonical-decomposition theorem makes this precise; for our purposes, the eigenvalues of A\statemat in the LHP are sufficient for both internal and BIBO stability.

For an SSM viewed as a sequence-to-sequence map, BIBO is the natural input–output stability concept: bounded inputs (typical of token embeddings) should produce bounded outputs (typical of pre-softmax logits). When training an SSM produces an A\statemat whose eigenvalues drift into the right half-plane, both internal (Lyapunov) and input–output (BIBO) stability fail simultaneously, and the model’s outputs blow up. Tracking the eigenvalues of A\statemat during training is therefore a single diagnostic for both failure modes.

2.6 Connection to Lyapunov functions

The Lyapunov-function method gives a non-spectral way to prove stability. For nonlinear systems where eigenvalues don’t directly apply, finding a function V:RNRV: \R^N \to \R with V(0)=0V(0) = 0, V(h)>0V(\statevec) > 0 for h0\statevec \ne 0, and V˙(h):=V(h)f(h)<0\dot V(\statevec) := \nabla V(\statevec) \cdot f(\statevec) < 0 for all h0\statevec \ne 0 proves asymptotic stability of h=0\statevec^* = 0.

For our LTI case f(h)=Ahf(\statevec) = \statemat \statevec, the Lyapunov equation AP+PA=Q\statemat^\top P + P \statemat = -Q (with QQ p.d.) gives V(h)=hPhV(\statevec) = \statevec^\top P \statevec as a quadratic Lyapunov function — and its existence with PP p.d. is equivalent to asymptotic stability (as noted in §2.2). The interest in the function-method picture for our context is mainly conceptual: it explains why “energy” arguments work to prove stability of mechanical systems (the energy is the Lyapunov function), and it generalizes immediately to nonlinear systems where the eigenvalue criterion only gives local information at fixed points.

This connects forward to Chapter 6, where the question of which discretization preserves a Lyapunov function (or, more strongly, an energy invariant) leads naturally into symplectic methods.

2.7 What’s next

Chapter 3 develops the structured-linear-algebra vocabulary (SVD, Jordan form, condition number, Toeplitz/Vandermonde/Cauchy/semiseparable structure) needed for the SSM kernel constructions in Chapters 7–9. Chapter 4 takes the discretization story started in §2.4 and develops it systematically: order conditions, accuracy classes, the Butcher tableau, the bilinear and ZOH derivations in detail. Chapter 6 picks up the A-stability theme and pushes into implicit and structure-preserving integrators — symplectic schemes, geometric integration, and the C1 pilot’s home territory.

2.8 Exercises

Six problems. Inline-collapsible solutions for the shorter ones; full solutions for the longer theory problems in §2.9.

Exercise 2.1 (computation)

Use the eigenvalue criterion (Theorem 2.1) to classify the stability of ddth=Ah\ddt \statevec = \statemat \statevec for A=(1411)\statemat = \begin{pmatrix} -1 & 4 \\ -1 & -1 \end{pmatrix}.

Solution

Characteristic polynomial: det(λIA)=(λ+1)2+4=λ2+2λ+5\det(\lambda I - \statemat) = (\lambda+1)^2 + 4 = \lambda^2 + 2\lambda + 5. Roots: λ=1±2i\lambda = -1 \pm 2i. Both have (λ)=1<0\Re(\lambda) = -1 < 0, so the system is asymptotically stable. The non-zero imaginary part means trajectories spiral toward the origin (stable spiral).

Exercise 2.2 (computation)

For the matrix A=(0110)\statemat = \begin{pmatrix} 0 & 1 \\ -1 & 0 \end{pmatrix} of Exercise 1.1, find the eigenvalues and classify the Lyapunov stability. Is the system asymptotically stable?

Solution

Eigenvalues: λ=±i\lambda = \pm i. Both have (λ)=0\Re(\lambda) = 0, so the system is Lyapunov-stable but not asymptotically stable — trajectories are bounded (centers / closed orbits) but do not decay to zero. This is the undamped harmonic oscillator’s marginal case.

Exercise 2.3 (computation)

The forward Euler method has stability function R(z)=1+zR(z) = 1 + z. For the continuous test problem x˙=λx\dot x = \lambda x with λ=10\lambda = -10 (a stiff system with fast time scale), find the maximum step size Δ\stepsize for which forward Euler is stable.

Solution

Stability condition: 1+Δλ1\abs{1 + \stepsize \lambda} \le 1 with λ=10\lambda = -10. Algebra: 110Δ1\abs{1 - 10\stepsize} \le 1010Δ20 \le 10\stepsize \le 2Δ0.2\stepsize \le 0.2. So forward Euler requires Δ0.2\stepsize \le 0.2. Any Δ>0.2\stepsize > 0.2 produces exponentially growing iterates even though the continuous system decays. This is the classic motivation for implicit methods on stiff problems.

Exercise 2.4 (computation)

Show that the bilinear method Rbil(z)=(1+z/2)/(1z/2)R_{\text{bil}}(z) = (1 + z/2)/(1 - z/2) maps the closed left half-plane {(z)0}\{\Re(z) \le 0\} onto the closed unit disk {w1}\{\abs{w} \le 1\}. (This is the Möbius map picture of the bilinear transform.)

Solution

Let z=a+biz = a + bi with a0a \le 0. Compute:

Rbil(z)2=(1+a/2)2+(b/2)2(1a/2)2+(b/2)2.\abs{R_{\text{bil}}(z)}^2 = \frac{(1+a/2)^2 + (b/2)^2}{(1-a/2)^2 + (b/2)^2}.

The denominator minus the numerator equals (1a/2)2(1+a/2)2=2a0(1-a/2)^2 - (1+a/2)^2 = -2a \ge 0 (since a0a \le 0). So numerator \le denominator and Rbil(z)1\abs{R_{\text{bil}}(z)} \le 1. Equality iff a=0a = 0 (purely imaginary zz), so the imaginary axis maps to the unit circle and the open LHP maps to the open unit disk. ∎

Exercise 2.5 (theory) — solution in §2.9

State and prove the Lyapunov equation characterization of asymptotic stability: A\statemat is asymptotically stable iff for every symmetric positive-definite QQ, the equation AP+PA=Q\statemat^\top P + P \statemat = -Q has a unique symmetric positive-definite solution PP.

Exercise 2.6 (theory) — solution in §2.9

Prove the BIBO criterion of Theorem 2.3: a causal LTI system is BIBO-stable iff all poles of its transfer function lie in the open left half-plane. (Hint: Use the Laplace-transform / convolution duality, and exploit the representation of the impulse response as a sum of exponentials.)

2.9 Full solutions to theory exercises

Solution to Exercise 2.5

Forward direction (Lyapunov equation ⇒ asymptotic stability): Suppose PP is symmetric positive-definite and satisfies AP+PA=Q\statemat^\top P + P \statemat = -Q for some symmetric positive-definite QQ. Define V(h)=hPhV(\statevec) = \statevec^\top P \statevec. Then V>0V > 0 for h0\statevec \ne 0 (since P0P \succ 0), and along trajectories ddth=Ah\ddt \statevec = \statemat \statevec:

V˙=h˙Ph+hPh˙=hAPh+hPAh=h(Q)h<0.\dot V = \dot \statevec^\top P \statevec + \statevec^\top P \dot \statevec = \statevec^\top \statemat^\top P \statevec + \statevec^\top P \statemat \statevec = \statevec^\top (-Q) \statevec < 0.

So VV is a strict Lyapunov function and trajectories satisfy V(h(t))V(h(0))eαtV(\statevec(t)) \le V(\statevec(0)) e^{-\alpha t} for α>0\alpha > 0 determined by the smallest eigenvalue of QQ over the largest of PP. Hence h(t)0\statevec(t) \to 0 and the origin is asymptotically stable.

Reverse direction (asymptotic stability ⇒ Lyapunov equation has p.d. solution): Suppose A\statemat is asymptotically stable. Define

P:=0eAtQeAtdt.P := \int_0^\infty e^{\statemat^\top t} Q \, e^{\statemat t} \, dt.

The integral converges absolutely because eAte^{\statemat t} decays exponentially. PP is symmetric (transpose preserves the integrand structure) and positive-definite (since Q0Q \succ 0 and eAte^{\statemat t} is invertible). Direct computation:

AP+PA=0(AeAtQeAt+eAtQeAtA)dt=0ddt(eAtQeAt)dt=[eAtQeAt]0=Q,\statemat^\top P + P \statemat = \int_0^\infty \left( \statemat^\top e^{\statemat^\top t} Q e^{\statemat t} + e^{\statemat^\top t} Q e^{\statemat t} \statemat \right) dt = \int_0^\infty \ddt \left( e^{\statemat^\top t} Q e^{\statemat t} \right) dt = [e^{\statemat^\top t} Q e^{\statemat t}]_0^\infty = -Q,

using the decay of eAte^{\statemat t} at \infty. Uniqueness of PP follows from the linearity of the Lyapunov operator L(P):=AP+PA\mathcal{L}(P) := \statemat^\top P + P \statemat and the fact that its kernel is trivial when A\statemat has no purely imaginary eigenvalues. ∎

Solution to Exercise 2.6

(⇒) BIBO-stable implies poles in open LHP. Suppose the system is BIBO-stable, i.e. hL1h \in L^1. The Laplace transform H(s)=0h(t)estdtH(s) = \int_0^\infty h(t) e^{-st} dt then exists and is analytic for (s)0\Re(s) \ge 0 (since the integrand is bounded by h(t)\abs{h(t)} which is integrable, the integral converges uniformly). HH is rational (the matrix-inverse formula gives H(s)=C(sIA)1BH(s) = \outputmat (sI - \statemat)^{-1} \inputmat, a ratio of polynomials with denominator det(sIA)\det(sI - \statemat)). A rational function analytic on the closed right half-plane has no poles there — so all poles of H(s)H(s) lie in the open LHP.

(⇐) Poles in open LHP implies BIBO-stable. Suppose all poles of H(s)H(s) lie in the open LHP. Partial-fraction decomposition gives H(s)=kck(spk)mkH(s) = \sum_k \frac{c_k}{(s - p_k)^{m_k}} where pkp_k are the poles with multiplicity mkm_k, and (pk)<0\Re(p_k) < 0 for all kk. The inverse Laplace transform of each term is cktmk1(mk1)!epkt\frac{c_k t^{m_k - 1}}{(m_k - 1)!} e^{p_k t}, which is L1L^1 on [0,)[0, \infty) because the exponential decay beats any polynomial growth in tt. Sum of L1L^1 functions is L1L^1, so hL1h \in L^1 and BIBO holds.

(For the multi-input multi-output case, apply the same argument entrywise to H(s)CM×DH(s) \in \C^{M \times D}.) ∎

2.10 Companion code

Two runnable companions in companions/ch02/jax/:

  • lyapunov_qr.py — implements the QR-based Lyapunov-exponent algorithm and applies it to the ring-of-oscillators system from Chapter 1
  • stability_regions.py — plots the regions of absolute stability for forward Euler, backward Euler, bilinear (trapezoidal), and ZOH in the complex plane

To run from the repo root:

PYTHONPATH=. python companions/ch02/jax/lyapunov_qr.py
PYTHONPATH=. python companions/ch02/jax/stability_regions.py

Figures land in public/figures/ch02/ (referenced from §2.3 and §2.4 above).