Это должно работать для вашей матрицы hc
ez = 100
dez = 14
t = 10
U = 1000
e=0
hc=np.zeros([6,6])
hc[0,0]=-ez
hc[1,1]=-dez/2;hc[1,4:6]=t
hc[2,2]=dez/2;hc[3,4:6]=-t
hc[3,3]=ez
hc[4,1]=t;hc[4,2]=-t;hc[4,4] = U-e
hc[5,1]=t;hc[5,2]=-t;hc[5,5]=U+e
Тогда
e_vals, e_vecs = la.eig(hc)
У вас есть как собственные значения, так и собственные векторы.
e_vals
array([ 100. +0.j, -7.19857058+0.j, 1000.19857058+0.j,
1000. +0.j, -100. +0.j, 7. +0.j])
e_vecs
array([[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 1.00000000e+00, 0.00000000e+00],
[ 0.00000000e+00, -9.99899724e-01, 1.40379443e-02,
-1.80074450e-31, 0.00000000e+00, 1.41795299e-02],
[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00, 9.99798653e-01],
[ 1.00000000e+00, 1.85217641e-03, -1.57065317e-02,
2.01599682e-31, 0.00000000e+00, 2.13455289e-03],
[ 0.00000000e+00, 9.92753319e-03, 7.06949871e-01,
7.07106781e-01, 0.00000000e+00, 9.92567093e-03],
[ 0.00000000e+00, 9.92753319e-03, 7.06949871e-01,
-7.07106781e-01, 0.00000000e+00, 9.92567093e-03]])