As an example, we perform a simple self-consistent algorithm of the unrestricted Hartree-Fock method to compare between site-nematic and quantum anomalous Hall phases.
t0, jax, jay, jbx, jby = -1, 0.5, -0.5, -0.5, 0.5 # We fix the hopping parameters of the Hamiltonian
nx, ny = 12, 12
v1, v2 = 4., 1.
v3, v4 = Rydberg_v3v4(v1,v2)
un_mf = checkerboard_lattice_un(nx=nx,ny=ny,t0=-1, jax=jax, jay=jay,
jbx=jbx, jby=jby, v1=v1, v2=v2, v3=v3, v4=v4,
beta=1E+5, cell_filling=1)
for i1 in progress_bar(range(0,100)):
un_mf.iterate_mf()
We then plot the density and the energy spectrum (the color is the occupation of each state).
fig = plt.figure(figsize=(10, 6/(1.68)))
gs0 = gridspec.GridSpec(1, 2, left=0.1, right=0.99, top=0.85, bottom=0.05, wspace=0.2)
ax = fig.add_subplot(gs0[0])
sc = ax.scatter(un_mf.pos[:,0].flatten(),
un_mf.pos[:,1].flatten(), c=np.real(un_mf.mfden), s=80)
ax.set_xlim(-1,2*un_mf.nx)
ax.set_ylim(-1,2*un_mf.ny)
ax.set_xlabel(r'$x$')
ax.set_ylabel(r'$y$')
ax.set_aspect('equal')
fig.colorbar(sc)
plt.title(r'$n(j)$')
ax2 = fig.add_subplot(gs0[1])
sc = ax2.scatter(np.arange(0,np.size(un_mf.energies)),un_mf.energies, c=un_mf.fermi_weights, cmap='viridis_r', s=10, norm=mpl.colors.LogNorm(vmin=1E-5))
plt.title(r'Fermi occupation')
fig.colorbar(sc)
ax2.set_xlabel(r'$\lambda$')
ax2.set_ylabel(r'$E_\lambda$')
plt.show()
nx, ny = 12, 12
v1, v2 = 4., 2.5
v3, v4 = Rydberg_v3v4(v1,v2)
un_mf = checkerboard_lattice_un(nx=nx,ny=ny,t0=-1, jax=jax, jay=jay,
jbx=jbx, jby=jby, v1=v1, v2=v2, v3=v3, v4=v4,
beta=1E+5, cell_filling=1)
for i1 in progress_bar(range(0,50)):
un_mf.iterate_mf()
We then plot the expectation value of the imaginary hopping and the energy spectrum.
fig = plt.figure(figsize=(10, 6/(1.68)))
gs0 = gridspec.GridSpec(1, 2, left=0.1, right=0.99, top=0.85, bottom=0.05, wspace=0.2)
ax = fig.add_subplot(gs0[0])
xi_qah = np.zeros(un_mf.L_sites, dtype=float)
for i1 in range(0,un_mf.L_sites):
sign = (-1)**((i1//(un_mf.nx))%2)
xi_qah[i1] += 0.25*sign*np.imag(-un_mf.mfhop_nn[2*i1]+un_mf.mfhop_nn[(2*i1+1)%(2*un_mf.L_sites)]+un_mf.mfhop_nn[(2*i1+2*un_mf.nx)%(2*un_mf.L_sites)]-un_mf.mfhop_nn[(2*i1-2*un_mf.nx)])
sc = ax.scatter(un_mf.pos[:,0].flatten(),
un_mf.pos[:,1].flatten(), c=xi_qah, s=80, cmap='RdBu')
ax.set_xlim(-1,2*un_mf.nx)
ax.set_ylim(2,2*un_mf.ny-2)
ax.set_xlabel(r'$x$')
ax.set_ylabel(r'$y$')
fig.colorbar(sc)
ax.set_aspect('equal')
plt.title(r'$\xi_{QAH}$')
ax2 = fig.add_subplot(gs0[1])
sc2 = ax2.scatter(np.arange(0,np.size(un_mf.energies)),un_mf.energies, c=un_mf.fermi_weights, cmap='viridis_r', s=10, norm=mpl.colors.LogNorm(vmin=1E-5))
plt.title(r'Fermi occupation')
fig.colorbar(sc2)
ax2.set_xlabel(r'$\lambda$')
ax2.set_ylabel(r'$E_\lambda$')
plt.show()
For a finite hole/particle doping, the unrestricted Hartree-Fock method gives rise to localized solutions due to the appearance of states inside the gap. We here consider the case of one extra particle.
nx, ny = 12, 12
v1, v2 = 4., 2.5
v3, v4 = Rydberg_v3v4(v1,v2)
cf = (nx*ny+1)/(nx*ny)
un_mf = checkerboard_lattice_un(nx=nx,ny=ny,t0=-1, jax=jax, jay=jay,
jbx=jbx, jby=jby, v1=v1, v2=v2, v3=v3, v4=v4,
beta=1E+5, cell_filling=cf)
for i1 in progress_bar(range(0,50)):
un_mf.iterate_mf()
We then plot the expetation value of the imaginary hopping and the energy spectrum. We observe the appearance of a self-trapped polaron both in the analysis of the imaginary hopping and of the energy spetrum.
When increasing the number of particles from half filling, the system eventually generates two domains with opposite spontaneous breaking of the time-reversal symmetry
nx, ny = 24, 24
v1, v2 = 4., 2.5
v3, v4 = Rydberg_v3v4(v1,v2)
cf = (nx*ny+5)/(nx*ny)
un_mf = checkerboard_lattice_un(nx=nx,ny=ny,t0=-1, jax=jax, jay=jay,
jbx=jbx, jby=jby, v1=v1, v2=v2, v3=v3, v4=v4,
beta=1E+5, cell_filling=cf)
for i1 in progress_bar(range(0,100)):
un_mf.iterate_mf()
For increasing temperature the gap of the quantum anomalous Hall phase closes, and eventually the phase disappears. We first consider the effect of a small temperature $T/t=0.1$, for which no important changes are observed compared to the zero temperature case shown in the first example.
nx, ny = 12, 12
v1, v2 = 4., 2.5
v3, v4 = Rydberg_v3v4(v1,v2)
un_mf = checkerboard_lattice_un(nx=nx,ny=ny,t0=-1, jax=jax, jay=jay,
jbx=jbx, jby=jby, v1=v1, v2=v2, v3=v3, v4=v4,
beta=10, cell_filling=1)
for i1 in progress_bar(range(0,50)):
un_mf.iterate_mf()
The situation is different for $T/t=0.2$ where we observe that the upper band begins to have a finite population.
For $T/t=1$ the quantum anomalous Hall phase has disappeared: the system is not gapped at all and there is no spontaneous time-reversal symmetry breaking in the nearest-neighbors hoppings.