Почему я получаю сложные собственные значения эрмитовой матрицы? - PullRequest
0 голосов
/ 03 июня 2019

Я определил эрмитову матрицу 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) Собственные значения эрмитовой матрицы должны быть действительными, почему я получаю комплексные собственные значения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...