Page 1 of 1

Disentangler

Posted: 17 Feb 2022, 09:20
by amankumar
Dear Developers,

I have query related to Disentangler implementation in TeNPy. I can see, one can use the existing disentangler under the subroutine PurificationTEBD, when beta(1/Temp.) evolving the state, looks typically made for one-d model. But If one wants to beta evolve the state using PurificationApplyMPO, can one use existing disentangler to reduce the entanglement of finte beta state. Because for 2 -d models wrapped on cylinder, PurificationApplyMPO is an more accurate method. I wanted to basically use these disentangler for my 2-d model on cylinder with beta evolving the state using PurificationApplyMPO on infinite temperature state with ancilla sites.

Thank you!

Re: Disentangler

Posted: 22 Mar 2022, 00:52
by Johannes
The disentangling of purified states indeed currently only works for 1D chains where you can do TEBD.
In practice, we found in arXiv:1711.01288 that only the "backwards" disentangler leads to a speed-up - while we were able to reduce the entanglement further with the other disentanglers, they did not necessarily reduce the bond dimension, so the code didn't actually run faster.
The "backwards" disentangler just applies U^\dagger on the ancilla legs, which is only sensible if U is really a unitary and won't work for imaginary time evolution anyways, so it's not applicable to your question (?). Nevertheless, it would be nice to have it for the PurificationApplyMPO as well... (I don't have time to implement it anytime soon...)