aesara.tensor.slinalg.solve_discrete_lyapunov

aesara.tensor.slinalg.solve_discrete_lyapunov#

aesara.tensor.slinalg.solve_discrete_lyapunov(A: TensorLike, Q: TensorLike, method: Literal['direct', 'bilinear'] = 'direct') TensorVariable[source]#

Solve the discrete Lyapunov equation A X A^H - X = Q.

Parameters:
  • A – Square matrix of shape N x N; must have the same shape as Q

  • Q – Square matrix of shape N x N; must have the same shape as A

  • method – Solver method used, one of "direct" or "bilinear". "direct" solves the problem directly via matrix inversion. This has a pure Aesara implementation and can thus be cross-compiled to supported backends, and should be preferred when N is not large. The direct method scales poorly with the size of N, and the bilinear can be used in these cases.

Returns:

  • Square matrix of shape N x N, representing the solution to the

  • Lyapunov equation