ALPS 2 Tutorials:DMRG-01 DMRG
- 1 Models: Heisenberg Spin Chains
- 2 Running The Code
- 3 Ground State Energies
- 4 Calculating The Gap
- 5 Local Observables
- 6 Correlation Functions
- 7 Sometimes There Is A Way Out ...
Models: Heisenberg Spin Chains
For applications of DMRG, we consider two models, namely the spin-1/2 and the spin-1 antiferromagnetic Heisenberg chains of length L given by the following Hamiltonian,
The reason why we are choosing these two models, which you may already know from other tutorials, is that despite their superficial similarity they exhibit completely different physical behaviour and pose very different challenges to the DMRG algorithm. Let us briefly review their physical properties.
The ground state of the spin-1/2 chain can be constructed exactly by the Bethe ansatz; we therefore know its ground state energy exactly. In the thermodynamic limit the energy per site is given by
Ground state energies as such are of limited interest if not compared to other energies. But this one can serve as a beautiful benchmark of the DMRG method. Of more interest is whether the ground state is separated from the excited states by an energy difference that survives also in the thermodynamic limit, i.e. whether the gap is vanishing or not. For the spin-1/2 chain, the gap is 0.
At the same time, one may ask what the correlation between spins on different sites looks like. One knows for the infinitely long spin-1/2 chain that asymptotically (i.e. for )
This means that the spin-1/2 chain is critical, i.e. the antiferromagnetic correlations between spins decay with their distance following a power law; in this case the exponent of the power law is obviously . There is also an additional logarithmic correction which can be beautifully verified by DMRG calculations on very long chains, but given the very slow increase of the logarithm with its argument, we can ignore it in a first go.
For decades, people thought that the spin-1 chain would behave similarly, of course with some quantitative differences due to the different spin lengths. It came as a big surprise in 1982 when Duncan Haldane pointed out that there should be a fundamental difference between isotropic antiferromagnetic Heisenberg chains depending on the length of the spin, namely between half-integer spins () and integer spins (), with the difference being most pronounced for small spin lengths. Hence, the spin-1 chain became the focus of strong interest, and in fact DMRG had some of its most important early applications right for this system.
Unlike the spin-1/2 chain, the spin-1 chain has no properties that can be calculated exactly by analytical means. We have to rely completely on numerics when it comes to quantitative statements.
The ground state energy per site is given by
Again, the question of the existence of a gap is more important, and here one of the big differences to the spin-1/2 chain becomes visible: in the thermodynamic limit, the gap in the spin-1 chain is finite and given by
to five-digit accuracy.
The question for the behaviour of the spin-spin correlations leads to yet another big difference to the spin-1/2 case. The correlations read asymptotically (i.e. for )
The dominant contribution is now the exponential decay which happens on a length scale , the correlation length which in this particular case is found numerically to be . There is an analytic (power law) correction by a square root of the distance in the denominator, but this is often neglected in calculations of the correlation length, as it is a slow contribution compared to the fast exponential decay. It would matter, of course, if the correlation length were much larger.
The spin-1 chain is therefore a prime example for a non-critical quantum system with finite gap and exponentially decaying correlations. As it will turn out, for DMRG this type of system is much easier to do.
Plan Of The Tutorial
What we want to achieve in the following tutorial, is to be able to calculate all the above quantities on our own using ALPS DMRG while learning about the principal pitfalls in this numerical project.
Vive la difference ...
The most important difference to other numerical methods is that DMRG prefers open boundary conditions, such that there are two chain ends at site 1 and , not a closed loop as for example exact diagonalization and most analytical methods would prefer. This was already implicit in the notation of the Hamiltonian above and will lead to some of the more subtle aspects of DMRG calculations.
Running The Code
Before we start, let us briefly discuss the inner logic of the DMRG algorithm without discussing it in full detail. Given a one-dimensional quantum system with local state spaces of dimension , where for spins of length , the Hilbert space dimension explodes exponentially as with system size . Exact diagonalization achieves exact results in this exponentially large Hilbert space, at the price of small system sizes. Quantum Monte Carlo gives approximate results by stochastically sampling this large space, reaching much larger system sizes. The density-matrix renormalization group (DMRG) tries yet another approach, namely to identify very small subspaces of the exponentially large Hilbert space which are hoped to contain good, very good, even excellent approximations to the states of interest such as the ground state.
A first key control parameter is therefore , which controls the number of states in the subspace. DMRG is monotonic in this parameter: the larger it is, the larger is the subspace and the better the approximation can be. There is also an exact limit: if , no states are discarded and the solution would be exact. This is however of no practical relevance; if such a large number of states could be achieved on the computer, exact diagonalization is a superior alternative. A remark on notation: given DMRG history, comes under various names, like matrix dimension or number of block states.
The second key control parameter is of course system size .
The third control parameter(s) can only be understood by looking even closer at the DMRG algorithm. In order to find the best approximation to a state, DMRG proceeds in two steps:
- In a first step (so-called infinite-system DMRG) the algorithm tries to find good subspaces by iteratively analyzing chains of length 2, 4, 6, until the desired system size is reached. The procedure consists of splitting the chain in every iteration and insert two new sites at the center; the name comes from the fact that this procedure can of course be carried on infinitely, to take to infinity; but don't expect very meaningful results as you approach infinity! A second remark is that this procedure favours chains of even length for DMRG treatment.
- In a second step (so-called finite-system DMRG) DMRG deals with the fact that the subspace selection for shorter chains could not yet take into account all the quantum fluctuations and correlations that would be present in the chain of final length . What the method does, is to go through a series of further iterations to improve the quality of the subspaces. One such iteration looking at all sites of a chain is referred to as a sweep in DMRG. The number of sweeps is the last important control parameter: if it is chosen to small, the precision reachable for a given is not achieved; if it is chosen too large, calculational effort is wasted, although it is of course always good to err on the safe side.
In a last remark, let us consider the truncation error, which is a good indicator of the accuracy achieved by a DMRG run. In a simplified perspective, at each point in the algorithm DMRG makes one step in the direction of exponential growth of state space and then asks how much accuracy can be retained if not allowing that step, by means of an analysis of a density matrix regarding the distribution of weights (eigenvalues) corresponding to its eigenstates. The approximations of DMRG are then reflected in the fact that some statistical weight has to be discarded, which is the so-called truncation error. In many DMRG applications, it can be as small as , showing that the approximations made by DMRG are extremely light, which is the reason for the enormous success of the method. For the purpose of the tutorial it is important to know that the error in local quantities (energies, magnetizations, ...) is roughly proportional to (but usually quite a bit larger than) the truncation error, provided we are converged in the number of sweeps.
The ALPS DMRG Code and Its Control Parameters
ADRIAN, THIS SHOULD BE DONE BY YOU.
Starting the code generally. How do we assert that enough sweeps have been done? What will be written here might affect a bit the later parts.
Ground State Energies
The first question we usually ask is for the ground state and its energy . Here we have to distinguish two cases.
First, we might be interested in the ground state energy for a given Hamiltonian on a chain of a given length . Secondly, we might be interested in the energy per site (or per bond) in the thermodynamic limit.
Fixed Length Ground State Energies
Consider chains of length . Both for spin-1/2 and spin-1, set up ground state energy calculations for numbers of states . For each length, tabulate the truncation error and the ground state energies as a function of . Experiment carefully with the number of sweeps to assure that for a given length and number of states your result is actually converged.
- For each system length and spin length, try to establish the connection between the accuracy of the total energy and the truncation error by plotting total energy vs. truncation error.
- Observe how the convergence in deteriorates with length for spin-1/2 and spin-1. Apart from a global factor of order of the length, do you see a difference between the convergence behaviour in the two cases? Hint: What you should see is, that but for the global factor, the convergence for large system sizes is only weakly dependent of length for the spin-1 chain, but much more strongly dependent for the spin-1/2 chain. This is because the spin-1 chain physics is dominated by segments of length of the correlation length, whereas for the spin-1/2 chain there is no finite length scale because of criticality.
- Try to extrapolate ground state energies for each chain length to the limit.
Ground State Energies Per Site (Bond)
If we look closely at the Hamiltonian, the energy of a chain of length does not sit on the sites, but on the bonds. A first (naive) attempt therefore consists in taking the results of the last simulations and calculating
Do you get really close to the values listed in the introduction? What is the wrong underlying assumption?
The correct way is to eliminate the effect of the open boundary conditions by considering the energy of one bond at the center of the chain. There are two ways of doing it.
- Calculate the ground state energy of two chains of length and , again for the lengths already mentioned above, and calculate as the energy per bond. What do the results look like now?
- The less costly and usual way would be to use correlators (as discussed further below, so postpone this exercise until then) between neighbouring sites and use
for sites at the chain center.
Calculating The Gap
As already mentioned, the energy gap of a quantum system is given by the energy difference between the first excited state and the ground state
in the thermodynamic limit. This means we have to solve two problems, (i) the calculation of
for finite system sizes and (ii) extrapolate to the thermodynamic limit . The latter is not specific to DMRG, but because of its preference for open boundary conditions somewhat more complicated than in the more usual case of periodic boundary conditions.
Getting The Gap For Finite Systems
Obviously, we have to be able to get access to the first excited state and its energy. DMRG fundamentally knows two ways of doing this, one which works always, but is not as neat, and another one, which is very clean, but does not work under all circumstances.
- The pedestrian way
- The smarter way
Extrapolating The Gap To The Thermodynamic Limit
What is the gap of the S=1 antiferromagnetic Heisenberg chain?
Assume you have with machine precision, either by a suitable extrapolation or by a very high accuracy calculation. If you don't want to do the former, calculate the gap for system sizes with states each and 5 sweeps.
As the effects of the open ends will decrease as , it always makes sense to first plot the gaps versus . Produce such a plot.
What you see, is a curve that is quite straight for small L and then starts bending upward. What gap would you obtain if you extrapolate the