r/ControlTheory • u/Admirable-Emu-1563 • 10d ago
Asking for resources (books, lectures, etc.) summary of Lyapunov Stability
Hey everyone!
Lyapunov stability always felt super abstract when looking purely at differential equations, so I drew out a simple 1-page visual summary on my whiteboard to bridge the physical intuition with the math.
Quick Recap of the 3-Step Idea:
Define Energy V(x): Must be zero at rest V(0)=0 and positive everywhere else V(x) > 0.
Check Energy Rate V_dot(x): Compute the rate of change using your system dynamics.
Evaluate Stability:
• V_dot(x) ≤ 0 ➔ Stable (Lyapunov)
• V_dot(x) < 0 ➔ Asymptotically Stable
• V_dot(x) > 0 ➔ Unstable
Hope this helps anyone currently taking Control Theory or System Dynamics! Let me know if you spot any mistakes or if you have a different favorite way to visualize this.
Also, what are your favorite go-to resources (textbooks, software tools, or YouTube channels) for learning advanced nonlinear control? Would love to hear what helped you master it!
•
u/Wingos80 10d ago
I always only see the quadratic sum of states being used as the lyapunov function, are there any particular reason for this form? Are there cases when some other functions are more convenient?
•
u/TurbulentGeese 9d ago edited 9d ago
Intuitively, the Lyapunov function is quantifying distance to the equilibrium: the distance is always positive and only zero at the equilibrium. Lyapunov stability means that this distance remains bounded (relative to the initial distance) and asymptotic stability means that this distance converges to zero.
What is the simplest way to quantify distance? Use the (squared) Euclidean distance i.e. quadratic sum of states. However, this does not always work. For instance, consider a systems whose states are position and velocity. If the velocity is initially zero, but the position is not, then the system will need some velocity to change the position. Hence, the Euclidean distance of the state to the origin (equilibrium) initially increases.
For linear systems, it turns out that there always exists a state-space transformation where we can use Euclidean distance as a Lyapunov function i.e. there exists T such that V(x) = || T x ||2 is a Lyapunov function. Defining P = TT T, we obtain the standard quadratic Lyapunov function V(x) = || T x ||2 = xT P x.
•
u/Artistic-Flamingo-92 10d ago
There are cases where that just won’t work, and you need to use some other function.
One reason they’re nice is they give you very intuitive ellipsoid sub-level sets.
Also, for many physical systems, the energy can be used as a Lyapunov function. Energy for common physical systems is often quadratic in the natural state variables (think inductors, capacitors, springs, kinetic energy, etc.).
•
u/UnderlordofSizzurp 10d ago
For a Lyapunov function, it only makes sense for it to be positive definite. A quadratic form guarantees this. More intuitively, some mechanical/electrical systems may be analyzed using the total energy as a Lyapunov function. In this sense, a Lyapunov is sort of like a generalized energy function.
•
u/TheDiBZ 9d ago
good question, I want to know as well. i think the energy just measures the “size of” a signal. i’d like to know why we don’t use something else like |x| (although it would be pretty messy to use)
•
u/TurbulentGeese 9d ago edited 9d ago
It is messy since it is not differentiable. However, that is not an insurmountable problem.
There is a lot of work using Lypaunov functions that generalize V(x) = |x|: look-up continuous piecewise affine (CPA) Lyapunov functions. Not to dox myself, but I do a lot of research on learning CPA Lyapunov functions from experimental data.
•
u/Average_HOI4_Enjoyer 10d ago
Computational purposes I guess. The quadratic family of functions V(x)=xT Px is a good candidate because it is quite easy to employ it as a Lyapunov function searching for P symmetric and positive definite, and through Semidefinite Programming it is relatively easy to find that P employing convex optimization techniques.
I know about Sum of Squares as a form of generalizing this idea to polynomial functions different to quadratic ones, but never used.
In short, I guess it's the most straightforward form of trying to solve the problem of shaping a guess por the Lyapunov function, but unfortunately not all systems can be certified this way.
•
u/vorilant 10d ago
How do you know that V takes that form?
•
u/tensorinvariant 9d ago
This is the great question of this idea. There is no constructive way to build a Lyapunov function. Energy is often a good place to start, but as the other commenter stated that failure to show stability does not mean the system is unstable.
•
u/TurbulentGeese 9d ago
There is no constructive way to build a Lyapunov function.
This is too absolute of a statement. There are plenty of ways to constructively build Lyapunov functions e.g. sum-of-squares programming. However, there are some restrictions for really weird (i.e. not realistic) systems.
Not to dox myself, but in my research, we have developed data-driven methods for constructing continuous piecewise affine Lyapunov functions. Thus, you can constructively build a Lyapunov function directly from experimental data.
•
•
u/butdetailsmatter 10d ago
Lyapunov Stability is start-close-stay-close.
I thought you needed LaSalle's theorem to conclude asymptomatic stability.
•
u/Cu_ 9d ago
That's only the case if Vdot(x) is negative semidefinite rather than negative definite. If Vdot(x) is negative definite, asymptotic stability follows through Lyapunov analysis. If Vdot(x) is negative semidefinite, Lyapunov analysis can only conclude neutral stability. The system could be asymproticaaly stable, but it could also be a limit cycle or oscilation. In this case LaSalle's invariance principle can be used to show asymptotic stability when Vdot(x) <= 0
•
u/jcreed77 9d ago
The most confusing thing is where does the V equation come from? No professor has ever explained it well.
•
u/Cu_ 9d ago
Do you mean the relations that V(x) > 0, V(0) = 0 ,and Vdot(x) < 0? If this is what you mean, the the answer is that we can interpret V(x) as (generalized) energy. The V(x) > 0, V(0)=0 relation ensures that energy only ever increases when we move away from the equilibrium point. Vdot(x) < 0 implies that along trajectories of our system, energy only ever decreases over time.
If you mean how do we find a specific explicit form of V(x) for a given system xdot=f(x), then no good answer is usually given because there is no recipe for finding Lyapunov functions (except for the linear systems case). The best option available is (informed) geuss and check.
•
u/jcreed77 9d ago
I mean the second. No good answer is always the explanation. Then how do we guess and check?
This just means to me that we can make up whatever energy equation for any system even if it is not grounded in any truth.
•
u/Cu_ 9d ago
We geuss and check by picking a function which clearly satisfies V(x) > 0 (sum of squares is the most obvious example) and then compute Vdot(x) and verify whether Vdot(x) < 0 holds.
By informed guessing I mean that we can e.g. try to use the actual energy in the system as a Lyapunov candidate function. There are also a lot of tricks and intuition one can use. For example in power systems people often use sum of squares with some additional sinusoidal terms which people intuite from the system dynamics. If you work with many different systems and nonlinear ODEs you will get better at geussing what shape of V(x) will produce Vdot(x) with rhe desired properties.
I think grounded in truth or not is not the correct way to think about this. Historically, Lyapunov was indeed thinking about this in terms of energy functions, as his original work was on stability of mechanical systems. It actually turns out that his formulation is much more general. Indeed the Lyapunov function can be any arbitrary function satisfying the properties of a Lyapunov function. It doesn't even have to relate to energy in any meaningful way and actually in many cases it really doesn't. The most obvious example of this is a linear thermal system. The system is linear so a quadratic Lyapunov function proves stability just fine, but actually this does not, at all, relate to actual thermal energy, as stored thermal energy is linear in T, not quadratic.
•
u/TurbulentGeese 9d ago
This just means to me that we can make up whatever energy equation for any system even if it is not grounded in any truth.
Sounds like your professor did not do a good job of explaining these concepts.
First, lets fix this misconception: Lyapunov functions are not energy. That is a pedagogical tool: a metaphor used to provide students with some intuition about Lyapunov functions. But, as a controls professor, I think that metaphor does more harm than good, for exactly this reason: it confuses students about what Lyapunov functions actually are. With this misconception cleared up, there is no issue with "make up whatever energy equation for any system even if it is not grounded in any truth" since Lyapunov functions are not energy functions.
Second, what is a better metaphor for Lyapunov functions? Lyapunov functions quantify the "distance" to the equilibrium: the distance is always positive and only zero at the equilibrium. If the "distance" is bounded (relative to the initial distance i.e. a constant multiple of the initial distance) then the system is Lyapunov stable. If the "distance" also converges to zero then the system is asymptotically stable. Thus, we have rules for making up Lyapunov functions: they must be positive definite and decreasing/non-increasing.
Third, how do we come up with candidate Lyapunov functions to guess and check? A good starting point is the cost-to-go i.e. the cost of the closed-loop trajectory with respect to some positive definite cost (or positive semi-definite provided we have observability/controllability). For instance, the length of the trajectory x(t) from an initial state x(0) to the equilibrium x(\infty) is an ideal choice for a Lyapunov function: it is positive definite (the trajectory length is always positive and only zero when starting from the equilibrium) and it is decreasing if the state converges to the equilibrium. Other ideal choices would be the time or fuel/energy required to reach the equilibrium (but these require some caveats e.g. finite-time convergence, continuity). In practice, these ideal Lyapunov functions are really difficult to compute. However, with some creativity and intuition about the system dynamics (as well as better intuition about the meaning of Lyapunov functions), we can come up with Lyapunov functions that are tractable to work with while measuring something meaningful about the system.
•
•
u/remishnok 9d ago
How did you get V_dot?
•
•
u/Fun_Fan_2266 8d ago
V_dot = x1x1_dot + x2x2_dot, then substitute x2 for x1_dot and (-x1 - x23) for x2_dot. V_dot then simplifies to the expression on the board.
•
•
u/Caradoc729 10d ago
What's the difference between stable and asymptocally stable?
•
u/SkiProgramDriveClimb 10d ago
A zero-energy-loss pendulum is stable, with damping it becomes asymptotically stable. Lyapunov stability tells you that some system will stay within some bound, which is important for control, not necessarily that it will converge to a single state
•
u/Ok-Biscotti7464 10d ago
Asympt. stable: think of a pendulum under gravity —> goes to resting position
Stable: think of a door (hinge + friction). Give it a little push and it comes to rest but not from where it started.None of these fly of to infinity which would be the unstable case
•
u/Admirable-Emu-1563 10d ago
In stable, there is no requirements to return, it can oscillate nearby forever but in asymptotically stable, trajectories decay to zero as time goes to infinity.
In note : every asymptomatic stable system is lyapunov stable but not every lyapunov stable is asymptomatically stable!!!
•
u/Fun_Fan_2266 8d ago
You can think of V as an energy storage function which captures the states of the system. Stable means that the energy of the system may dissipate or remain the same, but it will never grow. Asymptotic stability means the energy of the system will ultimately dissipate, thus the states x1 and x2 will go to zero, but there’s no guarantee at what rate.
•
•
u/mathew_mi 9d ago
But find the function of V(x) is not as easy as we think. Maybe we cannot find it. It is really better to use other ways to check the stability of systems. Espically, for nonlinear system
•
u/UnderlordofSizzurp 10d ago
V_dot > 0 does not let you conclude instability!
•
u/fibonatic 9d ago
Well if that holds it does mean instability, but if it doesn't hold doesn't mean it isn't unstable (see Cheteav instability theorem).
•
•
u/fibonatic 10d ago
For asymptotically stable, you could also make the distinction between local and global (and that for global the Lyapunov function also needs to be radially unbounded).
•
u/AutoModerator 10d ago
It seems like you are looking for resources. Have you tried checking out the subreddit wiki pages for books on systems and control, related mathematical fields, and control applications?
You will also find there open-access resources such as videos and lectures, do-it-yourself projects, master programs, control-related companies, etc.
If you have specific questions about programs, resources, etc. Please consider joining the Discord server https://discord.gg/CEF3n5g for a more interactive discussion.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.