control.dlyap

control.dlyap(A, Q, C=None, E=None, method=None)[source]

Solves the discrete-time Lyapunov equation

X = dlyap(A, Q) solves

A X A^T - X + Q = 0

where A and Q are square matrices of the same dimension. Further Q must be symmetric.

dlyap(A, Q, C) solves the Sylvester equation

A X Q^T - X + C = 0

where A and Q are square matrices.

dlyap(A, Q, None, E) solves the generalized discrete-time Lyapunov equation

A X A^T - E X E^T + Q = 0

where Q is a symmetric matrix and A, Q and E are square matrices of the same dimension.

Parameters
  • A (2D array_like) – Input matrices for the Lyapunov or Sylvestor equation

  • Q (2D array_like) – Input matrices for the Lyapunov or Sylvestor equation

  • C (2D array_like, optional) – If present, solve the Sylvester equation

  • E (2D array_like, optional) – If present, solve the generalized Lyapunov equation

  • method (str, optional) – Set the method used for computing the result. Current methods are ‘slycot’ and ‘scipy’. If set to None (default), try ‘slycot’ first and then ‘scipy’.

Returns

X – Solution to the Lyapunov or Sylvester equation

Return type

2D array (or matrix)

Notes

The return type for 2D arrays depends on the default class set for state space operations. See use_numpy_matrix().