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 版本中新增。

示例

给定 aq,求解 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