METTS for low temperature

Hi all,

I was applying the METTS algorithm for finite temperature properties. My model is Kitaev Honeycomb model and it has gapless spectrum. I am interested in low temperature physics and MEETS should work in this low temp regime.
Since the spectrum is gapless, it seems it will require very small \Delta \beta, probably smaller than the gap. Then it looks it will take a lot of computational cost to get a single METTS thermal state for large \beta. Is there any suggestion how should I go ahead for it especially for low temperature?
I have benchmarked it for small system size and its working but to low temperature it is differing from the ED results and I was using \Delta \beta=1.

Thanks

1 Like

Hi Kaushikaman,
When you are evolving a product state \ket{i} to get a METTS e^{-\beta H/2} \ket{i} (here I am ignoring the normalization), you can reach the final imaginary time of \beta/2 in any way that you want, as long as it is accurate. So you can take smaller steps at the beginning of the evolution, then larger steps toward the middle and end of the evolution, as long as the total of all of the time steps is \beta/2 for the \beta that you want.

In fact, this technique of taking different size time steps is a good one for speeding up METTS calculations while preserving accuracy, because you need high accuracy at the beginning of each evolution, because the state initially changes a lot. But then for later steps, you can take larger steps without issue because the state is now changing very little with growing imaginary time. This can help to reach low temperatures, where the issue is that you have to evolve for a long time (large \beta).

In terms of reaching a large \beta which is the inverse of a small gap, you will just have make sure that the total imaginary time you evolve adds up to the \beta you want.

Miles

Thank you for the response. But if we have larger trotter steps in middle, will it not create large trotter errors? I know for sure taking larger trotter steps in middle will not work while doing it using purification method. Can you please explain this to me? Or if some reference explains this in details the maths of errors.

Aman

When I mention taking larger time steps, I was thinking about how one can use the TDVP method instead of Trotter gates. You’re right that Trotter gates would incur large erorrs if the time step was too large. But TDVP can sometimes (depending on the system and desired accuracy) handle much larger time steps while still giving good accuracy.

For more details about how TDVP can be used in combination with the METTS algorithm, including many details about switching from TEBD, to 2-site TDVP, to 1-site TDVP, choices of various time steps, and many other details, please refer to this paper (especially starting on page 9, near equation (28) and onward).

1 Like

Thanks, this is working for me now. But I have a question from this PRX paper on page 11 discussing the collapse in the fermionic system. To allow the fluctuation in magnetization one has to project onto a local Sx basis, {|0>,|+>,|->,|updown>}. I do not quite understand which operators do this projection. For example I know if you project to Sz basis, {|0>,|up>,|down>,|updown>}. We have four operators which sum to unity also and project to these four Sz basis state ---- (1-nup)(1-ndown), nup(1-ndown), ndown*(1-nup) and nup*ndown. Can I know how you did this to project to Sx basis in the fermionic system? Please let me If the question is unclear.
Thanks
Aman