Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Introduction

Charles Kane from the University of Pennsylvania will introduce today’s lecture on two dimensional topological insulators with time-reversal symmetry.

Adding symmetry to a topological insulator

In general, there are different approaches to discover new types of topological systems.

We have already used a very powerful method to make a Kitaev chain and the Chern insulator model. We started from guessing what kind of model to use for the edge, such that it is impossible to obtain without the bulk. Then we combined many such edges (dots for the Kitaev chain and wires for the Chern insulator) and tailored the coupling between them to leave exactly the type of model that we want on one edge.

A very skilled researcher in topology (or more specifically K-theory) may also just calculate the expected topological classification of a system starting only from its dimensionality and symmetries. This is also a powerful method, but often it’s too hard and requires a very high skills in math.

Another approach that we can undertake is to start with one topological Hamiltonian and see what happens if we force the Hamiltonian to have some extra symmetry. This is the approach we will use in this chapter.

Let’s start from a simple example involving something which we already know, a quantum dot with the Hamiltonian H0H_0. We know that there is a topological invariant, the number of filled energy levels.

Now we can ask what happens if we force the dot to have a particle-hole symmetry. The Hamiltonian becomes

HBdG=(H000H0).H_\textrm{BdG} = \begin{pmatrix} H_0 & 0\\ 0 & -H_0^* \end{pmatrix}.

This model is clearly topologically trivial from the point of view of the old invariant, since the number of filled states is constant. However, there are still level crossings that appear. We may ask if these crossings stay protected if we also include a finite superconducting pairing Δ\Delta in the Hamiltonian, which couples the two blocks H0H_0 and H0-H_0^*.

Of course we know the answer: the crossings stay protected due to the change in the Pfaffian invariant. So what we did was to construct a topologically non-trivial superconducting dot by adding particle-hole symmetry to a topological Hamiltonian with a lower symmetry.

Let’s now apply the same logic to a new system. Specifically, let’s add time-reversal symmetry to a Chern insulator. The Chern insulator has chiral edge states whose direction of propagation is flipped by time-reversal symmetry T\mathcal{T}. So let’s consider a Hamiltonian of the form

H=(H000TH0T1).H = \begin{pmatrix} H_0 & 0\\ 0 & \mathcal{T}H_0\mathcal{T}^{-1} \end{pmatrix}\,.

If H0H_0 is the Hamiltonian of a Chern insulator with NN edge states, then HH will have NN pairs of counterpropagating edge states that transform into each other by time-reversal symmetry. Moreover, the full HH obeys time-reversal symmetry, which merely exchanges the two blocks.

The following sketch describes the situation in the case N=1N=1:

The next task which we now face is to understand if such edges stay topologically protected once we add coupling between the two blocks.

A perfectly transmitted channel and Kramers degeneracy

We could try to see if all the edge states can be removed by adding some terms to the Hamiltonian, but instead we will use a closely related fact.

Let’s study transport through such edge states as a function of their total number and let’s only use the fact that time-reversal symmetry is present. Imagine, there is a total of NN states going in each direction along the edge, and that the edge is composed of a disordered region sandwiched between two clean regions. Again, let’s represent the situation for the case N=1N=1.

Scattering states

We label incoming states on the left and right with n,L\left|n,\textrm{L}\right\rangle and n,R\left|n,\textrm{R}\right\rangle. The index nn goes from 1 to NN. The outgoing states are the time-reversed partners of the incoming states, so they are given by Tn,L\mathcal{T}\left|n,\textrm{L}\right\rangle and Tn,R\mathcal{T}\left|n,\textrm{R}\right\rangle. Scattering states in the left and right regions are superpositions of incoming and outgoing states,

Ψ,L=n=1Nαn,Ln,L+βn,LTn,L,\left|\Psi,\textrm{L}\right\rangle = \sum_{n=1}^N \alpha_{n,\textrm{L}}\,\left|n,\textrm{L}\right\rangle + \beta_{n,\textrm{L}}\,\mathcal{T}\left|n,\textrm{L}\right\rangle\,,
Ψ,R=n=1Nαn,Rn,R+βn,RTn,R.\left|\Psi,\textrm{R}\right\rangle = \sum_{n=1}^N \alpha_{n,\textrm{R}}\,\left|n,\textrm{R}\right\rangle + \beta_{n,\textrm{R}}\,\mathcal{T}\left|n,\textrm{R}\right\rangle\,.

We can form vectors out of all the coefficients in the superposition, for instance αL=(α1,L,,αN,L)T\alpha_\textrm{L} = (\alpha_{1,\textrm{L}},\dots,\alpha_{N,\textrm{L}})^T for the incoming states on the left side. Incoming and outgoing modes are then related by the scattering matrix SS of the disordered region,

(βLβR)=S(αLαR).\begin{pmatrix} \beta_\textrm{L} \\ \beta_\textrm{R} \end{pmatrix} = S \begin{pmatrix} \alpha_\textrm{L} \\ \alpha_\textrm{R} \end{pmatrix}.

There are a total of 2N2N incoming and 2N2N outgoing modes, so SS is a 2N×2N2N\times 2N matrix. Since we are including all possible initial and final states, SS is also unitary, SS=1SS^\dagger = 1. It can be split into reflection and transmission blocks of dimension N×NN\times N,

S=(rttr).S = \begin{pmatrix} r & t\\ t' & r' \end{pmatrix}\,.

