当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。