I was looking into the convergence of the ground state energy in DMRG as a
function of NUMSTATES. For instance, on a 1D chain of spinless fermions with
open boundary conditions at half-filling (L=36, N_TOTAL=12) and interaction
strength V0=4, the ground state energies after 30 sweeps are
M=2 E0 = -8.6661
M=4 E0 = -9.6249
M=8 E0 = -9.7115
M=100 E0 = -9.7133
The truncation error for the M=2 run was just 0.00167, so it is surprising
(to me, at lest) that the energy is off by more than 10 percent. A
discrepancy of 10 percent or more occurs for chains of different lengths and
interaction potentials of different strengths. Doing 100 sweeps instead of
30 has no effect on the first 5 digits of the M=2 results. Nor does
increasing NUM_WARMUP_STATES to 100. One possibility is that the calculation
is getting stuck in a local minimum.
Does the ALPS DMRG routine have any method for avoiding local minima? For
instance, adding a small amount of noise to the calculation to allow
tunneling out of local minima? Even if the results of the above calculations
simply reflect the poor quality of the M=2 wave function, it would still be
useful to know how to handle local minima that might occur in DMRG
calculations.
Jesse