scipy.linalg.

solve_continuous_lyapunov#

scipy.linalg.solve_continuous_lyapunov(a, q)[источник]#

Решает непрерывное уравнение Ляпунова \(AX + XA^H = Q\).

Использует алгоритм Бартелса-Стюарта для поиска \(X\).

Документация написана в предположении, что аргументы-массивы имеют указанные «основные» формы. Однако аргументы-массивы этой функции могут иметь дополнительные «пакетные» измерения, добавленные перед основной формой. В этом случае массив обрабатывается как пакет низкоразмерных срезов; см. Пакетные линейные операции подробности.

Параметры:
aarray_like

Квадратная матрица

qarray_like

Правая часть квадратной матрицы

Возвращает:
xndarray

Решение непрерывного уравнения Ляпунова

Смотрите также

solve_discrete_lyapunov

вычисляет решение дискретного уравнения Ляпунова

solve_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