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


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


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

用法:

scipy.linalg.ishermitian(a, atol=None, rtol=None)#

檢查方形二維數組是否是 Hermitian。

參數

a ndarray

大小為 (N, N) 的輸入數組

atol 浮點數,可選

絕對誤差界限

rtol 浮點數,可選

相對誤差界限

返回

her bool

如果數組 Hermitian,則返回 True。

拋出

TypeError

如果不支持數組的數據類型,特別是NumPy float16、float128 和complex256 數據類型。

注意

對於方形空數組,按照約定,結果返回 True。

numpy.inf 將被視為一個數字,也就是說 [[1, inf], [inf, 2]] 將返回 True 。另一方麵, numpy.nan 永遠不是對稱的,例如,[[1, nan], [nan, 2]] 將返回 False

atol 和/或rtol 設置為 時,由 numpy.allclose 執行比較並將公差值傳遞給它。否則,由內部函數執行與零的精確比較。因此,性能可以根據數組的大小和 dtype 提高或降低。如果給定另一個 atolrtol 之一,則自動將其設置為零。

例子

>>> import numpy as np
>>> from scipy.linalg import ishermitian
>>> A = np.arange(9).reshape(3, 3)
>>> A = A + A.T
>>> ishermitian(A)
True
>>> A = np.array([[1., 2. + 3.j], [2. - 3.j, 4.]])
>>> ishermitian(A)
True
>>> Ac = np.array([[1. + 1.j, 3.j], [3.j, 2.]])
>>> ishermitian(Ac)  # not Hermitian but symmetric
False
>>> Af = np.array([[0, 1 + 1j], [1 - (1+1e-12)*1j, 0]])
>>> ishermitian(Af)
False
>>> ishermitian(Af, atol=5e-11) # almost hermitian with atol
True

相關用法


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