I have a 1D discrete, finite system that lacks translational invariance. It appears to have edge states, in much the same way as an SSH model has edge states. In the SSH model we can study the infinite version of the finite chain to calculate a topological index, the Zak phase. I am trying to think if I can define (or there already exists) some kind of topological index that captures the presence of these edge states. However my system lacks translational invariance. Any suggestions on how to approach this? I have found the Bott index, but it appears to only be defined for 2D systems.

  • 1
    $\begingroup$ See the question ``Z_2 or Z invariant for the Su-Schrieffer-Heeger (SSH) model'' (not sure how to link). We can better answer this is you specify the symmetry class. Also if you want an analytic computation or a computer based option. $\endgroup$ Nov 1, 2018 at 17:58
  • $\begingroup$ @TerryLoring I have made the question much more specific. Can you advise? $\endgroup$
    – Tom
    Nov 22, 2018 at 12:58
  • $\begingroup$ As you mention the chain is dimerised it seems you are working in class AIII. Working with a finite open system you should be able to use the index I indicated in the last paragraph of my answer. If you choose this method, your work will be computer based, so see Section 4.1 in my Annals of Physics paper. More info on tuning \kappa is in my recent (1811.07494) Arxiv posting. $\endgroup$ Nov 24, 2018 at 19:28
  • $\begingroup$ Have you computed the topological indices for the disordered SSH model? Did the index "Z" make sense?"Efficient numerical computation of the Pfaffian for dense and banded skew-symmetric matrices" this paper have computed the topological charge of a disordered nanowire, I don't know if it makes sense for a disordered SSH system $\endgroup$
    – kabu
    May 2, 2020 at 9:20

3 Answers 3


The Bott index is essentially limited to finite, 2D systems with periodic boundary conditions. There may be some applications of the Bott index to a 1D system that will be found someday. I assume you have a new system and you want an established index to compute.

What you are looking for are real-space formulas for the index/K-theory. There are formulas for open boundary conditions and different formulas for periodic boundary conditions. For an index you compute based on periodic boundary conditions, see the work of Emil Prodan and coauthors. Some of his papers numerical studies invoving 1D systems in class AIII.

Since you are seeing boundary states, I assume you are fine working with open boundaries. I wrote out formulas for all five relevant symmetry classes for 1D systems in section 4 of my paper "K-theory and pseudospectra for topological insulators" but I did not publish a study of 1D systems.

A numerical study, in class BDI and in 1D, using the pseudospectral index, was published recently: Liu, Dillon T., Javad Shabani, and Aditi Mitra. "Long-range Kitaev chains via planar Josephson junctions." Physical Review B 97.23 (2018): 235114.

A word of warning. The formulas involves the operator $\kappa X + iH$ where $X$ is position (here assumeing that the system is centered at position zero and the spectral gap also around zero). The small positive consant $\kappa$ is a necessary tuning parameter. Roughly speaking, one requires is to be chosen so that $\kappa X$ has norm roughly equal to the gap in the corresponding infinite system. One must experiment.

Assuming you are working in class AIII, the formula involves the grading operator $\Gamma$ which in $+1$ on the even basis vectors and -1 on the odd basis sites. In physics this is often denoted $S$. The index is the integer $$\frac{1}{2} \mbox{sig}(\kappa X + iH)\Gamma .$$ The signature can be computed without finding all the eigenvalues quickly, and is just the number of positive eigenvalues minus the number of even eigenvalues.


The index for spectrally gapped, one-dimensional chiral systems (i.e. the disordered version of the SSH model) was already defined for both bulk (infinite) or edge (half-infinite) systems in the work of Schulz-Baldes and Prodan (see their Springer textbook from a few years ago for an introduction). This essentially extends the ground-breaking work of Bellissard, van Elst and Schulz-Baldes to the chiral case in all dimensions.

