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.