If we can gap out the edges by adding some extra terms to the Hamiltonian, or backscatter them by adding disorder, then we should be able to achieve the situation where there is no transmission at all, t=t=0t = t' = 0. In this case, all modes must be reflected back, so the reflection blocks of the scattering matrix become unitary, rr=rr=1r^\dagger r = r'^\dagger r' = 1.

To see whether this is possible at all, we first have to understand the constraints that time-reversal symmetry imposes on SS.

Scattering matrices with time-reversal symmetry

Let’s recall some basic facts about time-reversal symmetry, which we already studied in the first week. Time-reversal symmetry has an antiunitary operator T\mathcal{T} which commutes with the Hamiltonian. Being antiunitary, T\mathcal{T} may come in two flavors - either T2=1\mathcal{T}^2=1 or T2=1\mathcal{T}^2=-1. The first case applies to systems with no or integer spin, such that T=K\mathcal{T}=\mathcal{K} in the simplest case, where K\mathcal{K} is the complex conjugation operator. The second case applies to systems with half-integer spin, and in the simplest case we have T=iσyK\mathcal{T}=i\sigma_y\mathcal{K}.

Let’s apply the time-reversal operator to our scattering states. We get

TΨ,L=n=1Nαn,LTn,L+βn,LT2n,L,\mathcal{T}\left|\Psi,\textrm{L}\right\rangle = \sum_{n=1}^N \alpha^*_{n,\textrm{L}}\,\mathcal{T}\left|n,\textrm{L}\right\rangle + \beta^*_{n,\textrm{L}}\,\mathcal{T}^2\left|n,\textrm{L}\right\rangle\,,
TΨ,R=n=1Nαn,RTn,R+βn,RT2n,R.\mathcal{T}\left|\Psi,\textrm{R}\right\rangle = \sum_{n=1}^N \alpha^*_{n,\textrm{R}}\,\mathcal{T}\left|n,\textrm{R}\right\rangle + \beta^*_{n,\textrm{R}}\,\mathcal{T}^2\left|n,\textrm{R}\right\rangle\,.

Now, since time-reversal symmetry does not change the energy of a state, TΨ,R\mathcal{T}\left|\Psi,\textrm{R}\right\rangle and TΨ,L\mathcal{T}\left|\Psi,\textrm{L}\right\rangle are scattering states with the same energy as Ψ,R\left|\Psi,\textrm{R}\right\rangle and Ψ,L\left|\Psi,\textrm{L}\right\rangle. Hence, the coefficients of incoming and outgoing modes are still related by the same scattering matrix SS as before. Note, however, that applying T\mathcal{T} exchanged the role of the α\alpha’s and β\beta’s, such that the α\alpha’s now correspond to outgoing states and the β\beta’s to incoming states. Hence, we have

ST2(βLβR)=(αLαR).S\mathcal{T}^2 \begin{pmatrix}\beta^*_\textrm{L} \\ \beta^*_\textrm{R} \end{pmatrix} = \begin{pmatrix} \alpha^*_\textrm{L} \\ \alpha^*_\textrm{R} \end{pmatrix}\,.

Multiplying both sides by T2S\mathcal{T}^2S^\dagger and taking the complex conjugate gives

(βLβR)=T2ST(αLαR).\begin{pmatrix} \beta_\textrm{L} \\ \beta_\textrm{R} \end{pmatrix} = \mathcal{T}^2\,S^T \begin{pmatrix} \alpha_\textrm{L} \\ \alpha_\textrm{R} \end{pmatrix}.

By comparing this equation with the one a few lines above, we finally obtain

S=T2ST.S = \mathcal{T}^2 S^T.

So if T2=1\mathcal{T}^2=1, the scattering matrix is symmetric (S=STS=S^T), while if T2=1\mathcal{T}^2=-1, it is antisymmetric (S=STS=-S^T).

What does this imply if we try to set t=t=0t=t'=0?

If S=STS=S^T, it turns out there is really nothing special we can tell. However, if S=STS=-S^T and t=t=0t=t'=0, the N×NN\times N reflection matrix must be both unitary, rr=1r^\dagger r=1, and antisymmetric, r=rTr=-r^T.

If NN is odd, this isn’t possible at all, since any odd-dimensional antisymmetric matrix must have a single zero eigenvalue, while unitary matrices only have eigenvalues with unit norm!

We are forced to conclude that it is impossible to have rr unitary, and therefore it is impossible to have t=0t=0 in this case. Furthermore, this zero eigenvalue of rr means that there is always a single mode that is transmitted with unit probability.

This is the discovery that Charles Kane described in the introductory video. We can quickly check it by randomly selecting an antisymmetric scattering matrix with odd NN, like the following one with N=3N=3,

Source
N = 3
np.random.seed(12)
S = kwant.rmt.circular(N * 2, sym="AII")

pprint_matrix(S)
Loading...

This scattering matrix has eigenvalues of rrr r^\dagger equal to [0. 0.77 0.77] and transmission eigenvalues of ttt t^\dagger equal to [1. 0.23 0.23].

We conclude that if T2=1\mathcal{T}^2=-1 and the number of edge states going in one direction is odd, they cannot be gapped out, and the system is topological. On the other hand, if there is an even number of such edge states, they can be gapped out. Since these are the only two options, the integer invariant of a Chern insulator is reduced to a ±1\pm 1 invariant in the presence of time reversal symmetry. These topologically protected, counterpropagating edge states are often referred to as helical edge states.

