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 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 different ways of defining 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 systems behavior set. More gener ally, stotage functions are real-valued functions of systems state for which explicit upper bounds of increments are available Let B=2l 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 21,∈ B define same state of B at time t whenever x(1), t)=z(22(), 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 ehavior se t B, state space X is not uniquely defined I Version of September 19. 2003
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 different ways of defining 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 monotonically non-increasing on every signal from the system’s behavior set. More generally, 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 signals, which represent all possible outputs for autonomous systems, and all possible input/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 z1, z2 ≤ B define same state of B at time t whenever x(z1(·), t) = x(z2(·), 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 defined. 1Version of September 19, 2003
Definition A real-valued function V: X H R defined on state space X of a system with behavior set B and state r:B×[0,∞)→ X is called a Lyapunov function if tHv(t)=v(a(t))=v(a(z(), t)) is a non-increasing function of time for every z E B according to this definition, Lyapunov functions provide limited but very explic information about system behavior. For example, if X=R and v(z(t)=lr(t)12 is a Lyapunov function then we now that system state r(t) remains bounded for all times, though we may have no idea of what the exact value of r(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(·),t1))-V(x(2(),to)≤0yt≥to≥0,z∈B A useful generalization of this is given by storage functions Definition Let B be a set of n-dimensional vector signals z: 0, oo)bR.Let o: R" be a given function such that a(z(t)is locally integrable for all z()EB. A real-valued function V: XHR defined on state space X of a system with behavior set B and state x: Bx 0, oo)H X is called a storage function with supply rate a if V(x(2(1),t1)-V(x(x(,t0)/a((t)tyh1≥to≥0,z∈B.(5.1) In many applications o is a function comparing the instantaneous values of input and output. For example, if B=2(t)=u(t; w(t)I is the set of all possible input/output pairs of a given system, existence of a non-negative storage function with supply rate o(z(t))=u(t)12-lw(t)2 proves that power of the output, defined as l w(- )p=lim sup,/lw(r)dr never exceed power of the input Example 5.1 Let behavior set B=l(i(t), u(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)(t)
� 2 Definition A real-valued function V : X ≡� R defined 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 definition, Lyapunov functions provide limited but very explicit information about system behavior. For example, if X = Rn 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 expressions 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(·), t1)) − V (x(z(·), t0)) ∀ 0 � t1 → t0 → 0, z ≤ B. A useful generalization of this is given by storage functions. Definition Let B be a set of n-dimensional vector signals z : [0,⊂) ≡� Rn. Let � : Rn ≡� R be a given function such that �(z(t)) is locally integrable for all z(·) ≤ B. A real-valued function V : X ≡� R defined 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 t1 V (x(z(·), t1)) − V (x(z(·), t0)) ∀ �(z(t))dt � t1 → t0 → 0, z ≤ B. (5.1) t0 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, defined 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)
5.1.2 Lyapunov functions for ODE models It is important to have tools for verifying that a given function of a systems state is monotonically non-increasing along system trajectories, without explicitly calculating So- lutions of system equations. For systems defined by Ode models, this can usually be d Consider an autonomous system defined by OdE model i(t=a(r(t)) where a: X a function defined on a subset of r, a functional V: HrIs a Lyapunov function for system (5.2) if t+ V(r(t) is monotonically non-increasing for every solution of (5.2 ). Remember that a: [to, ti-X is called a solution of (5.2) if the composition a o r is absolutely integrable on to, ti and equality ar(t)=r(to)+/a(a(r)dr t∈[to,t1] To check that a given function V is a Lyapunov function for system(5.2), one usually ttempts to differentiate V(a(t)) with respect to t. If X is an open set, and both V and a are differentiable(note that the differentiability of r is assured by the continuity of a), the composition tHV(a(t)) is also differentiable, and the monotonicity condition is given by VV()a(z)≤0Vz∈X, (5.3) where Vv(a) denotes the gradient of V at a In some applications one may be forced to work with systems that have non-differentiable solutions(for example, because of a jump in an external input signal). The convenient Lyapunov function candidates V may also be non-differentiable at some points. In such situations, it is tempting to consider, for every i E X, the subgradient of V atTE X the direction a(i). One may expect that non-positivity of such subgradients, which be expressed as V(I+ta(E))-V(a m sup ≤0Vz∈X, 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: RhR and a continuous function R→ R such that tV(I+ta(i)) is constant in a neigborhood of t=0 for every i E R, but the ODE (5.2 )has a solution for which V(a(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)=l despite the fact that k(t)is constant on
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 solutions of system equations. For systems defined by ODE models, this can usually be done. Consider an autonomous system defined by ODE model x˙ (t) = a(x(t)), (5.2) where a : X ≡� Rn is a function defined on a subset of Rn. 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 : [t0,t1] � X is called a solution of (5.2) if the composition a ∞ x is absolutely integrable on [t0,t1] and equality � t x(t) = x(t0) + a(x(� ))d� t0 holds for all t ≤ [t0,t1]. To check that a given function V is a Lyapunov function for system (5.2), one usually attempts to differentiate V (x(t)) with respect to t. If X is an open set, and both V and x are differentiable (note that the differentiability of x is assured by the continuity of a), the composition t ≡� V (x(t)) is also differentiable, and the monotonicity condition is given by ∈V (¯x)a(¯x) ∀ 0 � 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-differentiable solutions (for example, because of a jump in an external input signal). The convenient Lyapunov function candidates V may also be non-differentiable at some points. In such situations, it is tempting to consider, for every x¯ ≤ X, the subgradient of V at x¯ ≤ X in the direction a(¯x). One may expect that non-positivity of such subgradients, which can be expressed as V (¯x + ta(¯x)) − V (¯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 that t ≡� V (¯x + ta(¯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
family T=T) of open disjoint intervals T C[0, 1] of total length 1. Indeed, for a fixed Kantor function k define V()=foor(E)+k(- foor(E) where foor(r)denotes the largest integer not larger than E. Let a(i) be zero on every interval(m+t1, m+t2), where m is an integer and(t1, t2)ET, and a(i)=0 otherwise Then r(t)=t is a solution of ODE (5.2), but v(a(t)) is strictly monotonically increasing, respite the fact that tH V(E+ ta(i)is constant in a neigborhood of t=0 for every However, if V and all solutions of(5.2)are"smooth enough", condition(5. 4) is suffi nt for V to be a Lyapunov function Theorem 5.1 IfX is an open set inR",V: XHR is locally lipschitz, a: XHR" is continuous, and condition(5.4)is satisfied then v(a(t) is monotonically non-increasing for all solutions x: [ to, t1]- X of(5.2) Proof We will use the following statement: if h: to, t1 - R is continuous and satisfies h(t+0)-h(t) ≤0t∈{to,t1), (5.5) then h is monotonically non-increasing. Indeed, for every r>0 let hr(t)=h(t)-rt If hr is monotonically non-increasing for all r>0 then so is h. Otherwise, assume that hr(t3)> hr(t2)for some to 0. Let ta be the maximal solution of equation hr(t)=h(t2)with tE [t2, t3]. Then hr(t)>h,(t4) for all t E(t4, t3], and hence (5.5) is violated at t= t4 Now let M be the lipschitz constant for v in a neigborhood of the trajectory of a Since a is continuous (t+6)-r(t) a(r(t)=0V Hence the maximum(over tE[ to, t1-8) of converges to a non-positive limit as 8-0
� � � � � � 4 family T = {T} of open disjoint intervals T � [0, 1] of total length 1. Indeed, for a fixed Kantor function k define V (¯x) = floor(¯x) + k(1 − floor(¯x)), where floor(¯x) denotes the largest integer not larger than x x ¯. Let a(¯) be zero on every interval (m + t1, m + t2), where m is an integer and (t1, t2) ≤ 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, despite the fact that t ≡� V (¯x + ta(¯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 suffi cient for V to be a Lyapunov function. Theorem 5.1 If X is an open set in Rn, V : X ≡� R is locally Lipschitz, a : X ≡� Rn is continuous, and condition (5.4) is satisfied then V (x(t)) is monotonically non-increasing for all solutions x : [t0, t1] ≡� X of (5.2). Proof We will use the following statement: if h : [t0, t1] ≡� R is continuous and satisfies h(t + �) − h(t) lim sup ∀ 0 � t ≤ [t0, t1), (5.5) d�0,d>0 �→(0,d) � then h is monotonically non-increasing. Indeed, for every r > 0 let hr(t) = h(t) − rt. If hr is monotonically non-increasing for all r > 0 then so is h. Otherwise, assume that hr(t3) > hr(t2) for some t0 ∀ t2 0. Let t4 be the maximal solution of equation hr(t) = hr(t2) with t ≤ [t2, t3]. Then hr(t) > hr(t4) for all t ≤ (t4, t3], and hence (5.5) is violated at t = t4. Now let M be the Lipschitz constant for V in a neigborhood of the trajectory of x. Since a is continuous, x(t + �) − x(t) lim − a(x(t)) = 0 � t. ��0,�>0 Hence the maximum (over t ≤ [t0, t1 − �]) 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))) = + V (x(t) + �a(x(t))) − V (x(t)) x(t + �) − x(t) − �a(x(t)) ∀ + M converges to a non-positive limit as � � 0
A time-varying ODE model i1(t)=a1(x1(t),t) (5.6) can be converted to (5.2) by introducing r(t)=[x1(t);t,a(barx;r)=[a1(Z,7);1], n which case the Lyapunov function V= v((t))=v(i(t), t) can naturally depend on time 5.1.3 Storage functions for ODE models Consider the ode model i(t)=f(ar(t), u(t) with state vector a()∈XcR", input u(t)∈UcR", where f:XxU→R"isa given function.Leta:X×U→→ R be a given functional. A function v:X→Ris called a storage function with supply rate o for system(5.7) v(a(ti))-v(a(to)) (x(t),(t)) for every pair of integrable functions x: [to, tibX, u: to, ti H U such that the composition tH f(a(t), u(t)satisfies the identity ar(t)=r(to)+/f(r(t),u(t)dt ∈[o,t When X is an open set, f and o are continuous, and v is continuously differentiable verifying that a given f is a valid storage function with supply rate g is straightforward it is sufficient to check that VV·f(,a)≤0(z,)VE∈X,i∈U When V is locally Lipschitz, the following generalization of Theorem 5. 1 is available Theorem5.2 If X is an open set in R,V:X→ R is locally lipschitz,f,a:X×U→ R lim V(I+tf(,i))-V(r) ≤(x,)Vz∈X,∈ (5.8) is satisfied then V(r(t)) is a storage function with supply rate o 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
� 5 A time-varying ODE model x˙ 1(t) = a1(x1(t),t) (5.6) can be converted to (5.2) by introducing x(t) = [x1(t);t], a([barx; � ]) = [a1(¯x, � ); 1], in which case the Lyapunov function V = V (x(t)) = V (x1(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 � Rn, input u(t) ≤ U � Rm, where f : X × U ≡� Rn 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) t1 V (x(t1)) − V (x(t0)) ∀ �(x(t), u(t))dt t0 for every pair of integrable functions x : [t0,t1] ≡� X, u : [t0,t1] ≡� U such that the composition t ≡� f(x(t), u(t)) satisfies the identity � t x(t) = x(t0) + f(x(t), u(t))dt t0 for all t ≤ [t0,t1]. When X is an open set, f and � are continuous, and V is continuously differentiable, verifying that a given f is a valid storage function with supply rate � is straightforward: it is sufficient to check that ∈V · f(¯x, u¯) ∀ �(¯x, u¯) � x¯ ≤ X, u¯ ≤ U. When V is locally Lipschitz, the following generalization of Theorem 5.1 is available. Theorem 5.2 If X is an open set in Rn, V : X ≡� R is locally Lipschitz, f, � : X×U ≡� Rn are continuous, and condition V (¯x + tf(¯x, u¯)) − V (¯x) lim sup ∀ �(¯x, u¯) � x¯ ≤ X, u¯ ≤ U (5.8) ��0,�>0 0<t<� t is satisfied 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