Я определил эрмитову матрицу H
, которая является суммой эрмитовых матриц sigma_x
, sigma_y
и sigma_z
. Когда я вычисляю собственные значения этой матрицы, они оказываются комплексными числами (с ненулевой мнимой частью).
import numpy as np
import math
sigma_x = np.array([[0,1],[1,0]])
sigma_y = np.array([[0, -1.0j],[1.0j, 0]])
sigma_z = np.array([[1,0],[0,-1]])
t = 2.82*10**(-19)
u=3**0.5
delta = 0.28*10**(-19)
H = u*t*(1*sigma_x + 1*sigma_y)*0.5 + 0.5*delta*sigma_z
eig_values, eig_vectors = np.linalg.eig(H)
eigvalue1=max(eig_values)
eigvalue2=min(eig_values)
print(eigvalue2)
Я получаю вывод (-3.456616843099622e-19-4.870636306373122e-36j)
Собственные значения эрмитовой матрицы должны быть действительными, почему я получаю комплексные собственные значения?