Hi Miles,

Thank you for your wonderful work on the ITensor package. I had a few questions about the truncation error in connection with extrapolating the energy E with \epsilon as described in your paper [arXiv: 1105.1374]:

Calling the function dmrg returns the ground-state energy and the wavefunction, but is there an easy way to return the truncation error as well? I see that \epsilon is printed out (but not returned) as a part of the function call and I was wondering if there is a more direct way of obtaining it.

Suppose we set sweeps.cutoff() = 1E-12. Then, would the correct extrapolation technique be to gradually increase m in sweeps.maxm() and for each case, record the energies together with the errors (which should be less than 1E-12)? However, if m is initially not large enough, how does the algorithm ensure that the truncation error is always < 10^{-12}?

Finally, in your paper, you mention that normally a linear extrapolation of E versus \epsilon is best. Do the excited state energies also scale the same way, i.e. linearly?

Thanks a lot for your time!

Best,

R.