希望您能原谅我的问题,但我是python的新手。我对角出现在论文Adiabatic two-qubit gates in capacitively coupled quantum dot hybrid qubits中的汉密尔顿(1)。我需要获得一个类似于纸的图(1a)的图,其中将特征值绘制为失谐参数$ \ verepsilon $的函数。请注意,在此图中,特征值还带来了有关特征向量的信息(每个基本向量对本征态的贡献)。
当失谐参数较大且为负值时,特征值将用定义明确的颜色表示,该颜色与其基本状态的主要贡献相关。随着参数的变化,发生杂交,由反交叉区域中的颜色混合表示,最后,当失谐参数增加时,特征值会“恢复”其原始本征态身份。 我该如何制作这样的人物? 预先致谢
import matplotlib.pyplot as plt
import numpy as np
from scipy import linalg
#matrix values
D1 =18.1
D2 = 46.7
EST = 51.7
evals=[]
evecs=[]
dd = np.linspace(-300,300,100)
for d in dd: #np.arange(-3,3, 0.1):
vals, vecs = np.linalg.eig([[-d/2, 0, D1 ], [0, -d/2 + EST, -D2], [D1, -D2, d/2] ])
evals.append(vals)
evecs.append(vecs)
#evals = np.sort(np.array(evals))
evals = np.array(evals)
#evecs = np.sort(np.array(evecs))
evecs = np.array(evecs)
#plt.plot(dd, evecs[:,0,1])
#plt.plot(dd, evecs[:,1])
c00= (evecs[:,0,0])**2
c01= (evecs[:,0,1])**2
c02= (evecs[:,0,2])**2
c10= (evecs[:,1,0])**2
c11= (evecs[:,1,1])**2
c12= (evecs[:,1,2])**2
c20= (evecs[:,2,0])**2
c21= (evecs[:,2,1])**2
c22= (evecs[:,2,2])**2
print(c00+c01+c02)
print(c00)
print(c01)
print(c02)
#plt.plot(dd, c10) #low energy eigenvalue
#plt.plot(dd, c11) # intemediate energy
#plt.plot(dd, c12) # high energy
#plt.scatter(dd, evals[:,0], c=c00, cmap="Reds") #low energy eigenvalue
#plt.scatter(dd, evals[:,1], c=c11, cmap="Blues") # intemediate energy
#plt.scatter(dd, evals[:,2], c=c22, cmap="Greens") # high energy
plt.scatter(dd, evals[:,0])
plt.scatter(dd, evals[:,1])
plt.scatter(dd, evals[:,2])
plt.show()