Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.243j (Fall 2003): DYNAMICS OF NONLINEAR SYSTEMS by A. Megretski Lecture 5: Lyapunov Functions and Storage Functions 1 This lecture gives an introduction into system analysis using Lyapunov functions and their generalizations. 5.1 Recognizing Lyapunov functions There exists a number of slightly difierent ways of deflning what constitutes a Lyapunov function for a given system. Depending on the strength of the assumptions, a variety of conclusions about a system’s behavior can be drawn. 5.1.1 Abstract Lyapunov and storage functions In general, Lyapunov functions are real-valued functions of system’s state which are mono- tonically non-increasing on every signal from the system’s behavior set. More gener- ally, stotage functions are real-valued functions of system’s state for which explicit upper bounds of increments are available. Let B = {z} be a behavior set of a system (i.e. elements of B are are vector sig- nals, which represent all possible outputs for autonomous systems, and all possible in- put/output pairs for systems with an input). Remember that by a state of a system we mean a function x : B£ [0,?) ≡? X such that two signals z 1 ,z 2 ≤ B deflne same state of B at time t whenever x(z 1 (¢),t) = x(z 2 (¢),t) (see Lecture 1 notes for details and examples). Here X is a set which can be called the state space of B. Note that, given the behavior set B, state space X is not uniquelly deflned. 1 Version of September 19, 2003 ? 2 Deflnition A real-valued function V : X ≡? R deflned on state space X of a system with behavior set B and state x : B £ [0,?) ≡? X is called a Lyapunov function if t ≡? V (t) = V (x(t)) = V (x(z(¢),t)) is a non-increasing function of time for every z ≤ B. According to this deflnition, Lyapunov functions provide limited but very explicit information about system behavior. For example, if X = R n and V (x(t)) = |x(t)| 2 is a Lyapunov function then we now that system state x(t) remains bounded for all times, though we may have no idea of what the exact value of x(t) is. For conservative systems in physics, the total energy is always a Lyapunov function. Even for non-conservative systems, it is frequently important to look for energy-like ex- pressions as Lyapunov function candidates. One can say that Lyapunov functions have an explicit upper bound (zero) imposed on their increments along system trajectories: V (x(z(¢),t 1 )) ? V (x(z(¢),t 0 )) ? 0 ? t 1 ? t 0 ? 0, z ≤ B. A useful generalization of this is given by storage functions. Deflnition Let B be a set of n-dimensional vector signals z : [0,?) ≡? R n . Let : R n ≡? R be a given function such that (z(t)) is locally integrable for all z(¢) ≤ B. A real-valued function V : X ≡? R deflned on state space X of a system with behavior set B and state x : B £ [0,?) ≡? X is called a storage function with supply rate if t 1 V (x(z(¢),t 1 )) ? V (x(z(¢),t 0 )) ? (z(t))dt ? t 1 ? t 0 ? 0, z ≤ B. (5.1) t 0 In many applications is a function comparing the instantaneous values of input and output. For example, if B = {z(t) = [v(t); w(t)]} is the set of all possible input/output pairs of a given system, existence of a non-negative storage function with supply rate (z(t)) = |v(t)| 2 ?|w(t)| 2 proves that power of the output, deflned as 1 ? t 2 ?w(¢)? p = lim sup |w(?)| 2 d?, T ?? t?T t 0 never exceed power of the input. Example 5.1 Let behavior set B = {(i(t),v(t))} descrive the (dynamcal) voltage-current relation of a passive single port electronic circuit. Then the total energy E = E(t) accumulated in the circuit can serve as a storage function with supply rate (i(t),v(t)) = i(t)v(t). 3 5.1.2 Lyapunov functions for ODE models It is important to have tools for verifying that a given function of a system’s state is monotonically non-increasing along system trajectories, without explicitly calculating so- lutions of system equations. For systems deflned by ODE models, this can usually be done. Consider an autonomous system deflned by ODE model x˙(t) = a(x(t)), (5.2) where a : X ≡? R n is a function deflned on a subset of R n . A functional V : X ≡? R is a Lyapunov function for system (5.2) if t ≡? V (x(t)) is monotonically non-increasing for every solution of (5.2). Remember that x : [t 0 , t 1 ] ? X is called a solution of (5.2) if the composition a – x is absolutely integrable on [t 0 , t 1 ] and equality ? t x(t) = x(t 0 ) + a(x(?))d? t 0 holds for all t ≤ [t 0 , t 1 ]. To check that a given function V is a Lyapunov function for system (5.2), one usually attempts to difierentiate V (x(t)) with respect to t. If X is an open set, and both V and x are difierentiable (note that the difierentiability of x is assured by the continuity of a), the composition t ≡? V (x(t)) is also difierentiable, and the monotonicity condition is given by ∈V (? x) ? 0 ? ?x)a(? x ≤ X, (5.3) where ∈V (x) denotes the gradient of V at x. In some applications one may be forced to work with systems that have non-difierentiable solutions (for example, because of a jump in an external input signal). The convenient Lyapunov function candidates V may also be non-difierentiable at some points. In such situations, it is tempting to consider, for every ? x ≤ X inx ≤ X, the subgradient of V at ? the direction a(?x). One may expect that non-positivity of such subgradients, which can be expressed as V (? x)) ? V (?x + ta(? x) lim sup ? 0 ? ?x ≤ X, (5.4) ??0,?>0 0<t<? t implies that V is a valid Lyapunov function. However, this is not always true. Example 5.2 Using the famous example of a Kantor function, one can construct a bounded integrable function a : R ≡? R and a continuous function V : R ≡? R such x + ta(? ?that t ≡? V (? x)) is constant in a neigborhood of t = 0 for every x ≤ R, but the ODE (5.2) has a solution for which V (x(t)) is strictly monotonically increasing! Here by a Kantor function we mean a continuous strictly monotonic function k : [0, 1] ≡? R such that k(0) = 0 and k(1) = 1 despite the fact that k(t) is constant on a fl – fl – – – – fl – fl 4 family T = {T} of open disjoint intervals T ‰ [0,1] of total length 1. Indeed, for a flxed Kantor function k deflne V (? x) + k(1 ? oor(?x) = oor(? x)), x) denotes the largest integer not larger than x x) be zero on every where oor(? ?. Let a(? interval (m + t 1 ,m + t 2 ), where m is an integer and (t 1 ,t 2 ) ≤ T , and a(?x) = 0 otherwise. Then x(t) · t is a solution of ODE (5.2), but V (x(t)) is strictly monotonically increasing, x + ta(?despite the fact that t ≡? V (? x)) is constant in a neigborhood of t = 0 for every ?x ≤ R. However, if V and all solutions of (5.2) are “smooth enough”, condition (5.4) is su–- cient for V to be a Lyapunov function. Theorem 5.1 If X is an open set in R n , V : X ≡? R is locally Lipschitz, a : X ≡? R n is continuous, and condition (5.4) is satisfled then V (x(t)) is monotonically non-increasing for all solutions x : [t 0 ,t 1 ] ≡? X of (5.2). Proof We will use the following statement: if h : [t 0 ,t 1 ] ≡? R is continuous and satisfles h(t + –) ? h(t) lim sup ? 0 ? t ≤ [t 0 ,t 1 ), (5.5) d?0,d>0 –→(0,d) – then h is monotonically non-increasing. Indeed, for every r > 0 let h r (t) = h(t) ? rt. If h r is monotonically non-increasing for all r > 0 then so is h. Otherwise, assume that h r (t 3 ) > h r (t 2 ) for some t 0 ? t 2 < t 3 ? t 1 and r > 0. Let t 4 be the maximal solution of equation h r (t) = h r (t 2 ) with t ≤ [t 2 ,t 3 ]. Then h r (t) > h r (t 4 ) for all t ≤ (t 4 ,t 3 ], and hence (5.5) is violated at t = t 4 . Now let M be the Lipschitz constant for V in a neigborhood of the trajectory of x. Since a is continuous, fl fl fl x(t + –) ? x(t) fl lim fl ? a(x(t)) fl = 0 ? t. –?0,–>0 Hence the maximum (over t ≤ [t 0 ,t 1 ? –]) of V (x(t + –)) ? V (x(t)) V (x(t) + –a(x(t))) ? V (x(t)) V (x(t + –)) ? V (x(t) + –a(x(t))) = + fl fl V (x(t) + –a(x(t))) ? V (x(t)) fl x(t + –) ? x(t) ? –a(x(t)) fl fl fl ? + M converges to a non-positive limit as – ? 0. ? 5 A time-varying ODE model x˙ 1 (t) = a 1 (x 1 (t), t) (5.6) can be converted to (5.2) by introducing x(t) = [x 1 (t); t], a([barx; ?]) = [a 1 (?x, ?); 1], in which case the Lyapunov function V = V (x(t)) = V (x 1 (t), t) can naturally depend on time. 5.1.3 Storage functions for ODE models Consider the ODE model x˙(t) = f(x(t), u(t)) (5.7) with state vector x(t) ≤ X ‰ R n , input u(t) ≤ U ‰ R m , where f : X £ U ≡? R n is a given function. Let : X £ U ≡? R be a given functional. A function V : X ≡? R is called a storage function with supply rate for system (5.7) t 1 V (x(t 1 )) ? V (x(t 0 )) ? (x(t), u(t))dt t 0 for every pair of integrable functions x : [t 0 , t 1 ] ≡? X, u : [t 0 , t 1 ] ≡? U such that the composition t ≡? f(x(t), u(t)) satisfles the identity ? t x(t) = x(t 0 ) + f(x(t), u(t))dt t 0 for all t ≤ [t 0 , t 1 ]. When X is an open set, f and are continuous, and V is continuously difierentiable, verifying that a given f is a valid storage function with supply rate is straightforward: it is su–cient to check that ∈V ¢ f(? u) ? (? u) ? ? u ≤ U. x, ? x, ? x ≤ X, ? When V is locally Lipschitz, the following generalization of Theorem 5.1 is available. Theorem 5.2 If X is an open set in R n , V : X ≡? R is locally Lipschitz, f, : X£U ≡? R n are continuous, and condition V (? x, ? x)x + tf(? u)) ? V (? x, ? x ≤ X, ?lim sup ? (? u) ? ? u ≤ U (5.8) ??0,?>0 0<t<? t is satisfled then V (x(t)) is a storage function with supply rate for system (5.7). The proof of the theorem follows the lines of Theorem 5.1. Further generalizations to discontinuous functions f, etc., are possible.