Построение графика собственных энергий с помощью QuTipPython

Программы на Python
Anonymous
Построение графика собственных энергий с помощью QuTip

Сообщение Anonymous »

Я пытаюсь построить график собственных энергий следующего гамильтониана
$$ H = 2\tau \cos(\frac{eA}{hc} \sin(\omega t) + k) $$
Здесь значение \tau установлено равным 1. A — амплитуда. e,h,c — заряд электрона, постоянная Планка и скорость света соответственно. k варьируется от -\pi до +\pi.
Вот код, который я использовал для построения графика собственных энергий, но он показывает ошибку в гамильтониане (P.S: я здесь новичок, поэтому пожалуйста, извините за ошибку в задании вопроса, со временем я исправлю его)
import matplotlib.pyplot as plt
import numpy as np
from qutip import (about, expect, FloquetBasis,
num, plot_wigner, ket, sesolve, sigmax, sigmaz)

th=1
e=1.602*10**(-19)
A=2.5 * 2 * np.pi
h=6.626*10**(-34)
c=3*10**8
omega = 1.0 * 2 * np.pi
T = 2 * np.pi / omega
k=np.linspace(-np.pi,np.pi)

H= [
2*th*np.cos(k,[e*A/h*c, "sin({w}*t)".format(w=omega)],)
]

A_list = np.linspace(1.0 * omega, 4.5 * omega, 20)
quasienergies1, quasienergies2 = [], []
for A_temp in A_list:
# temporary Hamiltonian
H_temp= [
2*th*np.cos(k,[e*A_temp/h*c, "sin({w}*t)".format(w=omega)],)
]
# floquet modes and quasienergies
e1, e2 = FloquetBasis(H_temp, T, sort=True).e_quasi
quasienergies1.append(e1), quasienergies2.append(e2)

plt.scatter(A_list / omega, quasienergies1, label="e1")
plt.scatter(A_list / omega, quasienergies2, label="e2")
plt.xlabel("A / w"), plt.ylabel("Quasienergies")
plt.legend();


Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-qutip

Вернуться в «Python»