當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy linalg.rsf2csf用法及代碼示例


本文簡要介紹 python 語言中 scipy.linalg.rsf2csf 的用法。

用法:

scipy.linalg.rsf2csf(T, Z, check_finite=True)#

將實 Schur 形式轉換為複 Schur 形式。

將 quasi-diagonal 實值 Schur 形式轉換為上三角 complex-valued Schur 形式。

參數

T (M, M) 數組

原始數組的實 Schur 形式

Z (M, M) 數組

舒爾變換矩陣

check_finite 布爾型,可選

是否檢查輸入數組是否僅包含有限數。禁用可能會提高性能,但如果輸入確實包含無窮大或 NaN,則可能會導致問題(崩潰、非終止)。

返回

T (M, M) ndarray

原始數組的複舒爾形式

Z (M, M) ndarray

複數形式對應的舒爾變換矩陣

例子

>>> 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]])

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.rsf2csf。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。