364 Transfer matrix and diagonalisation of spin chains
So far, we have considered the simplest DMRG method in fair detail. It is possible
to extend the method to periodic chains by not reversing E with respect to S and
coupling the right hand side of E to the left hand side of S. Another interesting
extension concerns the finite chain instead of the infinite one: sometimes (especially
when disorder or incommensurability plays a role) the ground state changes its
global structure markedly when varying the chain length, so that studying a fixed
length chain is indeed desirable. Another problem in which fixed length chains are
very important is finite-size scaling. Although the DMRG method provides a useful
way of finding ground states for the infinite chain, finite-size scaling is relevant for
finding information about scaling exponents.
The finite-size algorithm works as follows. First the infinite-system algorithm is
run for a number of steps, until the universe has the desired lengthL. Meanwhile,
the Hamiltonian and other operators are stored in memory for each system size
encountered so far. Then the system S is increasedat the expense ofthe environment
E, such that U remains constant in size. After E is shrunk to the lowest possible size
(one, two or three spins), it is increased again in a stepwise fashion, while reducing
the size ofS, and this goes on until convergence has been achieved. In more detail,
the algorithm for a system of finite sizeLproceeds along the following steps.
- Carry out steps of the infinite-size algorithm until the size of the universe (S
plus E plus two central spins) isL. During this step, store all the Hamiltonians
and other necessary operators (see above) for all sizes in memory. - Reduce the matrices (Hamiltonian and necessary spin-operators) of S (which is
the left half of the system generated in the previous step) to sizeMby tracing
out E and identifying the most relevant eigenstates ofρS, followed by a
projection ofHSand the spin-operators onto the space spanned by these most
relevant eigenstates. We now have the HamiltonianHSfor the left half of
sizeL/2. - Add two spins toHS, and an environment of lengthL/ 2 −2 (the Hamiltonian
and other matrices of this has been stored in memory). The system S is
therefore increased, but E isdecreased. - The procedure of the last two steps is repeated until the system S has size
L−3 (that is, E has size 1, but 2 or 3 is also possible). The matrices for S
should still be stored for each size. - Nowreducethe size of S in a similar way to the increase of the size of S. The
environment therefore grows. For the environment, the stored matrices are
used, whereas for the system, the matrices are updated at each step. Carry on
until the system S has reached size 1 (and E has sizeL−3). - Repeat the up and down sweeps of the previous steps until convergence has
been achieved.