Allow me to summarize the results succinctly: when you have chiral symmetry (being implemented by some operator $\Pi=\begin{bmatrix}Id&0\\0&-Id\end{bmatrix}$), your Hamiltonian (which obeys $\{H,\Pi\}=0$) is necessarily written in block form as $H=\begin{bmatrix}0&S^\ast\\S&0\end{bmatrix}$ for some operator $S$ (not necessarily self-adjoint). If you consider the half-infinite system, the index is simply the Fredholm index of $S$ (the spectral gap condition combined with the locality of Hamiltonians guarantee that $S$ is indeed a Fredholm operator). This index counts the signed (by chirality) number of zero modes of the edge Hamiltonian.

Conversely if you consider the infinite system, if $P$ is your Fermi projection (for chiral systems one must put the Fermi energy at zero) then your index is $2 tr(\Pi P [X,P])$ where $tr$ is the trace-per-unit-length and $X$ is the position operator.

Prodan and Schulz-Baldes also prove the bulk-edge duality for spectrally gapped systems in their text book, showing that these two indices are equal if you take an infinite system and cut it in the middle.

  • 4
    $\begingroup$ Incidentally, we now have proven that the index (like in this answer) of the infinite system equals the index of the finite systems (in my answer) as long as that system is big enough. This is in a joint paper with Schulz-Baldes, ``Spectral flow argument localizing an odd index pairing'' which is on the arxiv and to appear in some math journal. $\endgroup$ Nov 1, 2018 at 17:56
  • $\begingroup$ Do you have (or a link to) a simple and explicit explanation for what "trace-per-unit-length" or "trace-per-volume" etc. means. Maybe an example? I've seen this concept in a couple of papers but I struggle to find an explanation. $\endgroup$
    – Tom
    Dec 18, 2018 at 7:41
  • 1
    $\begingroup$ @Tom, the trace is the sum of all diagonal matrix elements of an operator in some basis (turns out it's independent of the basis). The trace per unit volume is when you make this calculation in the position basis, make the sum only a finite portion of space and divide by the volume of the portion of space you've used. You then take the limit of the box to infinity, and this is the trace per unit volume. $\endgroup$
    – PPR
    Aug 8, 2019 at 22:08

Case Study

Let's see if I've understood some things. Consider the (simplified) Hamiltonian from this paper

$$H=\sum_{n=1}^N \Omega_1 a_n^\dagger b_n + \sum_{n=1}^{N-1} \Omega_2 a_{n+1}^\dagger b_n + \text{H.c.}$$

which describes interactions between nearest neighbours on a dimerised chain with basis particles $A$ and $B$. Here, $\Omega_m = (1/2)(a/d_m)^3$, $d_1=d(1+\epsilon)/2$, $d_2=d(1-\epsilon)/2$, $d=d_1+d_2$ and $\epsilon \in \mathbb{R}$ controls the dimerisation. We choose $a=d/6$.

Infinite system (periodic boundary conditions)

For $\epsilon<0$ the system has a Zak phase of zero and no-edge states. For $\epsilon>0$ the system has a Zak phase of $\pi$ and does have (two) zero-energy edge states. Of course these topological indices have been calculated from the momentum space representation which requires periodic boundary conditions. In addition we can analytically calculate the band-gap between the upper and lower band as $\Delta=2|\Omega_1-\Omega_2|$(see image below, concentrate on just the blue curves for example).

Finite system

Let's try to calculate a topological index for the finite system with open boundary conditions (where the edge states actually manifest). The Hamiltonian can be rewritten as

$$H=\Psi^\dagger \mathbf{H} \Psi,$$

where $\Psi^\dagger=(a^\dagger,b^\dagger)$, $a^\dagger = (a_1^\dagger, a_2^\dagger, \dots, a_N^\dagger)$ (and similarly for $b^\dagger$) and

$$\mathbf{H} = \begin{pmatrix} 0 & \mathbf{\Omega}\\ \mathbf{\Omega}^\dagger & 0 \end{pmatrix}. $$


$$\mathbf{\Omega} = \begin{pmatrix} \Omega_1 & \Omega_2 & 0 & 0 &\dots \\ 0 & \Omega_1 & \Omega_2 & 0 & \dots \\ \vdots & \vdots & \ddots & \ddots & \dots \end{pmatrix}. $$

is a band-diagonal matrix with $\Omega_1$ along the diagonal and $\Omega_2$ along the 1-diagonal.

This system is in the class BDI (I get the same result if I use the measure for the AIII class), therefore we can use the index developed in Loring's paper (here)

$$Z=(1/2)\text{sig}(\kappa \mathbf{X} \mathbf{\Gamma} + \mathbf{H}).$$

Here $\text{sig}(M)$ is literally just the number of positive eigenvalues of $M$ minus the negative ones.

We choose the tuning parameter to be $\kappa=\Delta$ which is the band-gap in the infinite system.

Following this paper, we choose $\mathbf{X}$ to be a diagonal matrix with the diagonal elements the literal physical positions of the particles, but in units of the chain length $L=Nd$ and centred around zero, i.e.


Finally we have $\mathbf{\Gamma}=\sigma_3 \otimes \mathbb{1}_N$, where $\sigma_3$ is a Pauli matrix.

Below I plot the Zak phase (in units of $2\pi$, in red dashed line) and the finite index $Z$ (in black dotted line). We see that they more-or-less agree. Although the finite index remains 'topologically trivial' $Z=0$ for values of $\epsilon$ slightly above zero. Perhaps this makes sense, because here the spectrum has a small band-gap.

enter image description here

Ok, so I seem to have arrived at something sensible. Although the whole thing feels like a black box to me. I just can't digest what the motivation is for the measure. A 'tuning' parameter $\kappa$ also makes me very uncomfortable, because if I get the 'wrong' answer this just allows me to tune it to the 'right' answer. What if I don't know what the right answer is? What if I can't calculate the band-gap of the infinite system (because it doesn't have any sort of translational invariance for example). How can I be confident in my result? I'm also not sure if I interpreted what $\mathbf{X}$ should be correctly. Is it correct? Can I also choose it to be something slightly different?

