Haldane
The Haldane model¶
The Haldane Hamiltonian is a singleorbital tightbinding model on a honeycomb lattice with a sublatticestaggered onsite potential (orbital mass) and complex hoppings between nextnearestneighbor sites that produce a staggered magnetic field configuration with vanishing total flux through the unit cell ^{1}.
This model is a Chern insulator, or a quantum anomalous Hall insulator because it hosts integer quantum Hall effect in the absence of an external magnetic field.
This characteristic makes Haldane model ideal for illustrating another capability of KITE: the calculation of transverse conductivities.
Lattice¶
Let us begin with the definition of the Hamiltonian for the case of pure imaginary nextnearestneighbor hoppings:
KITE part¶
Settings¶
In the following section explain the steps to calculate the Hall coductivity.
After defining kite.configuration
, as explained in Getting Started documentation, we can set kite.calculation
.
The postprocessing tool uses the energy bounds from the density of state to perform the integration in energy.
It is better to couple conductivity with DOS:
calculation.dos(num_points=1000,
num_moments=512,
num_random=10,
num_disorder=1)
calculation.conductivity_dc(num_points=1000,
num_moments=256,
num_random=50,
num_disorder=1,
direction='xy',
temperature=100)
Disorder¶
We can include different types of disorder.
For simplicity, we consider onsite uniform disorder distribution with width of 0.4 eV
and zero average onsite energy (Anderson disorder):
disorder = kite.Disorder(lattice)
disorder.add_disorder('A', 'Uniform', +0.0, 0.4)
disorder.add_disorder('B', 'Uniform', +0.0, 0.4)
Calculation¶
This is a full spectral calculation where KITEx calculates the coefficients of the Chebyshev expansion and KITEtools
uses that moments to calculate the transverse conductivity.
Both temperature
and num_points
are parameters used by KITEtools and it is possible to modif
them without running KITEx again.
This type of calculation typically requires more RAM memory than DOS or singleshot DC conductivity,
which imposes limitations to the sizes of the systems (that still can reach large scales with available memory).
The relative errors of the stochastic trace evaluation (STE) scales with the inverse of the system size,
which means that full spectrum conductivities typically require more random vectors to decrease the relative error of the STE.
The relative error of the STE also depends on the Hamiltonian and the calculated quantities.
Transverse conductivities have more fluctuations, at least in part of the spectrum outside the topological gap, and this tutorial illustrates this issue.
Fig. 1 shows the longitudinal and transverse conductivity for a small lattice of Haldane model in a calculation that took 3 minutes on a laptop. KITEx captures the anomalous quantum Hall plateau extremely well, with a relative error of less than 0.1%. But it is also clear that the transverse conductivity presents significantly more fluctuations outside the plateau than the longitudinal conductivity, and we already considered 50 random vectors.
This figure can be reproduced using KITEtools while specifying some additional parameters as explained in example 4 of Postprocessing tools documentation:
Which calculates the DC conductivity for 1000 equidistant Fermi energies in the range [4, 4]
.
The result can be plotted by using the minimal python script below.
This script can be easily modified to plot both the longitudinal and transverse conductivity on one figure.
Visualisation¶
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('condDC.dat')
plt.plot(data[:,0], data[:,1])
plt.show()
We now focus on strategies to decrease the fluctuations. Depending on the computational resources, one possibility is increasing the system size. It is also possible to increase the number of random vectors. This is illustrated in Fig. 2.
Finally, there are other physical ways of damping them: temperature and disorder. The use of these last two resources depend on the goals of the numerical calculation. In the present case, where we wanted to see the quantum anomalous Hall plateau, we can simply consider Anderson disorder and work with intermediate temperatures.
Example
Get more familiar with KITE: tweak the full script for this calculation and play with variations of system size, number of random vectors, disorder and temperature.

F. D. M. Haldane, Phys. Rev. Lett. 61, 2015 (1988). ↩

J. H. García, L. Covaci, and T. G. Rappoport, Phys. Rev. Lett. 114, 116602 (2015) (Supplementary material) ↩