Helical edge states are Kramers pairs

You might ask yourself what makes T2=1\mathcal{T}^2=-1 special, leading to the topological protection of the helical edge states.

As was mentioned in the first week, if T2=1\mathcal{T}^2=-1 then Kramers’ theorem applies. Kramers’ theorem tells us that given an eigenstate Ψ|\Psi\rangle of the Hamiltonian with energy EE, its time-reversed partner ΨTTΨ|\Psi_\mathcal{T}\rangle\equiv\mathcal{T}|\Psi\rangle has the same energy, and the two states are orthogonal, ΨΨT=0\langle \Psi | \Psi_\mathcal{T}\rangle=0. These two states form a so-called Kramers pair. As we already know, this leads to the fact that Hamiltonians with spinful time-reversal symmetry have two-fold degenerate energy levels - Kramers degeneracy.

Now, the two counterpropagating helical modes are time-reversed partners of each other, so they form precisely such a Kramers pair. The condition ΨΨT=0\langle \Psi | \Psi_\mathcal{T}\rangle=0 implies that it is impossible to introduce any backscattering between the two states, unless we break time-reversal symmetry. This is the origin of the unit transmission and of the topological protection of helical edge states.

To gain a more intuitive understanding of this fact at a more microscopic level, we can assume that the projection of the electrons’ spin along a given axis is conserved, say the axis zz perpendicular to the plane. Then at the edge you have, say, a right-moving mode with spin up and a left-moving mode with spin down, and no other modes if N=1N=1. Let’s draw again the picture of a helical edge state entering the disordered region:

Thus, an electron moving to the right must have spin up by assumption. In order to be reflected, its spin must also be flipped. However, this spin-flip scattering process is forbidden, and again we conclude that the electron is transmitted with probability one.

In the case T2=1\mathcal{T}^2=1, there is no Kramers’ theorem. As a consequence, even though you can construct models which have counterpropagating edge states, you will find that they have no topological protection and can be gapped out without breaking the time-reversal symmetry.

The quantum spin Hall effect

There is no really precise name for the 2D topological insulator with time-reversal symmetry. It is often called “Z2\mathbb{Z}_2 topological insulator.” However, this simply indicates that there are only two values of the topological invariant, and so it isn’t a very specific name.

The most commonly used name for this system is “quantum spin Hall insulator.” To understand why, let’s analyse a Hall bar made of such a non-trivial insulator. We will only need a Hall bar with four terminals, as shown below:

We have a finite voltage applied to terminal 1, so electrons are injected into the system from there. You can see that because of the helical edge states, there are as many modes connecting terminal 1 to terminal 3 as there are to terminal 4. A moment of thought, or otherwise a quick calculation, should convince you that in this case there is no net current flowing orthogonal to the applied voltage. The Hall conductance is zero, which is the expected result if time-reversal symmetry is preserved, as it is in our system.

However, counterpropagating edge states have to have exactly opposite spin due to Kramers degeneracy. This means that there may be a net spin current across the sample, orthogonal to the applied voltage.

In particular, let’s again make the simple assumption that the spin projection along some axis is conserved. Then, in the figure above, all modes colored in red have spin up, and all modes colored in blue have spin down. So terminal 1 distributes electrons coming out of it according to their spin: all electrons with spin up end up in terminal 4, and all those with spin down in terminal 3. The system has a quantized spin current between terminals 3 and 4, hence the name “quantum spin Hall effect”.

However, the quantized spin Hall current is not a general property of a quantum spin Hall insulator. Here, it arises because we have combined time reversal symmetry with a spin conservation law, and as we learned in the first week, conservation laws are boring from a topological point of view.

A model for the quantum spin Hall insulator

There is an important model which can be used to describe quantum spin Hall insulators, known as the Bernevig-Hughes-Zhang model or, in short, BHZ model. In essence, this model is equivalent to two copies of the Chern insulator Hamiltonian on the square lattice that we studied in the fourth week.

The BHZ Hamiltonian takes the form

HBHZ(k)=(h(k)00h(k)),H_\textrm{BHZ}(\mathbf{k}) = \begin{pmatrix} h(\mathbf{k}) & 0 \\ 0 & h^*(-\mathbf{k}) \end{pmatrix}\,,

with

h(k)=ϵ(k)+d(k)σ.h(\mathbf{k}) = \epsilon(\mathbf{k}) + \mathbf{d}(\mathbf{k})\cdot \pmb{\sigma}\,.

Here σ=(σx,σy,σz)\pmb\sigma = (\sigma_x, \sigma_y, \sigma_z) is a vector of Pauli matrices acting on the electron/hole degree of freedom (the original two bands of the Chern insulator), ϵ(k)=CD(kx2+ky2)\epsilon(\mathbf{k}) = C - D(k_x^2+k_y^2), the vector d=[Akx,Aky,M(k)]\mathbf{d} = [A k_x, -A k_y, M(\mathbf{k})], and M(k)=MB(kx2+ky2)M(\mathbf{k}) = M - B(k_x^2+k_y^2).

You can see that it is basically two copies of the massive Dirac Hamiltonian we used to study Chern insulators. In particular, there is a linear coupling in momentum between the holes and the electrons. The gap in the Hamiltonian is given by the term M(k)M(\mathbf{k}), a momentum-dependent effective mass.

