MathLabs

Differential equations and dynamical systems

Stability of dynamical systems

Classifies equilibrium points of a dynamical system by whether nearby trajectories converge or diverge.

IntuitionIntuition: does a nudged system return, or run away?

A ball resting at the bottom of a bowl, nudged slightly, rolls back down; a ball balanced on top of a hill, nudged slightly, rolls away and never returns. A pendulum hanging straight down is stable; the same pendulum balanced pointing straight up is unstable. A dynamical system x˙=f(x)\dot x=f(x) has an equilibrium point x∗x^{*} wherever f(x∗)=0f(x^{*})=0 — a state where, left alone, nothing moves. Stability theory asks: if the system starts near x∗x^{*} instead of exactly at it, does it stay near, converge back, or drift away?

Directed graph of a discrete dynamical system showing convergence and divergence
2D phase portrait x′=Ax\mathbf{x}' = A\mathbf{x}: slide the control parameter across the stability threshold tr(A)=0\mathrm{tr}(A) = 0 to watch trajectories switch between spiraling inward (asymptotically stable) and outward (unstable).

UndergraduateEquilibria and linearization

UndergraduateEquilibria and linearization

Definition: Equilibrium point and Lyapunov stability

For a system x˙=f(x)\dot x=f(x) on Rn\mathbb{R}^n, a point x∗x^{*} with f(x∗)=0f(x^{*})=0 is an equilibrium. It is (Lyapunov) stable if trajectories starting close enough to x∗x^{*} stay arbitrarily close for all future time; it is asymptotically stable if, in addition, they converge to x∗x^{*} as t→∞t\to\infty. If some nearby trajectories move away no matter how close the start, x∗x^{*} is unstable.

x˙=f(x),f(x∗)=0\dot{x}=f(x),\qquad f(x^{*})=0

To study a nonlinear system near an equilibrium, write ξ=x−x∗\xi=x-x^{*} for the small deviation and expand ff in a Taylor series: f(x)=Df(x∗)ξ+o(∥ξ∥)f(x)=Df(x^{*})\xi+o(\|\xi\|), where Df(x∗)Df(x^{*}) is the Jacobian matrix of partial derivatives evaluated at the equilibrium. Dropping the small remainder term gives the linearized system, which approximates the true nonlinear dynamics near x∗x^{*}.

ξ˙=Df(x∗) ξ,ξ=x−x∗\dot{\xi}=Df(x^{*})\,\xi,\qquad \xi=x-x^{*}

The eigenvalues of the Jacobian A=Df(x∗)A=Df(x^{*}) decide the local picture: if every eigenvalue has strictly negative real part, x∗x^{*} is asymptotically stable; if at least one eigenvalue has strictly positive real part, x∗x^{*} is unstable. If some eigenvalue has zero real part (and none has positive real part), the equilibrium is called non-hyperbolic and linearization alone cannot decide stability — the nonlinear terms must be examined directly.

Classification of a 2D equilibrium by trace and determinant of the Jacobian
Trace / determinantEigenvaluesType and stability
det⁡A>0, tr A<0, (tr A)2>4det⁡A\det A>0,\ \text{tr}\,A<0,\ (\text{tr}\,A)^{2}>4\det AReal, both negativeStable node
det⁡A<0\det A<0Real, opposite signsSaddle point, always unstable
det⁡A>0, tr A<0, (tr A)2<4det⁡A\det A>0,\ \text{tr}\,A<0,\ (\text{tr}\,A)^{2}<4\det AComplex, negative real partStable spiral (focus)
tr A=0, det⁡A>0\text{tr}\,A=0,\ \det A>0Purely imaginaryCenter in the linearization; nonlinear terms decide the real behavior

UndergraduateKey theorems

Let A=Df(x∗)A=Df(x^{*}). If every eigenvalue of AA has strictly negative real part, then x∗x^{*} is an asymptotically stable equilibrium of the nonlinear system x˙=f(x)\dot x=f(x). If at least one eigenvalue of AA has strictly positive real part, then x∗x^{*} is unstable.

Why is it true?

Near x∗x^{*} the nonlinear term is much smaller than the linear term, so if the linear part contracts every direction exponentially, that contraction dominates and drags the true trajectory back to x∗x^{*} as well.

Proof

Since every eigenvalue of AA has negative real part (AA is Hurwitz), the matrix equation ATP+PA=−IA^{T}P+PA=-I has a unique symmetric positive-definite solution PP, given explicitly by the convergent integral P=∫0∞eATteAt dtP=\int_0^{\infty}e^{A^{T}t}e^{At}\,dt.

