Я пытаюсь проверить, ортонормирована ли матрица, умножая матрицу на транспонирование.
import numpy as np
matrix = np.array([[np.sqrt(2)/2, -np.sqrt(2)/2],
[np.sqrt(2)/2, np.sqrt(2)/2]])
dot = matrix.T.dot(matrix)
print(dot)
Ожидаемый результат
[[1. 0.]
[0. 1.]]
Вместо этого я получил
[[ 1.00000000e+00 -4.26642159e-17]
[-4.26642159e-17 1.00000000e+00]]
Пробовал использовать разные типы: float64, float128, complex128. Но ответ все равно неверен.