By changing the sign of MM from negative to positive, you get a gap closing at k=0\mathbf{k}=\pmb{0}:

Source
# Onsite and hoppings for bhz model
def onsite(site, M, B, D, del_z):
    return (M - 4 * B) * pauli.s0sz - 4 * D * pauli.s0s0 + del_z * pauli.sysy


def hopx(site1, site2, B, D, A):
    return B * pauli.s0sz + D * pauli.s0s0 + 1j * A * pauli.szsx


def hopy(site1, site2, B, D, A):
    return B * pauli.s0sz + D * pauli.s0s0 - 1j * A * pauli.s0sy


def title(p):
    return rf"$A={p['A']:.2}$, $B={p['B']:.2}$, $D={p['D']:.2}$, $M={p['M']:.2}$"


lat = kwant.lattice.square(norbs=4)
bhz_infinite = kwant.Builder(kwant.TranslationalSymmetry(*lat.prim_vecs))
bhz_infinite[lat.shape(lambda pos: True, (0, 0))] = onsite
bhz_infinite[kwant.HoppingKind((1, 0), lat)] = hopx
bhz_infinite[kwant.HoppingKind((0, 1), lat)] = hopy


bhz_parameters = {"A": 0.5, "B": 1.00, "D": 0.3, "M": 1.0, "del_z": 0.0}

k = (4 / 3) * np.linspace(-np.pi, np.pi, 51)
kwargs = {"k_x": k, "k_y": k, "title": title}
Ms = np.linspace(-1, 1.5, 15)
dispersion_frames = {
    bhz_parameters["M"]: spectrum(bhz_infinite, bhz_parameters, **kwargs)
    for bhz_parameters["M"] in Ms
}
slider_plot(dispersion_frames, label="M")
Loading...

This gap closing turns your trivial insulator into a topologically non-trivial quantum spin Hall insulator.

In the rest of this lecture, we will use the BHZ model as a toy-model to illustrate the behavior of a quantum spin Hall insulator using numerical examples. The BHZ model, however, is more than a toy-model, and it can be used to capture the behavior of some real semiconducting materials. For this reason, the BHZ model will be a main protagonist in the next chapter, where we will discuss real materials and the experimental evidence for the quantum spin Hall effect.

Alternative point of view: fermion parity pump

In the previous cases of the Kitaev chain and the quantum Hall effect, the bulk topological invariant that we eventually obtained was characterized by the response to some adiabatic experiment.

Since the time-reversal invariant topological insulator is two dimensional like a quantum Hall system, it is reasonable to put the system in a Corbino geometry and change the flux through the system, creating an azimuthal electric field:

However, because of time-reversal symmetry, the system is forbidden from having a Hall conductance and therefore there cannot be any charge transfer between the two edges of the disk. For instance, if we consider two copies of the Haldane model with opposite spin, there will be two quantum Hall pumps working in opposite directions (one transferring charge from the inner edge to the outer edge, the other one from the outer edge to the inner one). So the net charge transferred is zero.

Because the two pumps act on electrons with opposite spin, you might be tempted to define a spin current, which would flow in response to the electric field, orthogonal to it. However, as we just discussed, the spin along a given direction may not be conserved, so generally this is not a good way to define a robust pumping effect.

To understand what exactly happens in the pumping process, let’s look at the energy spectrum of the edge states for the BHZ model in the cylinder geometry. As we discussed in the quantum Hall lectures, the cylinder geometry is really equivalent to the Corbino disk, except that it is easier to study.

You also learned that in a cylinder of finite circumference LL, the momenta of the allowed edge states are quantized at values determined by the flux.

To make things more simple, you may actually imagine that the circumference of the cylinder is just a single unit cell long. We then have only one allowed value of the momentum kk along the edge, which is exactly proportional to the flux threaded through the cylinder, k=2πΦ/Φ0k = 2\pi \Phi/\Phi_0.

So let’s look at the energy spectrum of a cylinder as a function of kk (or equivalently Φ\Phi), and compare a cylinder in the quantum spin Hall phase with a cylinder in the trivial insulating phase.

Source
W = 20

bhz_ribbon = kwant.Builder(kwant.TranslationalSymmetry((1, 0)))
bhz_ribbon.fill(bhz_infinite, (lambda site: 0 <= site.pos[1] < W), (0, 0))
# Add sites with reduced dispersion to produce slowly dispersing trivial modes
bhz_slowed = bhz_infinite.substituted(
    **{orig: orig + "_slowed" for orig in bhz_parameters}
)
bhz_ribbon.fill(bhz_slowed, (lambda site: site.pos[1] == -1), (0, -1))
bhz_ribbon.fill(bhz_slowed, (lambda site: site.pos[1] == W), (0, W))

half_pi_ticks = [(0, "$0$"), (np.pi / 2, r"$\pi/2$"), (np.pi, r"$\pi$")]
style = {
    "k_x": np.linspace(0, np.pi, 101),
    "xdim": r"$k$",
    "ydim": r"$E$",
    "xticks": half_pi_ticks,
    "yticks": np.linspace(-2, 2, 9),
    "xlims": [0, np.pi],
    "ylims": [-2, 2],
    "title": title,
}


