scipy.linalg.

ishermitian#

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

Проверить, является ли квадратный 2D массив эрмитовым.

Документация написана в предположении, что аргументы-массивы имеют указанные «основные» формы. Однако аргументы-массивы этой функции могут иметь дополнительные «пакетные» измерения, добавленные перед основной формой. В этом случае массив обрабатывается как пакет низкоразмерных срезов; см. Пакетные линейные операции подробности.

Параметры:
andarray

Входной массив размера (N, N)

atolfloat, опционально

Граница абсолютной ошибки

rtolfloat, опционально

Граница относительной ошибки

Возвращает:
еёbool

Возвращает True, если массив эрмитов.

Вызывает:
TypeError

Если тип данных массива не поддерживается, в частности, типы данных NumPy float16, float128 и complex256.

Смотрите также

issymmetric

Проверить, является ли квадратная 2D-матрица симметричной

Примечания

Для пустых квадратных массивов результат по соглашению возвращается как True.

numpy.inf будет рассматриваться как число, то есть [[1, inf], [inf, 2]] вернет True. С другой стороны numpy.nan никогда не симметрична, скажем, [[1, nan], [nan, 2]] вернет False.

Когда atol и/или rtol установлены в , тогда сравнение выполняется с помощью numpy.allclose и значения допуска передаются ему. В противном случае точное сравнение с нулём выполняется внутренними функциями. Следовательно, производительность может улучшиться или ухудшиться в зависимости от размера и типа данных массива. Если один из atol или rtol при условии, что другой автоматически устанавливается в ноль.

Примеры

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