Lyapunov equation

From testwiki
Revision as of 23:46, 5 November 2024 by imported>Natg 19 (Disambiguate Hurwitz matrix to Hurwitz-stable matrix using popups)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

Template:Short description The Lyapunov equation, named after the Russian mathematician Aleksandr Lyapunov, is a matrix equation used in the stability analysis of linear dynamical systems.[1][2]

In particular, the discrete-time Lyapunov equation (also known as Stein equation) for X is

AXAHX+Q=0

where Q is a Hermitian matrix and AH is the conjugate transpose of A, while the continuous-time Lyapunov equation is

AX+XAH+Q=0.

Application to stability

In the following theorems A,P,Qℝn×n, and P and Q are symmetric. The notation P>0 means that the matrix P is positive definite.

Theorem (continuous time version). Given any Q>0, there exists a unique P>0 satisfying ATP+PA+Q=0 if and only if the linear system xΛ™=Ax is globally asymptotically stable. The quadratic function V(x)=xTPx is a Lyapunov function that can be used to verify stability.

Theorem (discrete time version). Given any Q>0, there exists a unique P>0 satisfying ATPAP+Q=0 if and only if the linear system xt+1=Axt is globally asymptotically stable. As before, xTPx is a Lyapunov function.

Computational aspects of solution

The Lyapunov equation is linear; therefore, if X contains n entries, the equation can be solved in π’ͺ(n3) time using standard matrix factorization methods.

However, specialized algorithms are available which can yield solutions much quicker owing to the specific structure of the Lyapunov equation. For the discrete case, the Schur method of Kitagawa is often used.[3] For the continuous Lyapunov equation the Bartels–Stewart algorithm can be used.[4]

Analytic solution

Defining the vectorization operator vec(A) as stacking the columns of a matrix A and AB as the Kronecker product of A and B, the continuous time and discrete time Lyapunov equations can be expressed as solutions of a matrix equation. Furthermore, if the matrix A is "stable", the solution can also be expressed as an integral (continuous time case) or as an infinite sum (discrete time case).

Discrete time

Using the result that vec(ABC)=(CTA)vec(B), one has

(In2AΒ―A)vec(X)=vec(Q)

where In2 is a conformable identity matrix and AΒ― is the element-wise complex conjugate of A.[5] One may then solve for vec(X) by inverting or solving the linear equations. To get X, one must just reshape vec(X) appropriately.

Moreover, if A is stable (in the sense of Schur stability, i.e., having eigenvalues with magnitude less than 1), the solution X can also be written as

X=k=0AkQ(AH)k.

For comparison, consider the one-dimensional case, where this just says that the solution of (1a2)x=q is

x=q1a2=k=0qa2k.

Continuous time

Using again the Kronecker product notation and the vectorization operator, one has the matrix equation

(InA+AΒ―In)vecX=vecQ,

where AΒ― denotes the matrix obtained by complex conjugating the entries of A.

Similar to the discrete-time case, if A is stable (in the sense of Hurwitz stability, i.e., having eigenvalues with negative real parts), the solution X can also be written as

X=0eAτQeAHτdτ,

which holds because

AX+XAH=0AeAτQeAHτ+eAτQeAHτAHdτ=0ddτeAτQeAHτdτ=eAτQeAHτ|0=Q.

For comparison, consider the one-dimensional case, where this just says that the solution of 2ax=q is

x=q2a=0qe2aτdτ.

Relationship Between Discrete and Continuous Lyapunov Equations

We start with the continuous-time linear dynamics:

𝐱˙=𝐀𝐱.

And then discretize it as follows:

𝐱˙𝐱t+1𝐱tδ

Where δ>0 indicates a small forward displacement in time. Substituting the bottom equation into the top and shuffling terms around, we get a discrete-time equation for 𝐱t+1.

𝐱t+1=𝐱t+δ𝐀𝐱t=(𝐈+δ𝐀)𝐱t=𝐁𝐱t

Where we've defined 𝐁𝐈+δ𝐀. Now we can use the discrete time Lyapunov equation for 𝐁:

𝐁T𝐌𝐁𝐌=δ𝐐

Plugging in our definition for 𝐁, we get:

(𝐈+δ𝐀)T𝐌(𝐈+δ𝐀)𝐌=δ𝐐

Expanding this expression out yields:

(𝐌+δ𝐀T𝐌)(𝐈+δ𝐀)𝐌=δ(𝐀T𝐌+πŒπ€)+δ2𝐀TπŒπ€=δ𝐐

Recall that δ is a small displacement in time. Letting δ go to zero brings us closer and closer to having continuous dynamicsβ€”and in the limit we achieve them. It stands to reason that we should also recover the continuous-time Lyapunov equations in the limit as well. Dividing through by δ on both sides, and then letting δ0 we find that:

𝐀T𝐌+πŒπ€=𝐐

which is the continuous-time Lyapunov equation, as desired.

See also

References

Template:Reflist

Template:Authority control