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: - a : array_like
A square matrix
- q : array_like
Right-hand side square matrix
Returns: - x : ndarray
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:
>>> 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