LinearSystems.Stability.Continuous.LyapunovLTV #
Hespanha's Lyapunov-stability definition for a continuous-time linear time-varying system,
read as theorems about the stability predicates of Stability/Continuous/Defs.lean, applied
to the unforced system s.toContinuousSystem.zeroInput.
The textbook states four conditions on the homogeneous state response x(t) = Φ(t, t₀) x₀ of
ẋ = A(t) x and calls them stability, asymptotic stability, exponential stability and
instability. Nothing here re-defines any of those: each of the four is proved equivalent
to the predicate the nonlinear track already has, so a result proved on either side is
available on the other.
Contents #
Each result is stated about a ContinuousLTV, since these are properties of a system,
and needs only Continuous s.A — the input and output matrices play no part in Lyapunov
stability.
- Definition 8.1(1) —
stable_iff_boundedHomogeneousResponse: stability is boundedness of every homogeneous response. Its workhorsestable_iff_boundedStateTransitiongives the equivalent bound onΦ(t, t₀)itself, anduniformlyStable_iff_uniformlyBoundedStateTransitionmakes that bound independent oft₀. - Definition 8.1(2) —
locallyAsymptoticallyStable_iff_decayingHomogeneousResponse. - Definition 8.1(3) —
locallyExponentiallyStable_iff_decayingStateTransitionand its global twingloballyExponentiallyStable_iff_decayingStateTransition, withlocallyExponentiallyStable_iff_globallyExponentiallyStablerecording that for a linear system the two coincide. - Definition 8.1(4) —
unstable_iff_unboundedHomogeneousResponse.
Every one of them is the trajectory characterization plus homogeneity. The trajectory
characterization itself is solution theory and lives in Solutions/CtsLTV.lean:
ContinuousLTV.isTrajectory_homogeneousResponse for existence and
eq_homogeneousResponse_of_isIntegralCurveOn for uniqueness.
One state space, one set of stability predicates #
Everything here lives in X → ℝ under the L∞ norm — the space Solutions/ works in,
because that is where matrix multiplication is submultiplicative and the Peano–Baker series
converges. Stability/Continuous/Defs.lean is stated over an arbitrary real normed space,
so its predicates apply here directly: there is no second notion of stability for linear
systems and no transport between state spaces.
The unforced system is s.toContinuousSystem.zeroInput, whose trajectories are those of s
under the zero input, and ContinuousLTV.vectorField_zero_input reduces its vector field to
fun t z => s.A t *ᵥ z. That reduction is what lets the left-hand sides speak about the system
while the proofs work with the state matrix.
The predicates quantify over trajectory segments [t₀, t₁], so no solution is assumed to exist
for all time; local asymptotic stability also asks for forward completeness, which a linear
system has (ContinuousLTV.isForwardComplete_zeroInput).
Why the equivalences are not definitional #
Two things separate the textbook statements from the predicates:
- The textbook quantifies over initial conditions, the predicates over trajectories. The
gap closes in both directions only because
Φboth solves the equation (ContinuousLTV.isTrajectory_homogeneousResponse) and is the unique solution (eq_homogeneousResponse_of_isIntegralCurveOn) — the second is where Grönwall enters, throughstateTransitionMatrix_mulVec_unique. - The textbook's bounds are on the response from every initial state; the predicates'
bounds are on the response from a ball. Linearity is what makes these the same: the
response from
r x₀isrtimes the response fromx₀, so a bound on any ball scales to a bound everywhere. This is why a linear system has no nontrivial region of attraction, and the reasonlocallyExponentiallyStable_iff_globallyExponentiallyStableholds.
The sign in Real.exp (-γ * (t - t₀)) is the decaying one; the estimate as printed in some
editions of Hespanha carries e^{λ(t-t₀)} with λ > 0, which is a typo for e^{-λ(t-t₀)}.
Reference: Hespanha, Linear Systems Theory (2nd ed.), Chapter 8, Definition 8.1; Khalil, Nonlinear Systems (3rd ed.), Definitions 4.4 and 4.5.
Trajectories of a linear system #
"The solutions of ẋ = A(t) x from t₀ are exactly the homogeneous responses Φ(·, t₀) x₀"
is solution theory and lives in Solutions/CtsLTV.lean, stated on the system:
ContinuousLTV.isTrajectoryOn_homogeneousResponse for existence and
ContinuousLTV.eq_homogeneousResponse_of_isTrajectoryOn for uniqueness, on a segment. No
bridging is needed here, because a trajectory of s.toContinuousSystem.zeroInput on I is a
trajectory of s under the zero input on I — both unfold to
IsIntegralCurveOn φ (s.vectorField 0) I.
That the origin is an equilibrium is likewise a property of the system,
ContinuousLTV.vectorField_apply_zero. Everything below is those facts plus
homogeneity.
Homogeneity #
A bound on the response from a ball is a bound from every state, because the response is
linear in the initial state: Mathlib's ContinuousLinearMap.opNorm_le_of_ball and
ContinuousLinearMap.opNorm_le_of_shell, applied to x ↦ Φ(t, t₀) x. This is the only place
linearity is used beyond the trajectory characterization above.
Stability at a single initial time #
Lyapunov stability and uniform Lyapunov stability differ only in where the quantifier on the
initial time sits — Khalil's whole distinction is the order of ∃ δ and ∀ t₀. The two lemmas
below are the content at a fixed t₀, with the margin δ and the bound C explicit, so that
each of the two theorems is nothing but quantifier placement on top of them.
Definition 8.1(1): Lyapunov stability #
The state-transition form of Definition 8.1(1): stability of ẋ = A(t) x is a bound
‖Φ(t, t₀) x‖ ≤ C ‖x‖, uniform in t but allowed to depend on t₀.
This is the workhorse behind stable_iff_boundedHomogeneousResponse; it is stated separately
because the bound on every state, not the per-initial-condition one, is what later results consume.
The system ẋ = A(t) x is (marginally) stable in the sense of Lyapunov — for every
initial condition x(t₀) = x₀ the homogeneous state response
x(t) = Φ(t, t₀) x₀ is bounded on [t₀, ∞) — exactly when the origin is a stable equilibrium
in the sense of ContinuousSystem.Stable.
The textbook's per-initial-condition form and the state-transition form are equivalent by Banach–Steinhaus: a pointwise-bounded family of operators on a Banach space is norm-bounded.
Uniform stability is the same bound made independent of the initial time.
Khalil separates uniform stability from stability by the order of the quantifiers on δ and
t₀; on the linear side that separation is visible as whether the constant C bounding the
response may depend on t₀.
Definition 8.1(2): asymptotic stability #
The system ẋ = A(t) x is asymptotically stable — stable,
and x(t) = Φ(t, t₀) x₀ → 0 for every initial condition — exactly when the origin is
asymptotically stable in the sense of ContinuousSystem.LocallyAsymptoticallyStable.
The boundedness clause is stated because the textbook states it ("in addition"), not because it is needed: a continuous response that converges is bounded.
Definition 8.1(3): exponential stability #
Exponential stability in its global form: the response obeys
‖x(t)‖ ≤ k e^{-γ(t - t₀)} ‖x(t₀)‖ for every initial condition.
Exponential stability in its local form. The right-hand side is the same as in
globallyExponentiallyStable_iff_decayingStateTransition: the radius c of the local
definition carries no information for a linear system.
For a linear system, exponential stability is automatically global.
A linear system has no nontrivial region of attraction: the two definitions differ only by a radius, and the response is homogeneous, so the radius scales away.
Definition 8.1(4): instability #
The system is unstable when it is not marginally stable: some initial condition has an unbounded homogeneous response.