# Lyapunov equation

In control theory, the discrete Lyapunov equation (also known as Stein equation) is of the form

$AXA^{H}-X+Q=0$ where $Q$ is a Hermitian matrix and $A^{H}$ is the conjugate transpose of $A$ .

The continuous Lyapunov equation is of the form

$AX+XA^{H}+Q=0$ .

The Lyapunov equation occurs in many branches of control theory, such as stability analysis and optimal control. This and related equations are named after the Russian mathematician Aleksandr Lyapunov.

## Application to stability

In the following theorems $A,P,Q\in \mathbb {R} ^{n\times 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 $A^{T}P+PA+Q=0$ if and only if the linear system ${\dot {x}}=Ax$ is globally asymptotically stable. The quadratic function $V(x)=x^{T}Px$ 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 $A^{T}PA-P+Q=0$ if and only if the linear system $x_{t+1}=Ax_{t}$ is globally asymptotically stable. As before, $x^{T}Px$ is a Lyapunov function.

## Computational aspects of solution

The Lyapunov equation is linear, and so if $X$ contains $n$ entries can be solved in ${\mathcal {O}}(n^{3})$ 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. For the continuous Lyapunov equation the Bartels–Stewart algorithm can be used.

## Analytic solution

Defining the vectorization operator $\operatorname {vec} (A)$ as stacking the columns of a matrix $A$ and $A\otimes B$ 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 $\operatorname {vec} (ABC)=(C^{T}\otimes A)\operatorname {vec} (B)$ , one has

$(I_{n^{2}}-{\bar {A}}\otimes A)\operatorname {vec} (X)=\operatorname {vec} (Q)$ where $I_{n^{2}}$ is a conformable identity matrix and ${\bar {A}}$ is the element-wise complex conjugate of $A$ . One may then solve for $\operatorname {vec} (X)$ by inverting or solving the linear equations. To get $X$ , one must just reshape $\operatorname {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=\sum _{k=0}^{\infty }A^{k}Q(A^{H})^{k}$ .

For comparison, consider the one-dimensional case, where this just says that the solution of $(1-a^{2})x=q$ is

$x={\frac {q}{1-a^{2}}}=\sum _{k=0}^{\infty }qa^{2k}$ .

### Continuous time

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

$(I_{n}\otimes A+{\bar {A}}\otimes I_{n})\operatorname {vec} X=-\operatorname {vec} Q,$ where ${\bar {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=\int _{0}^{\infty }{e}^{A\tau }Q\mathrm {e} ^{A^{H}\tau }d\tau$ ,

which holds because

{\begin{aligned}AX+XA^{H}=&\int _{0}^{\infty }A{e}^{A\tau }Q\mathrm {e} ^{A^{H}\tau }+{e}^{A\tau }Q\mathrm {e} ^{A^{H}\tau }A^{H}d\tau \\=&\int _{0}^{\infty }{\frac {d}{d\tau }}{e}^{A\tau }Q\mathrm {e} ^{A^{H}\tau }d\tau \\=&{e}^{A\tau }Q\mathrm {e} ^{A^{H}\tau }{\bigg |}_{0}^{\infty }\\=&-Q.\end{aligned}} For comparison, consider the one-dimensional case, where this just says that the solution of $2ax=-q$ is

$x={\frac {-q}{2a}}=\int _{0}^{\infty }q{e}^{2a\tau }d\tau$ .

## Relationship Between Discrete and Continuous Lyapunov Equations

${\dot {\mathbf {x} }}=\mathbf {A} \mathbf {x}$ .

And then discretize it as follows:

${\dot {\mathbf {x} }}\approx {\frac {\mathbf {x} _{t+1}-\mathbf {x} _{t}}{\delta }}$ Where $\delta >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 $\mathbf {x} _{t+1}$ .

$\mathbf {x} _{t+1}=\mathbf {x} _{t}+\delta \mathbf {A} \mathbf {x} _{t}=(\mathbf {I} +\delta \mathbf {A} )\mathbf {x} _{t}=\mathbf {B} \mathbf {x} _{t}$ Where we've defined $\mathbf {B} \equiv \mathbf {I} +\delta \mathbf {A}$ . Now we can use the discrete time Lyapunov equation for $\mathbf {B}$ :

$\mathbf {B} ^{T}\mathbf {M} \mathbf {B} -\mathbf {M} =-\delta \mathbf {Q}$ Plugging in our definition for $\mathbf {B}$ , we get:

$(\mathbf {I} +\delta \mathbf {A} )^{T}\mathbf {M} (\mathbf {I} +\delta \mathbf {A} )-\mathbf {M} =-\delta \mathbf {Q}$ Expanding this expression out yields:

$(\mathbf {M} +\delta \mathbf {A} ^{T}\mathbf {M} )(\mathbf {I} +\delta \mathbf {A} )-\mathbf {M} =\delta (\mathbf {A} ^{T}\mathbf {M} +\mathbf {M} \mathbf {A} )+\delta ^{2}\mathbf {A} ^{T}\mathbf {M} \mathbf {A} =-\delta \mathbf {Q}$ Recall that $\delta$ is a small displacement in time. Letting $\delta$ 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 $\delta$ on both sides, and then letting $\delta \to 0$ we find that:

$\mathbf {A} ^{T}\mathbf {M} +\mathbf {M} \mathbf {A} =-\mathbf {Q}$ which is the continuous-time Lyapunov equation, as desired.