For example, what if I choose $\kappa=2\Delta$ then I get this incorrect result

enter image description here

  • $\begingroup$ This is essentially the correct set up. To me consistent with my notation, you should remove the (1/L) from the definition of X and change the kappa to have a (1/L) term. Of course, this has no effect on what you compute, but makes it easier for me to follow. Because the kappa varies with system size, you have a global index. I think the Kappa is a bit too big. Tuning this formula is getting past the scope of this site, as it is an evolving topic. You could read more of my papers or contact me another way. $\endgroup$ Dec 13, 2018 at 4:36
  • $\begingroup$ @TerryLoring Hi, professor, for 1D disordered systems, does the index Z make sense? Because the gap will change width and the SSH model may change to a multi-band system, how to fix the kappa? Is there something like this index for a 1D photonic system? we found edge states in 1D photonic quasicrystals, but don't know how to compute the topological invariant. $\endgroup$
    – kabu
    May 2, 2020 at 9:27
  • $\begingroup$ In practice, there is broad range you can select for kappa, although the current theory does not fully explain. See "A Guide to the Bott Index and Localizer Index" on the arxiv (1907.11791). Would welcome comments as this needs a revision. $\endgroup$ May 2, 2020 at 16:13
  • $\begingroup$ @TerryLoring Does this method only support two-level systems like the SSH model? if I have a multi-band system, how can I compute the topological invariant for every gap? $\endgroup$
    – kabu
    May 23, 2020 at 2:32
  • $\begingroup$ You need to stick with the gap at zero in the symmetry classes (like AIII) where there is a symmetry anticommuting with the Hamiltonian. Probably the other gaps are not topologically protected. I am not really sure of the meaning of "two-level system" as I am a mathematician, but the K-theory makes sense for any two matrices with the right symmetries, much more generally than X and H is a basic SSH model. $\endgroup$ May 23, 2020 at 4:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.