ribbon_parameters = {
    "A_slowed": 0.05,
    "B_slowed": -0.2,
    "D_slowed": 0.15,
    "M_slowed": -0.3,
    "del_z_slowed": 0.5,
    **bhz_parameters,
}


(
    combine_plots(
        [
            add_reference_lines(
                spectrum(bhz_ribbon, {**ribbon_parameters, "M": 1.0}, **style),
                y=0,
                line_dash="dash",
                line_color="#666",
            ).update_layout(title="Topological"),
            add_reference_lines(
                spectrum(bhz_ribbon, {**ribbon_parameters, "M": -1.0}, **style),
                y=0,
                line_dash="dash",
                line_color="#666",
            ).update_layout(title="Trivial"),
        ],
        cols=1,
    )
)
Loading...

In both cases you see that at k=0k=0 there are isolated pairs of states with degenerate energies, between the valence and conduction bands. The Fermi energy is set at E=0E=0, in the middle of the gap between conduction and valence bands. These states are the Kramers pairs at the edges - one pair for the topological case, two for the trivial case. You also see the splitting of Kramers pairs as soon as kk goes away from zero. This is because k=0k = 0 is a time-reversal invariant point, a point in momentum space that is mapped to itself by time-reversal symmetry.

The plot ends at k=πk=\pi (that is, Φ=h/2e\Phi=h/2e), which is another time-reversal invariant point. Indeed, time-reversal symmetry sends ΦΦ\Phi\to-\Phi, but for Φ=h/2e\Phi=h/2e this corresponds exactly to adding or subtracting a flux quantum. Hence, all the physical properties of the system remain unchanged under the action of time-reversal for this value of the flux. And indeed you can see that all levels meet again and form Kramers pairs.

We now see an interesting difference though. In the topological case, the Kramers pairs at k=πk=\pi are not the same as those at k=0k=0. In the trivial case however, the pairs are the same. As a consequence, in the topological case there is an odd number of levels crossing zero-energy, while in the trivial cases there is an even number of them. Therefore changing the flux by h/2eh/2e in the topological case changes the fermion parity at the edge, while it does nothing in the trivial case. We have thus obtained a fermion parity pump.

Strangely, this reminds us of the topological superconducting ring that we studied in the second week of the course. There we also had a fermion parity change in response to a flux. It turns out that this is not a coincidence, as we will see when we discuss how to realize topological superconductors using topological insulators.

You may appreciate that our argument did not rely on spin being a good quantum number, or on any other detail of the system, but only on Kramers theorem. And in fact it holds very generally. Deforming the dispersion of Kramers pairs does not break the fermion parity pump, as long as the way states combine to form Kramers pairs at k=0k=0 and k=πk=\pi is unchanged.

Pumping expression for the topological invariant

At this point, following the same path we followed for Chern insulator, we would like to find an expression for a topological bulk invariant which characterizes the quantum spin Hall effect.

However, we now encounter a problem: for complicated topological systems in higher dimensions, it is hard to evaluate the topological invariant. We know when the system is topological, and we know which values the topological invariant can take (for now just two: trivial and non-trivial), but it becomes hard to find and evaluate the correct expression for it.

We were able to calculate the Chern number using Berry curvature. The analogous computation for the topological invariant of the quantum spin Hall insulator is too involved, and so we will not present it in our course.

The scattering formulation of the topological invariant, however, is easy to implement and utilize. We can apply it by taking the cylinder threaded by a flux and connecting it to leads in the following geometry:

Let us now study what happens when we try to inject electrons into the edges of the cylinder. Since we have “rolled-up” our system along one direction, we have a one-dimensional scattering problem. Similar to a Thouless pump, we expect to be able to find a topological signature in the reflection matrix rr for an electron coming in from the left.

As we vary the flux, the reflection properties may change, leading to a kk-dependent reflection matrix r(k)r(k). We assume that the bulk is gapped, so transmission is suppressed, and therefore rr is unitary. Moreover, at k=0k=0 and k=πk=\pi, rr is also antisymmetric because of time-reversal symmetry.

It turns out that the topological invariant has a relatively simple form:

Q=Pf[r(0)]Pf[r(π)]det[r(π)]det[r(0)]Q = \frac{\textrm{Pf}[r(0)]}{\textrm{Pf}[r(\pi)]}\sqrt{\frac{\det[r(\pi)]}{\det[r(0)]}}

This expression relies on the antisymmetry of rr at k=0k=0 and k=πk=\pi. At these values we can compute the Pfaffian. The eigenvalues of rr come in pairs of opposite sign eiαe^{i\alpha}, eiα-e^{i\alpha}, which correspond to the Kramers pairs formed by the helical edge states. This means we can calculate the Pfaffian at these momentum values, but its phase is arbitrary.

We can however compute det[r(k)]\sqrt{\det[r(k)]} for all the intermediate values of kk. To get rid of the sign ambiguity of the square root, we require that det[r(k)]\sqrt{\det[r(k)]} is continuous for all kk, and that det[r(0)]=Pf[r(0)]\sqrt{\det[r(0)]} = \textrm{Pf}[r(0)]. This only gives a unique answer if detr0\det r \neq 0 for all kk.

This gives us a curve which starts at Pf[r(0)]\textrm{Pf}[r(0)] and ends at either Pf[r(π)]\textrm{Pf}[r(\pi)] or Pf[r(π)]-\textrm{Pf}[r(\pi)]. These two cases distinguish the trivial and nontrivial systems.

