# scipy.linalg.ishermitian#

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

Check if a square 2D array is Hermitian.

Parameters
andarray

Input array of size (N, N)

atolfloat, optional

Absolute error bound

rtolfloat, optional

Relative error bound

Returns
herbool

Returns True if the array Hermitian.

Raises
TypeError

If the dtype of the array is not supported, in particular, NumPy float16, float128 and complex256 dtypes.

`issymmetric`

Check if a square 2D array is symmetric

Notes

For square empty arrays the result is returned True by convention.

`numpy.inf` will be treated as a number, that is to say ```[[1, inf], [inf, 2]]``` will return `True`. On the other hand `numpy.NaN` is never symmetric, say, `[[1, nan], [nan, 2]]` will return `False`.

When `atol` and/or `rtol` are set to , then the comparison is performed by `numpy.allclose` and the tolerance values are passed to it. Otherwise an exact comparison against zero is performed by internal functions. Hence performance can improve or degrade depending on the size and dtype of the array. If one of `atol` or `rtol` given the other one is automatically set to zero.

Examples

```>>> 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
```