Documentation

# lyap

Continuous Lyapunov equation solution

## Syntax

```lyap X = lyap(A,Q) X = lyap(A,B,C) X = lyap(A,Q,[],E) ```

## Description

`lyap ` solves the special and general forms of the Lyapunov equation. Lyapunov equations arise in several areas of control, including stability theory and the study of the RMS behavior of systems.

`X = lyap(A,Q) ` solves the Lyapunov equation

`$AX+X{A}^{T}+Q=0$`

where A and Q represent square matrices of identical sizes. If Q is a symmetric matrix, the solution `X` is also a symmetric matrix.

`X = lyap(A,B,C) ` solves the Sylvester equation

`$AX+XB+C=0$`

The matrices `A`, `B`, and `C` must have compatible dimensions but need not be square.

`X = lyap(A,Q,[],E)` solves the generalized Lyapunov equation

`$AX{E}^{T}+EX{A}^{T}+Q=0$`

where Q is a symmetric matrix. You must use empty square brackets `[]` for this function. If you place any values inside the brackets, the function errors out.

## Limitations

The continuous Lyapunov equation has a unique solution if the eigenvalues ${\alpha }_{1},{\alpha }_{2},...,{\alpha }_{n}$ of A and ${\beta }_{1},{\beta }_{2},...,{\beta }_{n}$ of B satisfy

`${\alpha }_{i}+{\beta }_{j}\ne 0\text{ }for\text{\hspace{0.17em}}all\text{\hspace{0.17em}}pairs\text{\hspace{0.17em}}\left(i,j\right)$`

If this condition is violated, `lyap` produces the error message:

```Solution does not exist or is not unique. ```

## Examples

### Example 1

Solve Lyapunov Equation

Solve the Lyapunov equation

`$AX+X{A}^{T}+Q=0$`

where

`$A=\left[\begin{array}{cc}1& 2\\ -3& -4\end{array}\right]\text{ }\text{ }Q=\left[\begin{array}{cc}3& 1\\ 1& 1\end{array}\right]$`

The A matrix is stable, and the Q matrix is positive definite.

```A = [1 2; -3 -4]; Q = [3 1; 1 1]; X = lyap(A,Q)```
These commands return the following X matrix:
```X = 6.1667 -3.8333 -3.8333 3.0000```
You can compute the eigenvalues to see that X is positive definite.

`eig(X)`

The command returns the following result:

```ans = 0.4359 8.7308```

### Example 2

Solve Sylvester Equation

Solve the Sylvester equation

`$AX+XB+C=0$`

where

`$A=5\text{ }\text{ }B=\left[\begin{array}{cc}4& 3\\ 4& 3\end{array}\right]\text{ }\text{ }C=\left[\begin{array}{cc}2& 1\end{array}\right]$`

```A = 5; B = [4 3; 4 3]; C = [2 1]; X = lyap(A,B,C)```

These commands return the following X matrix:

```X = -0.2000 -0.0500```

## Algorithms

`lyap` uses SLICOT routines SB03MD and SG03AD for Lyapunov equations and SB04MD (SLICOT) and ZTRSYL (LAPACK) for Sylvester equations.

## References

 Bartels, R.H. and G.W. Stewart, "Solution of the Matrix Equation AX + XB = C," Comm. of the ACM, Vol. 15, No. 9, 1972.

 Barraud, A.Y., “A numerical algorithm to solve A XA - X = Q,” IEEE® Trans. Auto. Contr., AC-22, pp. 883–885, 1977.

 Hammarling, S.J., “Numerical solution of the stable, non-negative definite Lyapunov equation,” IMA J. Num. Anal., Vol. 2, pp. 303–325, 1982.

 Penzl, T., ”Numerical solution of generalized Lyapunov equations,” Advances in Comp. Math., Vol. 8, pp. 33–48, 1998.

 Golub, G.H., Nash, S. and Van Loan, C.F., “A Hessenberg-Schur method for the problem AX + XB = C,” IEEE Trans. Auto. Contr., AC-24, pp. 909–913, 1979.