In the plot below, we show how this trajectory changes for our cylinder geometry as the BHZ model is driven through the topological phase transition. In the right panel, the green dots give you the phase of Pf[r(0)]\textrm{Pf}[r(0)] and Pf[r(π)]\textrm{Pf}[r(\pi)], and the blue line the phase of det[r(k)]\det[r(k)].

Source
cylinder_W = 3
infinite_cylinder = kwant.Builder(kwant.TranslationalSymmetry((1, 0), (0, cylinder_W)))
infinite_cylinder.fill(bhz_infinite, shape=(lambda site: True), start=(0, 0))
infinite_cylinder = kwant.wraparound.wraparound(infinite_cylinder, keep=0)

top_invariant_probe = kwant.Builder(kwant.TranslationalSymmetry((0, cylinder_W)))
top_invariant_probe.fill(
    bhz_infinite, shape=(lambda site: site.pos[0] == 0), start=(0, 0)
)
top_invariant_probe = kwant.wraparound.wraparound(
    top_invariant_probe, coordinate_names="yxz"
)

# Prepare a "probe" lead which is never gapped and respects time-reversal symmetry.
probe_lead = kwant.Builder(
    kwant.TranslationalSymmetry((-1, 0)), time_reversal=1j * pauli.sys0
)
probe_lead[lat.shape((lambda pos: 0 <= pos[1] < cylinder_W), (0, 0))] = 0 * pauli.s0s0
probe_lead[kwant.HoppingKind((1, 0), lat)] = pauli.s0s0
top_invariant_probe.attach_lead(probe_lead)
top_invariant_probe.attach_lead(infinite_cylinder)
top_invariant_probe = top_invariant_probe.finalized()


def scattering_det_pfaff(syst, p):
    pfaffians = []
    for p["k_y"] in (0, np.pi):
        s = kwant.smatrix(syst, energy=0.0, params=p).data
        # Pfapack requires a strictly antisymmetric matrix, ours has a slight error.
        pfaffians.append(pf.pfaffian(s - s.T))

    ks = np.linspace(0.0, np.pi, 50)
    det = [
        np.linalg.det(kwant.smatrix(syst, energy=0.0, params=p).data) for p["k_y"] in ks
    ]
    det = np.array(det)

    phase = np.angle(pfaffians[0]) + 0.5 * np.cumsum(np.angle(det[1:] / det[:-1]))
    pi_ticks = [(-np.pi, r"$-\pi$"), (0, "$0$"), (np.pi, r"$\pi$")]
    fig = go.Figure()
    fig.add_trace(
        go.Scatter(
            x=ks[1:],
            y=phase,
            mode="lines",
            line=dict(color="blue"),
            name="Phase",
        )
    )
    fig.add_trace(
        go.Scatter(
            x=[0, np.pi],
            y=np.angle(pfaffians),
            mode="markers",
            marker=dict(color="green", size=8),
            name="Pfaffian phase",
        )
    )
    fig.update_layout(
        title="Winding",
        xaxis=dict(
            title="$k_y$",
            tickvals=[0, np.pi],
            ticktext=["0", r"$\pi$"],
            range=[-0.2, np.pi + 0.2],
        ),
        yaxis=dict(
            title="phase",
            tickvals=[v for v, _ in pi_ticks],
            ticktext=[t for _, t in pi_ticks],
            range=[-np.pi - 0.2, np.pi + 0.2],
        ),
        showlegend=False,
    )
    return fig


combined = {}
for M in Ms:
    disp_fig = dispersion_frames[M]
    params = dict(bhz_parameters)
    params["M"] = M
    pfaff_fig = scattering_det_pfaff(top_invariant_probe, params)
    fig = make_subplots(
        rows=1,
        cols=2,
        column_widths=[0.55, 0.45],
        horizontal_spacing=0.1,
        specs=[[{"type": "scene"}, {"type": "xy"}]],
    )
    for trace in disp_fig.data:
        fig.add_trace(trace, row=1, col=1)
    if hasattr(disp_fig.layout, "scene"):
        fig.update_scenes(
            xaxis_title=disp_fig.layout.scene.xaxis.title.text,
            yaxis_title=disp_fig.layout.scene.yaxis.title.text,
            zaxis_title=disp_fig.layout.scene.zaxis.title.text,
            row=1,
            col=1,
        )
    else:
        fig.update_xaxes(title=disp_fig.layout.xaxis.title.text, row=1, col=1)
        fig.update_yaxes(title=disp_fig.layout.yaxis.title.text, row=1, col=1)
    for trace in pfaff_fig.data:
        fig.add_trace(trace, row=1, col=2)
    fig.update_xaxes(
        title=pfaff_fig.layout.xaxis.title.text,
        range=pfaff_fig.layout.xaxis.range,
        tickvals=pfaff_fig.layout.xaxis.tickvals,
        ticktext=pfaff_fig.layout.xaxis.ticktext,
        row=1,
        col=2,
    )
    fig.update_yaxes(
        title=pfaff_fig.layout.yaxis.title.text,
        range=pfaff_fig.layout.yaxis.range,
        tickvals=pfaff_fig.layout.yaxis.tickvals,
        ticktext=pfaff_fig.layout.yaxis.ticktext,
        row=1,
        col=2,
    )
    fig.update_layout(
        title=rf"$M={M:.2f}$",
        legend=dict(x=0.62, y=0.92),
    )
    fig.update_scenes(
        xaxis=dict(
            tickvals=[-np.pi, 0, np.pi],
            ticktext=["−π", "0", "π"],
        ),
        yaxis=dict(
            tickvals=[-np.pi, 0, np.pi],
            ticktext=["−π", "0", "π"],
        ),
        row=1,
        col=1,
    )
    combined[M] = fig

