我的哈密顿量是以下形式的矩阵。我想从此hamiltonain计算特征值。但是我不知道如何处理U和T?我应该把它们放1吗?
`H=[[0 t t 0 0 0]
[t U 0 t 0 0]
[t 0 U t 0 0]
[0 t t 0 0 0]
[0 0 0 0 0 0]
[0 0 0 0 0 0]]`
答案 0 :(得分:0)
Sympy模块提供对符号值的操作
from sympy import *
U = symbols('U')
t = symbols('t')
H = Matrix([[0, t, t, 0, 0, 0], [t, U, 0, t, 0, 0],
[t, 0, U, t, 0, 0], [0, t, t, 0, 0, 0],
[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0]])
H.eigenvects() # eigenvectors
H.eigenvals() # eigenvalues
eigenvals
返回{U: 1, U/2 - sqrt(U**2 + 16*t**2)/2: 1, U/2 + sqrt(U**2 + 16*t**2)/2: 1, 0: 3}
,它是特征值及其多重性的字典: