How to increase the accuracy of DMRG?

+1 vote
asked Jun 8, 2016 by nrgphy123 (340 points)

Dear ITensor users,
I am calculating correlation functions for a spin-1/2 zig-zag chain using DMRG. Most of the values I am getting are exactly what they should be but a few of them are all over the place. I increased the number of sweeps and the number the states kept in each sweep and depending on how I choose the number of states kept, the accuracy fluctuates but all in all more sweeps tends to more accuracy. However, when I decreased the value of desired truncation error, it didn't help. I am not sure if I am doing everything right and I will truly appreciate if you could help.

I understand that DMRG is a numerical approximation method and my results cannot be exactly what the theory predicts. I am just interested to know how I can control the parameters in my code so that I get the best accuracy. Even if the cost of computations increases significantly, that should not be a problem because I have access to a cluster.

Thanks in advance.


1 Answer

0 votes
answered Jun 8, 2016 by miles (16,920 points)
selected Jun 17, 2016 by nrgphy123
Best answer

Hi Niraj,
Thanks for the question. There could be a few reasons for what you are seeing:

(1) There could be a bug in ITensor! With the new release users have been inevitably running into bugs although most have not been too serious and I've been quickly fixing them. But if you could post your code I could run it to see if I can reproduce the "all over the place" fluctuations you report.

(2) There could be an error with the measurement code you wrote. I assume you regauged the MPS using psi.position(j) as you were doing the measurements, correct?

(3) Perhaps your wavefunction isn't converged but we'd have to look at that. What truncation error is DMRG reporting? Does this problem happen even for short systems or only as systems get longer? Does the energy converge to a consistent value by the last few sweeps? If the wavefunction is good then the correlation function measurements must be accurate too.


asked Jun 17, 2016 by nrgphy123 (340 points)
edited Jun 22, 2016 by nrgphy123
Issues with my DRMG code
Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.