Some time ago we found that the first excited state in our O-Cu-O cluster with no phonons had a simple representation and didn’t depend on the parameter U (representing the on-site Coulomb repulsion between two electrons on the same site). So, it’s not evident that the base state will always depend on U, perhaps at high energies there is a level crossing and the U-independet first excited state becomes the base state. In this post I explore such a posibility.
My tool of choice for this is, again, Sage (if you don’t know it, give it a try! it’s awesome). First, I define some variables, write the hamiltonian and calculate the eigenvalues
var('epsilon,U,t')
H = matrix([
[U + 2*epsilon,t,0,t,0,0,0,0,0],
[t,0,t,0,t,0,0,0,0],
[0,t,2*epsilon,0,0,t,0,0,0],
[t,0,0,0,t,0,t,0,0],
[0,t,0,t,U - 2*epsilon,t,0,t,0],
[0,0,t,0,t,0,0,0,t],
[0,0,0,t,0,0,2*epsilon,t,0],
[0,0,0,0,t,0,t,0,t],
[0,0,0,0,0,t,0,t,U+2*epsilon]])
eigval = H.eigenvalues()
Using the parameters we’ve been working on, we can have a look at the numerical values of the eigenvalues
for e in eigval:
print real(n(e.subs(epsilon=0.5, t=0.5, U=7)))
-0.366025403784439
1.36602540378444
-0.536881634602406
1.31240293602837
6.15791772613331
8.06656097244073
-0.0620192023179804
8.06201920231798
0.000000000000000
As we can see, the base state is eigval[2] and the first excited state is eigval[0]. Furthermore, the energy of the first excited state, in cm-1 is
real((eigval[0].subs(epsilon = 0.5, t = 0.5, U = 7)-eigval[2].subs(epsilon = 0.5, t = 0.5, U = 7))*8056)
1376.41779546955
Which is exactly what I expected. To make a plot of the base state and the first excited state I use this simple loop
p_list_2 = [] # The base state
p_list_0 = [] # The first excited state
for u in [0.0, 0.1.., 10]:
x2 = real(n(eigval[2].subs(epsilon = 0.5, t = 0.5, U = u)))
x0 = real(n(eigval[0].subs(epsilon = 0.5, t = 0.5, U = u)))
p_list_2.append([u, x2])
p_list_0.append([u, x0])
And now we can make a plot
plot2 = list_plot(p_list_2,gridlines=True,legend_label='base state', rgbcolor='black')
plot0 = list_plot(p_list_0,gridlines=True,legend_label='first excited state', rgbcolor='red')
p = plot2 + plot0
p.axes_labels(['U (eV)','eigenvalue (eV)'])
p.xmin(0)
p.xmax(10)
p.ymin(-2)
p.ymax(0)
p.set_legend_options(loc='center right')
show(p)

So, it seems that there is no level-crossing between these two states but they seem to overlap when
. In fact, altough the expression for the base state is complicated we can calculate the limit when
. Altough it takes a long time, Sage can perform this calculation simbolically
eigval[2].limit(U = oo).show()

So, indeed, they converge.
Just to be sure there is not any other state crossing eigval[2] I also made a plot of all 9 energy levels:
I think it’s interesting that there are degeneracies when
and
and also that there are three states which seem to be completely independent of
. As I mentioned earlier, some eigenvalues have a simple analytic representation, in fact, 5 of them do
eigval[0].show()
eigval[1].show()
eigval[6].show()
eigval[7].show()
eigval[8].show() 
The other 4 states have a much more complicated expression.
In conclusion, we don’t have to worry about an energy crossing and the base state will always depend on
, altough much less at large values.