+1 vote
asked by (230 points)

I'm just wondering if it's possible to extract the error in the energy one gets from running a DMRG calculation. Obviously, there isn't a statistical error bar like there would be in a Monte Carlo simulation. But, is it known how truncation errors in the eigenvalues of the reduced density matrix translate to errors in the energy?

commented by (14.1k points)
The truncation error can give an idea of the error in the energy, but the main strategy is to run DMRG at various bond dimensions and plot the energy as a function of the bond dimension or truncation error and extrapolate the energy with a polynomial fit. The error bars from this procedure are not well defined, but strategies I have seen are:
1. Determine the error bar from the difference between the energy obtained from the largest bond dimension (which gives an upper bound of the energy) and the extrapolated value).
2. Perform extrapolations using different sets of data points and obtain an error bar from the range of extrapolated values obtained.

Another strategy is to use the variance of the energy, but that is more expensive since it involves computing <H^2>, so it is not used often.
commented by (230 points)
Thank you, Matt!

1 Answer

0 votes
answered by (70.1k points)

Matt's answer above is the correct one. As far as I know, there isn't a theory of how truncation errors of the density matrix eigenvalues translate into energy errors.

Also, it is possible to compute the energy variance of an MPS. The function inner(psi,H,H,psi) computes <H^2> efficiently and inner(psi,H,psi) computes and you can combine these to get the variance <H^2>-^2. McCulloch has proposed that extrapolating in the variance can yield better extrapolations than using the truncation error. I've often wondered whether the variance could yield a bound on the energy error (if one assumes the state is closer to the ground state than any other excited state) but I think it's not such an obvious thing.


commented by (230 points)
Thank you! This is very helpful.
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.