[New] Finite temperature utilities + docs example#262
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
🚀 New features to boost your workflow:
|
leburgel
left a comment
There was a problem hiding this comment.
Just merging this as-is without much cleanup is definitely fine by me. It's a strict addition and the example is extremely nice!
However, I'm not super enthusiastic about merging in the actual implementation into the main package without tests or explanation. The general utilities like the MPO trace and the infinite temperature density matrix are great, but it would be nice if we had a test (quickly adapted from the example?). For the implementation of the derivatives and the transfer functions, a test would be nice, but also some clarification of the implementation itself would be good I think. It's implicitly assumed that given an MPO tensor
Co-authored-by: Lander Burgelman <39218680+leburgel@users.noreply.github.com>
|
If tests turn green, this should be good to go. |
|
I am also working on MPO-based finite-T calculations, so I took a look at the example script. The comments in it are quite insightful---many of the observations align with challenges we have encountered as well. Some tricks may be helpful, listed below:
|
|
Hi Qiaoyi-Li, thanks for your comments and suggestions! It is really nice to hear some of the tips and tricks from someone that is actually working with this, since often the technical tricks get lost in the relevant papers.
|
|
Hi Lukas, I ran some quick tests using my own package (since I am more familiar with it than MPSKit) and uploaded the benchmark script into https://github.com/Qiaoyi-Li/FiniteMPS.jl/tree/main/benchmark/XY_chain.
|
|
Thanks for checking this: indeed there was a mistake. I was using analytic results for periodic boundary conditions, leading to small discrepancies. Also, I'm not saying these things are not working, I just mean that one should be a little careful about it. The frobenius norm is still a norm, so as long as the truncations aren't too severe this should still be fine. I just want to be careful advertising things in the examples so users are not entering with too high expectations: we are still solving an exponential problem, and we know that it shouldn't be possible to deal with arbitrary finite temperatures since there is no area law (I think)? Anyways, thanks a lot for your tips and comments, this has been very helpful so I appreciate this greatly! |
Here, I added some additional support for working with DMRG and TDVP for density matrices. I added a rudimentary example to show off the abilities, which could do with a lot of cleanup but I am running out of reasonable time to spend on this.
I'd be okay with merging this as is and finishing it up later, unless someone wants to go for it now.