scipy.linalg.solve_continuous_lyapunov#
- scipy.linalg.solve_continuous_lyapunov(a, q)[source]#
Solves the continuous Lyapunov equation \(AX + XA^H = Q\).
Uses the Bartels-Stewart algorithm to find \(X\).
- Parameters:
- aarray_like
A square matrix
- qarray_like
Right-hand side square matrix
- Returns:
- xndarray
Solution to the continuous Lyapunov equation
See also
solve_discrete_lyapunov
computes the solution to the discrete-time Lyapunov equation
solve_sylvester
computes the solution to the Sylvester equation
Notes
The continuous Lyapunov equation is a special form of the Sylvester equation, hence this solver relies on LAPACK routine ?TRSYL.
New in version 0.11.0.
Examples
Given a and q solve for x:
>>> import numpy as np >>> from scipy import linalg >>> a = np.array([[-3, -2, 0], [-1, -1, 0], [0, -5, -1]]) >>> b = np.array([2, 4, -1]) >>> q = np.eye(3) >>> x = linalg.solve_continuous_lyapunov(a, q) >>> x array([[ -0.75 , 0.875 , -3.75 ], [ 0.875 , -1.375 , 5.3125], [ -3.75 , 5.3125, -27.0625]]) >>> np.allclose(a.dot(x) + x.dot(a.T), q) True