小编Ali*_*yat的帖子

使用 Sympy 求解埃尔米特矩阵的特征值探针

我正在尝试使用 Sympy 找到 Hermitian 矩阵的特征值。从线性代数中我们知道特征值应该是实数,但 Sympy 的输出总是包含无穷小的虚部。我知道乍一看这可能不是一个严重的问题,但是当我们尝试象征性地求解特征值时,它会带来很多麻烦。

from sympy import *
from sympy import init_printing
init_printing(use_latex=True) 
t12=symbols('t12')
t13=symbols('t13')
t16=symbols('t16')
t34=symbols('t34')
x=symbols('x')
y=symbols('y')
kx=symbols('kx')
ky=symbols('ky')
H0=Matrix([[0 for i in range(6)] for j in range(6)])

H0[0,1]=-t12
H0[0,2]=-t13
H0[0,5]=-t16*exp(-4*pi*I/3)
H0[1,3]=-t13
H0[1,4]=-t16*exp(4*pi*I/3)
H0[2,3]=-t34*exp(-4*pi*I/3)
H0[2,4]=-t13
H0[3,5]=-t13
H0[4,5]=-t12

H0[1,0]=-t12
H0[2,0]=-t13
H0[3,1]=-t13
H0[3,2]=-t34*exp(4*pi*I/3)
H0[4,1]=-t16*exp(-4*pi*I/3)
H0[4,2]=-t13
H0[5,0]=-t16*exp(4*pi*I/3)
H0[5,3]=-t13
H0[5,4]=-t12


eig=H0.evalf(5).eigenvals()
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激。

python sympy

0
推荐指数
1
解决办法
127
查看次数

标签 统计

python ×1

sympy ×1