Define the candidate Lyapunov function V(ξ)=ξTPξ≥0V(\xi)=\xi^{T}P\xi\ge0 for the deviation ξ=x−x∗\xi=x-x^{*}. Writing the nonlinear system as ξ˙=Aξ+g(ξ)\dot\xi=A\xi+g(\xi) with g(ξ)=o(∥ξ∥)g(\xi)=o(\|\xi\|) as ξ→0\xi\to0 (the Taylor remainder), compute the time-derivative of VV along nonlinear trajectories.

Using ξ˙=Aξ+g(ξ)\dot\xi=A\xi+g(\xi): V˙=ξ˙TPξ+ξTPξ˙=ξT(ATP+PA)ξ+2ξTPg(ξ)=−∥ξ∥2+2ξTPg(ξ)\dot V=\dot\xi^{T}P\xi+\xi^{T}P\dot\xi=\xi^{T}(A^{T}P+PA)\xi+2\xi^{T}Pg(\xi)=-\|\xi\|^{2}+2\xi^{T}Pg(\xi). Since g(ξ)=o(∥ξ∥)g(\xi)=o(\|\xi\|), there is a neighborhood of x∗x^{*} where 2ξTPg(ξ)≤12∥ξ∥22\xi^{T}Pg(\xi)\le\frac{1}{2}\|\xi\|^{2}, so V˙≤−12∥ξ∥2<0\dot V\le-\frac{1}{2}\|\xi\|^{2}<0 for ξ≠0\xi\ne0 in that neighborhood.

Because VV is positive-definite and V˙\dot V is negative-definite near x∗x^{*}, Lyapunov's direct method (proved next) concludes trajectories starting in that neighborhood converge to x∗x^{*}: asymptotic stability. For the unstable case, if AA has an eigenvalue with positive real part, a symmetric construction (Chetaev's instability theorem) exhibits a direction along which VV increases, showing trajectories are pushed away from x∗x^{*} no matter how close they start.

Suppose VV is continuously differentiable on a neighborhood of x∗x^{*}, with V(x∗)=0V(x^{*})=0 and V(x)>0V(x)>0 for x≠x∗x\ne x^{*} nearby. If V˙(x)≤0\dot V(x)\le0 along every trajectory near x∗x^{*}, then x∗x^{*} is stable; if instead V˙(x)<0\dot V(x)<0 for x≠x∗x\ne x^{*} nearby, then x∗x^{*} is asymptotically stable — with no need to solve the equations or even linearize.

Why is it true?

Think of VV as a generalized energy: if energy never increases along trajectories and is zero only at x∗x^{*}, the system cannot wander away from x∗x^{*}, and if energy strictly decreases it must eventually settle at the only point where it is zero.

Proof

Fix a small ε>0\varepsilon>0 small enough that the closed ball {∥x−x∗∥≤ε}\{\|x-x^{*}\|\le\varepsilon\} lies in the domain where VV is defined and positive away from x∗x^{*}, and let Sε={∥x−x∗∥=ε}S_\varepsilon=\{\|x-x^{*}\|=\varepsilon\} be its boundary sphere. Since VV is continuous and strictly positive on the compact set SεS_\varepsilon, it attains a minimum m=min⁡SεV>0m=\min_{S_\varepsilon}V>0.

By continuity of VV and V(x∗)=0V(x^{*})=0, choose δ∈(0,ε)\delta\in(0,\varepsilon) small enough that ∥x(0)−x∗∥<δ\|x(0)-x^{*}\|<\delta implies V(x(0))<mV(x(0))<m.

Because V˙≤0\dot V\le0 along trajectories, V(x(t))≤V(x(0))<mV(x(t))\le V(x(0))<m for every t≥0t\ge0 that the solution exists. Every point of SεS_\varepsilon has V≥mV\ge m, so the trajectory can never reach SεS_\varepsilon; by continuity of t↦x(t)t\mapsto x(t), it must remain strictly inside the ball of radius ε\varepsilon for all t≥0t\ge0. This is exactly the definition of Lyapunov stability.

If in addition V˙(x)<0\dot V(x)<0 strictly for x≠x∗x\ne x^{*} nearby, then V(x(t))V(x(t)) is strictly decreasing and bounded below by 00, so it converges to some limit c≥0c\ge0. If c>0c>0 were positive, the trajectory would stay in the compact annulus where V≥c>0V\ge c>0, on which V˙\dot V attains a strictly negative maximum, forcing VV to decrease past cc in finite time — a contradiction. Hence c=0c=0, and since VV is positive-definite this forces x(t)→x∗x(t)\to x^{*}: asymptotic stability.

UndergraduateReal-World Applications and Worked Examples

Control engineers check that a feedback controller keeps a drone, robot arm, or chemical reactor at its setpoint by linearizing the closed-loop dynamics and verifying every eigenvalue has negative real part; economists study whether a market equilibrium price is self-correcting after a shock; ecologists linearize predator-prey models to see whether a coexistence equilibrium survives small population fluctuations; and epidemiologists check the stability of the disease-free equilibrium to decide whether an outbreak dies out or grows.

Example: Stability of a damped pendulum's two equilibria

A damped pendulum obeys θ¨+bθ˙+gLsin⁡θ=0\ddot\theta+b\dot\theta+\frac{g}{L}\sin\theta=0. Writing it as a first-order system with ω=θ˙\omega=\dot\theta: θ˙=ω, ω˙=−bω−gLsin⁡θ\dot\theta=\omega,\ \dot\omega=-b\omega-\frac{g}{L}\sin\theta, there are two equilibria (mod 2π2\pi): (θ,ω)=(0,0)(\theta,\omega)=(0,0) (hanging down) and (π,0)(\pi,0) (balanced upright). Taking g/L=10 s−2g/L=10\text{ s}^{-2} and b=1 s−1b=1\text{ s}^{-1}, classify the stability of each.

Solution

The Jacobian of (θ˙,ω˙)(\dot\theta,\dot\omega) with respect to (θ,ω)(\theta,\omega) is J(θ,ω)=(01−gLcos⁡θ−b)J(\theta,\omega)=\begin{pmatrix}0&1\\-\frac{g}{L}\cos\theta&-b\end{pmatrix}.

At (0,0)(0,0): cos⁡0=1\cos0=1, so J=(01−10−1)J=\begin{pmatrix}0&1\\-10&-1\end{pmatrix}, with tr J=−1<0\text{tr}\,J=-1<0 and det⁡J=10>0\det J=10>0. Since (tr J)2−4det⁡J=1−40=−39<0(\text{tr}\,J)^{2}-4\det J=1-40=-39<0, the eigenvalues are complex with negative real part: (0,0)(0,0) is a stable spiral — the pendulum settles back to hanging straight down.

At (π,0)(\pi,0): cos⁡π=−1\cos\pi=-1, so J=(0110−1)J=\begin{pmatrix}0&1\\10&-1\end{pmatrix}, with det⁡J=−10<0\det J=-10<0. A negative determinant means the eigenvalues are real with opposite signs regardless of the trace, so (π,0)(\pi,0) is a saddle point.

A saddle point is always unstable: even though damping is present, any nudge away from the exact upright position grows along the unstable direction, so the pendulum falls rather than staying balanced — exactly as intuition predicts.

Example: Stability of fixed points in the logistic population model

The discrete logistic map xn+1=rxn(1−xn)x_{n+1}=rx_n(1-x_n) (with 0≤xn≤10\le x_n\le1 a normalized population and r>0r>0 a growth rate) has two fixed points: x∗=0x^{*}=0 and x∗=1−1rx^{*}=1-\frac{1}{r} (for r>1r>1). Using the one-dimensional stability test ∣f′(x∗)∣<1|f'(x^{*})|<1, find the range of rr for which each fixed point is stable.

Solution

The derivative of f(x)=rx(1−x)f(x)=rx(1-x) is f′(x)=r−2rxf'(x)=r-2rx.

At x∗=0x^{*}=0: f′(0)=rf'(0)=r, so the stability condition ∣f′(0)∣<1|f'(0)|<1 becomes ∣r∣<1|r|<1, i.e. 0<r<10<r<1 (recalling r>0r>0). In this range the population always dies out toward 00 regardless of starting size.

At x∗=1−1rx^{*}=1-\frac{1}{r} (which only exists for r>1r>1): f′ ⁣(1−1r)=r−2r(1−1r)=r−2r+2=2−rf'\!\left(1-\frac{1}{r}\right)=r-2r\left(1-\frac{1}{r}\right)=r-2r+2=2-r. The stability condition ∣2−r∣<1|2-r|<1 is equivalent to 1<r<31<r<3.

So for 0<r<10<r<1 the extinction equilibrium x∗=0x^{*}=0 is stable; for 1<r<31<r<3 that equilibrium becomes unstable (any nonzero population grows away from it) while the coexistence equilibrium x∗=1−1/rx^{*}=1-1/r takes over as the stable one; for r>3r>3 neither fixed point is stable and the population instead settles into oscillations or chaos — the celebrated period-doubling route that makes the logistic map a classic example in dynamical systems.

What is the difference between (Lyapunov) stability and asymptotic stability of an equilibrium x∗x^{*}?

At an equilibrium of a 2D system, the Jacobian has tr A=−3\text{tr}\,A=-3 and det⁡A=2\det A=2. Classify the equilibrium.

How do engineers use stability theory to certify that a drone's balance controller will recover from a small gust of wind?

What is a Lyapunov function used for?

References

  1. Steven H. Strogatz (2015). Nonlinear Dynamics and Chaos: With Applications to Physics, Biology, Chemistry, and Engineering
  2. Morris W. Hirsch, Stephen Smale, Robert L. Devaney (2013). Differential Equations, Dynamical Systems, and an Introduction to Chaos