slider_plot(combined, label="M")
Loading...

We now have a quantity equal to ±1\pm 1, which cannot change continuously unless there’s a gap closing (when there’s a gap closing, detr\det r becomes equal to 0). It is relatively hard to prove that this invariant counts the pumping of fermion parity, but if you’re interested, check out this paper:

From reading the paper, or just from the above discussion, you see that it takes a lot of effort to derive an explicit expression for a topological invariant. Even though it is a hard task, sometimes one can guess the right result (one of us was indeed able to guess the above expression for QQ before it was known). Other times, one can invoke some simplification and obtain some important insight. This is what we will do in the next unit.

A simplification: inversion symmetry

As just mentioned, topological invariants in higher dimensions are often difficult to write down and evaluate in the general case. Luckily, in the presence of inversion symmetry - which reverses the lattice coordinates with respect to a symmetry center - the topological condition can be stated in rather simple terms. This turns out to be quite useful to describe most topological materials, which happen to have crystal structure with inversion symmetry.

From our earlier discussion, we know that a system is a time-reversal invariant topological insulator if it has an odd number of helical edge states. We will now see how we can find an expression for the bulk topological invariant, using inversion symmetry and bulk-boundary correspondence.

So let’s consider a two-dimensional Bloch Hamiltonian H(k)H(\mathbf{k}) with both inversion and time-reversal symmetry. Inversion symmetry has a unitary operator P\mathcal{P} which maps kk\mathbf{k}\rightarrow -\mathbf{k} and satisfies P2=1\mathcal{P}^2=1. If we have both inversion symmetry P\mathcal{P} and time-reversal T\mathcal{T}, we get an anti-unitary symmetry TP\mathcal{T}\otimes\mathcal{P}, which preserves k\mathbf{k} and squares to -1.

These are precisely the conditions needed for Kramers theorem to apply - only this time, every point k\mathbf{k} is mapped to itself because inversion symmetry is included as well. We conclude that every eigenstate at any k\mathbf{k} is two-fold degenerate. We may label these two eigenstates with an index σ=±\sigma=\pm. If spin is a good quantum number, σ\sigma labels two states with opposite spin. However, this may not be the case so we will just refer to it as a pseudospin associated with Kramers degeneracy.

Note that the simplification obtained by adding inversion symmetry is that the spectrum is two-fold degenerate at all k\mathbf{k} in the Brillouin zone. Time-reversal symmetry alone cannot guarantee that, because it maps k\mathbf{k} to k-\mathbf{k}.

Our next step is to calculate the effective description of helical edge states at a domain wall between a topological phase and a non-topological phase. This is something we already know how to do thanks to our experience with domain walls in the Kitaev chain and in Chern insulators. It will give us insight into the topological transition and the bulk topological invariant.

Study of a domain wall

Let’s imagine that the helical edge runs along the yy direction, and that the domain wall is described by a mass profile M(x)M(x) along the xx direction, which is zero at the domain wall:

In this configuration, kyk_y is still a good quantum number, and we can study the energy dispersion of states bound to the domain wall as a function of kyk_y. If the edge is gapless there must be a momentum, say kˉy\bar{k}_y, where counterpropagating modes cross at the Fermi level. Let’s fix ky=kˉyk_y=\bar{k}_y, and write down an effective Hamiltonian for the motion transverse to the domain wall.

We have in total four states, distinguished by two quantum numbers: their direction of propagation, which we denote with b=±b=\pm, and their pseudospin σ\sigma. Inversion symmetry P\mathcal{P} flips the direction of propagation bb, while the pseudo-spin degeneracy σ\sigma is related to the combination of inversion and time-reversal TP.\mathcal{T}\otimes\mathcal{P}. To lowest order in the momentum kxk_x perpendicular to the domain wall, the states at the transition point disperse linearly with kxk_x, and are two-fold degenerate. In fact, as we noted from Kramers degeneracy, the Hamiltonian must be chosen such that none of the terms break the two-fold degeneracy associated with the pseudospin σ\sigma. This means that the domain wall cannot couple states with different values of σ\sigma, which leads us to an effective Hamiltonian

H(kˉy)=σ,bkxbb,σb,σ+M(x)(+,σ,σ+h.c.)].H(\bar{k}_y)=\sum_{\sigma,b}\,k_x b\,|b,\sigma\rangle\langle b,\sigma|+M(x)(|+,\sigma\rangle\langle -,\sigma|+h.c.)]\,.

where the factor bb is odd under time-reversal symmetry so that kxbk_x b is even under time-reversal symmetry.

We are back to an old friend, the one dimensional Dirac Hamiltonian with a position-dependent mass M(x)M(x). Adapting our arguments from the first week, we can immediately say that the domain-wall hosts a pair of zero modes only if M(x)M(x) changes sign.

