ETH HomeD-MATH Home

Home
Teaching
Students
Software
Lyapunov equations
QR updates
Publications
CV

Purpose

To solve continuous-time Lyapunov equations

AX + XAT = BTB,

or discrete-time Lyapunov equations

ATXA - X = BT B,

where A is a stable n-by-n matrix (continuous-time: all eigenvalues in the open left half plane; discrete-time: all eigenvalues in the open unit disk) and B is an n-by-m matrix.

Block variants of Hammarling's method

file lrlyap.f   (requires subroutine lraux1.f)
Solves reduced continuous- and discrete-time Lyapunov equations in
factorized form.
This is a more efficient block variant of the SLICOT routines
SB03OT and SB03OU.

Test routine: tlrlyap.f
Test data:    lrlyap1.dat    lrlyap1.res
              lrlyap2.dat    lrlyap2.res
              lrlyap3.dat    lrlyap3.res
              lrlyap4.dat    lrlyap4.res

Warning: To compile any of the files above you need the SLICOT
routines SB03OY, SB03OV, and SB04PX.

file lrlyap_mex.f   (precompiled Windows dll: lrlyap_mex.dll)
Mex interface to lrlyap for use within Matlab.

file lrlyapchol.m
Alternative to the Matlab control toolbox function lyapchol.

file lrdlyapchol.m
Alternative to the Matlab control toolbox function dlyapchol.

References

[1]
S. Hammarling. Numerical solution of the stable, nonnegative definite Lyapunov equation. IMA J. Numer. Anal., 2(3):303-323, 1982.

[2]
D. Kressner. Block variants of Hammarling's method for solving Lyapunov equations. July 2006. (Gzipped PostScript) (PDF)

Related software

If it is affordable to factorize A, use LYAPACK. For solving various other types of small- to medium-sized matrix equations, have a look at SLICOT and RECSY.