ml_dlyapdl_smith
Discrete-time dual Lyapunov equation solver.
Contents
Syntax
[X, info] = ml_dlyapdl_smith(A, Q, R) [X, info] = ml_dlyapdl_smith(A, Q, R, []) [X, info] = ml_dlyapdl_smith(A, Q, R, [], opts)
[X, info] = ml_dlyapdl_smith(A, Q, R, E) [X, info] = ml_dlyapdl_smith(A, Q, R, E, opts)
Description
Computes the solution matrix of the standard discrete-time dual Lyapunov equations
A*X*A' - X + Q = 0, (1) A'*Y*A - Y + R = 0, (2)
or of the generalized dual Lyapunov equation
A*X*A' - E*X*E' + Q = 0, (3) A'*Y*A - E'*Y*E + R = 0, (4)
using the Smith iteration. It is assumed that the eigenvalues of A (or s*E - A) lie inside the open unit-circle.
Input
- A - matrix with dimensions n x n in (1), (2) or (3), (4)
- Q - matrix with dimensions n x n in (1) or (3)
- R - matrix with dimensions n x n in (1) or (4)
- E - matrix with dimensions n x n in (3), (4), if empty the standard equations (1), (2) are solved
- opts - structure, containing the following optional entries:
Parameter | Meaning |
AbsTol | nonnegative scalar, tolerance for the absolute error in the last iteration step default: 0 |
Info | {0, 1}, used to disable/enable display of verbose status information during iteration steps default: 0 |
MaxIter | positive integer, maximum number of iteration steps default: 100 |
RelTol | nonnegative scalar, tolerance for the relative error in the last iteration step default: 1.0e+01*n*eps |
Output
- X - solution matrix of (1) or (3)
- Y - solution matrix of (2) or (4)
- info - structure, containing the following information:
Entry | Meaning |
AbsErr | vector, containing the absolute error of the iteration matrix in each iteration step |
IterationSteps | number of performed iteration steps |
RelErr | vector, containing the relative error of the iteration matrix in each iteration step |
Reference
V. Simoncini, Computational methods for linear matrix equations, SIAM Rev. 38 (3) (2016) 377--441. https://doi.org/10.1137/130912839
See Also