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