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

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

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

ml_dlyap_smith | ml_dlyapdl_smith_fac