So in the previous lecture, we did a lot of technical push ups to end up with end up with a description of what the solution to a general LTI system is. the reason for that is, is that I really, really enjoy rule, even though I do. but that it will actually help us to characterize what these systems are doing. And today, I want to talk about stability, because as you probably recall when we did a control design, first order of business is to design controllers so that systems don't blow up. If they blow up, there's nothing we can do about it. The quad rotors just fall out of the air. The robots drive off to infinity. The cars smash into things. We don't want them to blow up, because the deciding objectives are almost always layered in this sense. First order of business is stability. Then we want to track whatever reference character or reference point we have. We also want it to be robust to parameter uncertainties, and possibly noise. And then we can wrap other objectives around it, like when you want to move as fast, quickly as you can, or use as little energy when you're moving, or things like this. But, regardless of which, stability is always the first order of business. So let's start with scalar systems, no inputs. So only the A matrix now, in this case x dot is little ax, which means that it's scalar. Well then the solution x of t is e to the a, we said t minus t naught x of t naught. Here I simply picked t naught to be equal to 0. So this is the solution. Okay, lets plot what this solution looks like. If a is positive, then x of t it starts nicely and then pabaah. Its, its blowing up as far as I can tell. So if a is positive this system blows up. Well, if a is negative, then e to the at, this is a decaying exponential. So we get x to just go, , nice down to zero. What happens if a is zero in between these 2? Well, then you have e to the zero t, which is 1. So then, x of t is simply equal to x naught. x never changes. So here, it didn't blow up, but it didn't actually go down to zero. And in fact, what we have its, its really a sitution where three possible things can happen you blow up, you go down to zero, or you stay put. So let's talk about these three cases. The first case is what is called asymptotic, stability. So the system is asymptotically stable if x goes to zero For all initial conditions, so this fancy upside down a, is known as the universal quantifier. All we need to know is that when we see and upside down a the way we pronounce it is for all x nought. So asymptotic stability means that we go to zero and almost always what we want to design our system so that x actually goes to 0 no matter where we start, that's asymptotically stability and as you recall, in the scalar case, a strictly negative corresponds to asymptotically stability. And then we have unstability, instability where the system being unstable. What that means is there exists an initial condition, so the flipped e, and to speak for the existential quantifier, which we read it as exists. So it's unstable if there exists so many extra conditions from which the system actually blows up. In the scaler case, we had A positive corresponding to instability. and then we have something we call critical stability, which is somehow in between. The system doesn't blow up. But it doesn't go to zero either, and in fact, for the scalar system, this corresponded, corresponded to the, a equal to zero case. So if you summarize that, if you have a scalar system then a positive means the system is unstable. A negative means that the system is asymptotically stable, which is code for saying that the state goes to zero. And a zero means critically stable. Okay. Let use this way of thinking now on the matrix case. X. is ax, capital A. So this is now, x is a vector, a is a matrix. What do we do there? Well, we can't just say. Oh, a is positive, or a is negative. Because a is a matrix. It's not positive or negative. But what we can do is we can go for the next best thing, which is the eigenva lues. And, in fact, almost always, the intuition you get from a scalar system translates into the behavior of the eigenvalues of these matrices. And for those of you who don't know what eigenvalues are, these are the special things that are associated with matrices. So, if I have a matrix A; N by N, and I multiply it by a vector an N by 1 vector, if I can write it as the same vector times a scalar, then what this means is that the way that A acts on this vector is basically scaling it. And the scaling factor is given by lambda. If I can, if I can find lambda of v to satisfy this, then what I have is a lambda that is called an eigenvalue. And it's actually not a real number. It's typically a complex number. So it's a, a slightly more general object than just a real number, but that's an eigenvalue. And v is known as an eigenvector. And eigenvalues and eigenvectors are really these fundamental objects in, in when you're dealing with matrices and when you want to understand how they behave. And, whenever you think scalar first, you can almost always translate it into what do the eigenvalues, eigenvalues do for your systems. And, the eigenvalues actually would tell you how the matrix a acts in the directions of eh eigenvectors. So, you can almost think of them as scalar systems in the directions of the different eigenvectors. And, you know, sometimes you may want to compute eigenvalues. I don't. So, if you use MATLAB. You would just write, eig(A), and out pops the eigenvalues. whatever software you, your comfortable with, you want to use C, or Python, or whatever, there is almost always a library that allows you to compute eigenvalues. And, the command is typically something like eig(A). So, this would give you what eigenvalues are, given a particular matrix. Okay. Let's see what this actually means. Let's take a simple example here. Here's my a system. 1, 0, o minus 1. if you take eig a of this. you get 1 eigenvalue being 1. And the other eigenvalue being negative 1. And the correspo nding eigenvectors are 1, 0, and 0, 1. Okay. What does this mean? It actually means the following. So let's say that this is x1, and this is x2. Okay. V2 was 0, 1. So this was this direction. So here is what, v2 is. This is the direction in which v2 is pointing. Well, the eigenvalue there is negative 1, which means that, if you recall the scalar system, when a was negative, we had stability. So if I start here, my trajectory is going to pull me down to zero. Nice and stable, and in fact, if I start here, it's going to pull me up to zero, nice and stable. Right. So, if I'm starting. on the x2 axis, my system is well behaved. If I start on the x1 axis, I have lambda 1 being positive, which corresponds to little a being positive in the scalar case, which means that the system actually blows up. So, here, the system goes off to infinity. And, in fact, if I start here, my x2 component is going to shrink but my x1 component is going to go off to infinity. So what I have is this is what the system actually looks like. So the eigen vectors in this case will tell me what happens along different dimensions of, of the system. So after all of this, if I have x dot as big AX, and I can find a solution, then the system is asymptotically stable, if and only if, for the scalar case, we had that little a had to be negative. What we need in the matrix case is that the real part, remember that Lambda are complex, the real part of Lambda is strictly negative for all eigenvalues to a. For all, this is what asymptotic stability means for linear systems. Unstable means that there is one or more, but one single bad eigenvalue spoils the whole bunch. So a single eigenvalue that has positive real part. This is an, a sufficient condition for instability. And we have critical stability only if so this is a, a necessary condition that says the real part has to be less than or equal to 0 for all igon values. But where we are going to be spending our time is Typically up here in the asymptotically stabl e domain, because what we want to do, is we want to design our system or our controllers in such a way that the closed loop system is asymptotically stable. So we're going to somehow make the eigen values have negative real part That's going to be one of the design objectives that we're interested in. And I want to point out something about critical stability that if one eigenvalue is 0 and the rest of the eigenvalues have negative real part, or if you have two purely imaginary eigenvalues So they have no real part, and the rest have negative real part, then you have critical stability. and we will actually see that a little bit later on, but the thing that I really want to take, you to take with you based on this slide, is, you look at the a matrix, you compute the eigenvalues. If the real part of the eigenvalues are all negative You're free and clear, the system is asymptotically stable. If one or more eigenvalues have positive real part, you toast, your system blows up. That is bad. So, let's end with a tale of two pendula. Here is the normal pendula, well if you compute the of this, you get this matrix. And the eigenvalues are j and negative j. Well, I don't know if you remember, but on the previous slide, there was a bullet that said if you have 2 purely imaginary eigenvalues, which we have here. We have 2 purely imaginary eigenvalues and then no more, then we have critical stability. What this actually means is that, this pendulum, clearly, there is no friction or grav-, or damping here. It's just going to oscillate forever. It's not going to blow up. And it's, , excuse me. And it's not going to go down to zero. It's just going to keep oscillating forever and ever. It's critically stable system. Now, let's look at the inverted pendulum where I'm moving the base, but in that case, a is 0110. We already know, this things is going to fall over. Right? So, if you compute the Eigen values you get one Eigen value to be equal to negative 1 and 1 to be positive 1, which means that, we have one Rothton eigenvalue. This eigenvalue that's going to spoil the system. So this in an unstable system. So now that we understand that eigenvalues really matter, and they really influence the behavior of the system, let's see, , excuse me, how we can use this to our advantage when we do control design.