scipy.linalg.
solve_continuous_lyapunov#
- scipy.linalg.solve_continuous_lyapunov(a, q)[source]#
求解连续李雅普诺夫方程 \(AX + XA^H = Q\)。
使用 Bartels-Stewart 算法求解 \(X\)。
文档编写时假设数组参数具有指定的“核心”形状。但是,此函数的数组参数可能在核心形状前附加了额外的“批处理”维度。在这种情况下,数组被视为低维切片的批处理;有关详细信息,请参阅批处理线性运算。
- 参数:
- aarray_like
一个方阵
- qarray_like
右侧方阵
- 返回:
- xndarray
连续李雅普诺夫方程的解
另请参阅
solve_discrete_lyapunov
计算离散时间李雅普诺夫方程的解
solve_sylvester
计算 Sylvester 方程的解
备注
连续李雅普诺夫方程是 Sylvester 方程的一种特殊形式,因此此求解器依赖于 LAPACK 例程 ?TRSYL。
在 0.11.0 版本中新增。
示例
给定 a 和 q,求解 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