Lyapunov

Block variants of Hammarling's method

Block variants of Hammarling's method

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.

Software

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 routine SB03OT.

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 (binary MEX-File for Linux(64-bit): lrlyap_mex.mexa64)
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 Lyapunon equation. IMA J. Numer. Anal., 2(3):303-323, 1982.
  2. D. Kressner. Block variants of Hammarling's method for solving Lyapunov equations. June 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.