本文簡要介紹 python 語言中 scipy.linalg.expm
的用法。
用法:
scipy.linalg.expm(A)#
計算數組的矩陣指數。
- A: ndarray
最後兩個維度的輸入是正方形
(..., n, n)
。
- eA: ndarray
所得矩陣指數具有與
A
相同的形狀
參數 ::
返回 ::
注意:
實現[1]中給出的算法,該算法本質上是一個 Pade 近似,其變量順序是根據數組數據決定的。
對於大小為
n
的輸入,在最壞情況下內存使用量的順序為8*(n**2)
。如果輸入數據不是實數和複數數據類型的單精度和雙精度,則將其複製到新數組。對於
n >= 400
的情況,精確的 1-範數計算成本與 1-範數估計持平,從那時起,[2] 中給出的估計方案用於決定近似階數。參考:
[1]Awad H. Al-Mohy 和 Nicholas J. Higham,(2009),“一種新的矩陣指數縮放和平方算法”,SIAM J. Matrix Anal。應用。 31(3):970-989,DOI:10.1137/09074721X
[2]Nicholas J. Higham 和 Francoise Tisseur (2000),“矩陣 1-範數估計的塊算法,及其在 1-範數偽譜中的應用。” SIAM J. 矩陣肛門。應用。 21(4):1185-1201,DOI:10.1137/S0895479899356080
例子:
>>> import numpy as np >>> from scipy.linalg import expm, sinm, cosm
公式 exp(0) = 1 的矩陣版本:
>>> expm(np.zeros((3, 2, 2))) array([[[1., 0.], [0., 1.]], [[1., 0.], [0., 1.]], [[1., 0.], [0., 1.]]])
歐拉恒等式 (exp(i*theta) = cos(theta) + i*sin(theta)) 應用於矩陣:
>>> a = np.array([[1.0, 2.0], [-1.0, 3.0]]) >>> expm(1j*a) array([[ 0.42645930+1.89217551j, -2.13721484-0.97811252j], [ 1.06860742+0.48905626j, -1.71075555+0.91406299j]]) >>> cosm(a) + 1j*sinm(a) array([[ 0.42645930+1.89217551j, -2.13721484-0.97811252j], [ 1.06860742+0.48905626j, -1.71075555+0.91406299j]])
相關用法
- Python SciPy linalg.expm_multiply用法及代碼示例
- Python SciPy linalg.expm_frechet用法及代碼示例
- Python SciPy linalg.expm_cond用法及代碼示例
- Python SciPy linalg.eigvalsh_tridiagonal用法及代碼示例
- Python SciPy linalg.eig_banded用法及代碼示例
- Python SciPy linalg.eigvalsh用法及代碼示例
- Python SciPy linalg.eigh_tridiagonal用法及代碼示例
- Python SciPy linalg.eig用法及代碼示例
- Python SciPy linalg.eigh用法及代碼示例
- Python SciPy linalg.eigs用法及代碼示例
- Python SciPy linalg.eigvals用法及代碼示例
- Python SciPy linalg.eigvals_banded用法及代碼示例
- Python SciPy linalg.eigsh用法及代碼示例
- Python SciPy linalg.cdf2rdf用法及代碼示例
- Python SciPy linalg.LaplacianNd用法及代碼示例
- Python SciPy linalg.solve_circulant用法及代碼示例
- Python SciPy linalg.polar用法及代碼示例
- Python SciPy linalg.clarkson_woodruff_transform用法及代碼示例
- Python SciPy linalg.rsf2csf用法及代碼示例
- Python SciPy linalg.hessenberg用法及代碼示例
- Python SciPy linalg.tril用法及代碼示例
- Python SciPy linalg.triu用法及代碼示例
- Python SciPy linalg.svd用法及代碼示例
- Python SciPy linalg.ishermitian用法及代碼示例
- Python SciPy linalg.invhilbert用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.linalg.expm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。