As interesting as this sounds, we must remember that this pair of zero modes is present for ky=kˉyk_y=\bar{k}_y. Because of inversion symmetry, there is necessarily an identical pair at kˉy-\bar{k}_y. So we get a total of 4 degenerate domain wall states from this type of gap closing - an even number of pairs. As we know from before, such pairs of gap closings do not affect the value of the topological invariant on the two sides of the domain walls. To change the value of the topological invariant, we would need an odd number of pairs crossing zero energy.

However, there are points in momentum space which are mapped onto each other by time-reversal symmetry, up to a reciprocal lattice vector. For these values, the above counting does not hold. People refer to these momenta as “time-reversal invariant momenta” or TRIMs. In the simple case of a square Brillouin zone, they are the points (kx,ky)=(0,0),(0,π),(π,0),(π,π)(k_x, k_y) = (0,0), (0,\pi), (\pi,0),(\pi,\pi).

Since TRIMs are their own time-reversed partners, it is still possible for a gap closing at kˉy=0\bar{k}_y=0 or kˉy=π\bar{k}_y=\pi to change the topology of the system. In this case, our doubling problem in momentum space is solved, and we can produce just one pair of edge modes at the domain wall. If we move the momentum kyk_y slightly away from kˉy\bar{k}_y, the degenerate pair of modes splits linearly to form a single helical mode that produces a non-trivial fermion parity pump.

To make the distinction clear between a gap closing at a finite kˉy\bar{k}_y and at a time-reversal invariant point, let’s draw a sketch of the edge dispersion in the two cases.

Kramers pairs are colored in red and blue and have the same linestyle. On the left, you have two pairs of Kramers partners, which however never meet at zero energy. On the right, there is a single Kramers pair meeting at zero energy. This argument summarizes the simplification that inversion symmetry brings to time-reversal invariant topological insulators.

We can determine the topological invariant for the inversion symmetric topological insulators entirely from the bulk Hamiltonian at time-reversal invariant momenta, since gap closings at any other point can only add domain wall states in multiples of four.

Does this mean that any gap closing at a TRIM is a topological transition? The states b,σ|b,\sigma\rangle are Bloch states with definite values of kyk_y. We are considering a time-reversal invariant value of kyk_y, and since bb is flipped by inversion symmetry, we can apply inversion symmetry to conclude that the states ±,σ|\pm,\sigma\rangle transform into each other under inversion i.e. P±,σ=,σ\mathcal{P}|\pm,\sigma\rangle= |\mp,\sigma\rangle. By combining these states into symmetric and anti-symmetric superpositions

e,σ=12[+,σ+,σ],o,σ=i2[+,σ,σ],|e,\sigma\rangle=\frac{1}{\sqrt{2}}\left[|+,\sigma\rangle\, + \,|-,\sigma\rangle\right],\,\quad |o,\sigma\rangle=\frac{i}{\sqrt{2}}\left[|+,\sigma\rangle\, - \,|-,\sigma\rangle\right],

we obtain states that are even (ee) and odd (oo) under inversion—they are eigenstates of P\mathcal{P} with eigenvalue +1 or -1. They are also eigenstates of MM at kx=ky=0k_x=k_y=0. The factor of ii in o,σ|o,\sigma\rangle ensures a consistency under the time-reversal transformation, such that T(e,o),σ=σ(e,o),σ\mathcal{T}|(e,o),\sigma\rangle=\sigma|(e,o),\sigma\rangle.

Every gap closing at a TRIM is an even parity state crossing with an odd parity state. The effective Hamiltonian of such a gap closing must also add an extra Kramers pair of states at the domain wall, and therefore indeed every gap closing at a TRIM is a topological phase transition, while gap closings at all the other momenta are unimportant due to inversion symmetry.

This leads to a simplified way of computing a topological invariant of quantum spin Hall insulators with inversion symmetry:

To compute a bulk topological invariant for a two-dimensional topological state with time reversal and inversion symmetry we need to keep track of the parity PP of all the occupied eigenstates of H(k)H(\mathbf{k}) at the different time-reversal invariant momenta in the Brillouin zone. We may write such a bulk topological invariant as a product

Q=n,jPn,j,Q=\prod_{n,j}P_{n,j}\,,

where Pn,jP_{n,j} is the parity, nn runs over the occupied bands of H(k)H(\mathbf{k}) and jj over the time-reversal invariant momenta.

You might now worry whether this definition of the invariant relied on having a smooth domain wall. From the fermion parity pump argument, bulk-edge correspondence implies that the bulk must be topologically non-trivial once you have edge states for any termination. Reversing this argument, we know that once we have a topologically non-trivial bulk, we must have helical edge states for any termination.

Thus, by looking at smooth domain walls we are able to establish a connection between the topological invariant in the presence of time-reversal and inversion symmetry, and the existence of helical edge states and fermion-parity pumping that characterizes the two dimensional topological insulator.

As a bonus, thanks to the previous arguments we can begin to understand how to look for two-dimensional topological insulators among real materials, or how to create them. The main idea is to generate a “band-inversion” between an even and an odd parity band at a TRIM.

Such a band inversion is not impossible to achieve in real materials, and can be captured using the BHZ model. But let’s leave this to the next lecture.

Summary

References
  1. Meidan, D., Micklitz, T., & Brouwer, P. W. (2011). Topological classification of adiabatic processes. 10.48550/ARXIV.1107.2215