scipy.linalg.ishermitian¶
- scipy.linalg.ishermitian(a, atol=None, rtol=None)¶
检查正方形二维数组是否为厄米特数组。
- 参数
- andarray
大小为(N,N)的输入数组
- atol浮动,可选
绝对误差界
- rtol浮动,可选
相对误差界
- 退货
- her布尔尔
如果数组为Hermitian,则返回True。
- 加薪
- TypeError
如果不支持数组的数据类型,特别是NumPy浮点16、浮点128和复杂256数据类型。
参见
issymmetric
检查正方形二维阵列是否对称
注意事项
对于正方形空数组,按照惯例,结果返回True。
numpy.inf
将被视为一个数字,也就是说[[1, inf], [inf, 2]]
会回来的True
。另一方面,numpy.NaN
从来不是对称的,比方说,[[1, nan], [nan, 2]]
会回来的False
。什么时候
atol
和/或rtol
设置为,则由numpy.allclose
并将公差值传递给它。否则,内部函数将执行与零的精确比较。因此,根据阵列的大小和数据类型,性能可以提高或降低。如果其中一个atol
或rtol
假设另一个被自动设置为零。示例
>>> 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