rsf2csf#
- scipy.linalg.rsf2csf(T, Z, check_finite=True)[источник]#
Преобразование вещественной формы Шура в комплексную форму Шура.
Преобразовать квазидиагональную вещественную форму Шура в верхнетреугольную комплексную форму Шура.
Документация написана в предположении, что аргументы-массивы имеют указанные «основные» формы. Однако аргументы-массивы этой функции могут иметь дополнительные «пакетные» измерения, добавленные перед основной формой. В этом случае массив обрабатывается как пакет низкоразмерных срезов; см. Пакетные линейные операции подробности.
- Параметры:
- T(M, M) array_like
Реальная форма Шура исходного массива
- Z(M, M) array_like
Матрица преобразования Шура
- check_finitebool, необязательно
Проверять ли, что входные массивы содержат только конечные числа. Отключение может повысить производительность, но может привести к проблемам (сбоям, бесконечным циклам), если входные данные содержат бесконечности или NaN.
- Возвращает:
- T(M, M) ndarray
Комплексная форма Шура исходного массива
- Z(M, M) ndarray
матрица преобразования Шура, соответствующая комплексной форме
Смотрите также
schurРазложение Шура массива
Примеры
>>> import numpy as np >>> from scipy.linalg import schur, rsf2csf >>> A = np.array([[0, 2, 2], [0, 1, 2], [1, 0, 1]]) >>> T, Z = schur(A) >>> T array([[ 2.65896708, 1.42440458, -1.92933439], [ 0. , -0.32948354, -0.49063704], [ 0. , 1.31178921, -0.32948354]]) >>> Z array([[0.72711591, -0.60156188, 0.33079564], [0.52839428, 0.79801892, 0.28976765], [0.43829436, 0.03590414, -0.89811411]]) >>> T2 , Z2 = rsf2csf(T, Z) >>> T2 array([[2.65896708+0.j, -1.64592781+0.743164187j, -1.21516887+1.00660462j], [0.+0.j , -0.32948354+8.02254558e-01j, -0.82115218-2.77555756e-17j], [0.+0.j , 0.+0.j, -0.32948354-0.802254558j]]) >>> Z2 array([[0.72711591+0.j, 0.28220393-0.31385693j, 0.51319638-0.17258824j], [0.52839428+0.j, 0.24720268+0.41635578j, -0.68079517-0.15118243j], [0.43829436+0.j, -0.76618703+0.01873251j, -0.03063006+0.46857912j]])