11.5 ‘Exact’ diagonalisation of quantum chains 353
For the one-dimensional Heisenberg chain, the implementation of symmetry is
very instructive. The symmetry operations are easy to find [20]. The symmetry
operations we shall consider are translation symmetry (which holds for the peri-
odic chain), conservation of angular momentum along thezaxis (which results
from rotational symmetry around that axis), and reflection symmetry (left-right
symmetry). In Problem 11.3, these symmetries are considered in some detail.
We can find so many small sectors that it is possible to findalleigenvalues (thus
not only the lowest ones) for theL=12 Heisenberg chain of the previous section
very quickly. We start by considering the rotation symmetry which leads to the
conservation of the total angular momentum along thez-axis. This is
Stotz =
∑L
i= 1
si. (11.38)
It is clear that the states|s 1 ,...,sL〉are eigenstates of theStotz. We can simply loop
over all the states|K〉(Kgiven by(11.36)), determine their total spin component
along thezaxis and reshuffle them into sets of equalSz. You can try this for the
Heisenberg chain and see that it leads to much smaller matrices. These matrices
can already be diagonalised on a standard PC. However, an additional major
improvement is realised by implementing translation symmetry (which only holds
for the periodic case). Eigenstates of the translation operator, which shifts all spins
one site to the right, are Bloch states. In fact, for each basis state|ψ〉we can generate
a Bloch state which is an eigenvector of the translation operatorTas follows:
|ψk〉=|ψ〉+e^2 πik/LT|ψ〉+e^4 πik/LT^2 |ψ〉+···+e^2 πi(L−^1 )k/LTL−^1 |ψ〉. (11.39)
It can easily be checked that the eigenvalue is e−^2 πik/L.
Let us now work out these symmetries for a chain consisting of four spins. The
basis states can be grouped into states related to each other by translations.
Sz 0 1 2 3 4
k= 0 | 0 〉 | 1 〉+| 2 〉+| 4 〉+| 8 〉 | 3 〉+| 6 〉+| 12 〉+| 9 〉| 5 〉+| 10 〉 | 7 〉+| 14 〉+| 13 〉+| 11 〉 | 15 〉
k= 1 | 1 〉+i| 2 〉−| 4 〉−i| 8 〉 | 3 〉+i| 6 〉−| 12 〉−i| 9 〉 | 7 〉+i| 14 〉−| 13 〉−i| 11 〉
k= 2 | 1 〉−| 2 〉+| 4 〉−| 8 〉 | 3 〉−| 6 〉+| 12 〉−| 9 〉| 5 〉−| 10 〉 | 7 〉−| 14 〉+| 13 〉−| 11 〉
k= 3 | 1 〉−i| 2 〉−| 4 〉+i| 8 〉 | 3 〉−i| 6 〉−| 12 〉+i| 9 〉 | 7 〉−i| 14 〉−| 13 〉+i| 11 〉
All the boxes represent sectors of the Hilbert space: we see that only two sectors
are two-dimensional; the others contain only a single state. This means that the
diagonalisation can now easily be done by hand.
Note that some boxes are empty: this is because constructing the eigenstate
according to the above recipe leads to the zero state. This happens when translating
the state over one or two positions turns the state into itself. As the period of these