Computational Physics

(Rick Simeone) #1

352 Transfer matrix and diagonalisation of spin chains


programming exercise
Program a routine for multiplying the Hamiltonian by a vector. Use this in a
Lanczos algorithm to find the ground state and first excited state of a spin-
1/2 antiferromagnetic Heisenberg chain. The infinite chain has no energy gap
[16]; therefore, the energy gap should decrease with increasing length.

CheckFor a chain with 12 sites, you should find−5.3873909 for the ground
state energy of a periodic chain.

The program can easily be extended to the spin-1 chain. You can then check the
value of the Haldane gap [17] between the ground state and the first excited state,
which is 0.4107+67.9/L^2 per sitefor an long chain [18]. Note that to extend this
program to the Hubbard model,MSmust be four (as there are four possible states
for each site) and the Hamiltonian must be adjusted to that model.


11.5.2 Exploiting symmetry

Up to this point, we have hardly mentioned the use of symmetry when diagonalising
a Hamiltonian. This is, however, extremely important, as the use of symmetry can
result in a huge reduction of the CPU time needed for a calculation. To see this let us
assume that we have some symmetry operation, represented by a quantum operator
Owhich commutes with the Hamiltonian. In that case we can organise the eigen-
states of the Hamiltonian such that they are also eigenstates ofOand vice versa.
Now suppose that we can easily find a complete set of eigenstates ofO(this often
turns out be the case). These states are then organised into subspaces, one for each
eigenvalue ofO. States within such a (possibly degenerate, and therefore multidi-
mensional) eigenspace will be invariant under action of the Hamiltonian on them
(see Problem 11.3). This means that the Hamiltonian will acquire ablock-diagonal
form when formulated with respect to this complete set. This is an extremely useful
result. If we have for example a basis on a one-dimensional axis, and a Hamiltonian
which is invariant under reflection, we divide up ourNbasis vectors into a subset
of even and one consisting of odd basis functions. If there are equal numbers of
each type, the Hamiltonian will have two blocks of sizeN/2 on the diagonal.
What is the use of this? Matrix diagonalisation is an order-N^3 algorithm. Diag-
onalising twoN/ 2 ×N/2 matrices is therefore four times as fast as diagonalising
a singleN×N matrix. The invariant subspaces in which we solve our small
Hamiltonian matrices are calledsectors. Studying symmetries and their use in
physics is mainly the domain of group theory. The interested reader is advised to
consult specialised literature [19]. Here we shall implement the symmetries using
pedestrian methods.

Free download pdf