我定义了一个埃尔米特矩阵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)
埃尔米特矩阵的特征值必须是实值,为什么我要获得复杂的特征值?