How do I pick out the bock related to a certain quantum number from MPS?

+1 vote
asked Nov 3, 2016 by hermit0308 (760 points)

Hi Miles,

If there is an arbitrary MPS, I'm interested in the block related to a certain quantum number, is there a way to pick out that block? Thanks.


commented Nov 7, 2016 by hermit0308 (760 points)
edited Nov 7, 2016 by hermit0308
Maybe it's difficult to do. Actually I'm doing finite temperature dmrg with purification. I already know how to conserve the total quantum number on physical sites and auxiliary sites separately if the physical sites are on odd sites and auxiliary sites are on even sites, by constructing the infinite temperature state by hand or applying @@\sum A^\dagger_{2i-1}*A_{2i}@@ to @@|0\rangle_{physical} |N_{max}\rangle_{auxiliary}@@ repeatedly to reach the required total quantum number on physical sites. It's easy to get the finite temperature purification. But It seems it's difficult to get the thermal entropy which is the entanglement entropy between physical (odd) sites and auxiliary (even) sites. I'm thinking if the physical sites are on the left and auxiliary sites are on the right, then it's easy to calculate the entanglement. But then constructing the infinite temperature state is difficult. I tried to apply @@\sum A^\dagger_i*A_{i+N}@@ to @@|0\rangle_{physical(left)} |N_{max}\rangle_{auxiliary(right)}@@ repeatedly, it's very slow. Maybe constructing it by finding the ground state of entangler would work. How can I construct the entangler Hamiltonian which involves operators like @@(|n_i^\prime n_j^\prime \rangle \langle n_i n_j |)_{physical} (|n_i^\prime n_j^\prime \rangle \langle n_i n_j |)_{auxiliary}@@? Anyone could give some suggestions for this? I'll be very appreciative of your help.
commented Nov 8, 2016 by miles (20,240 points)
One thought about getting the thermal entropy: if you are using purification (ancilla method) then are you able to compute the partition function by keeping track of the normalizations computing during the time evolution? If so then by using this to compute the free energy and also obtainin the energy perhaps this is a viable approach to getting the thermal entropy. Granted I could see it having various difficulties.
commented Nov 8, 2016 by miles (20,240 points)
Another thought is, rather than starting with a QN conserving infinite T state, how about starting in the grand canonical ensemble until you reach a lower T, then coming up with a way to project this lower T state into a particular QN sector. It's tricky to know if this will work better but for large systems the QN conserving infinite T state could both be hard to construct and quite highly entangled.

1 Answer

0 votes
answered Nov 8, 2016 by miles (20,240 points)
selected May 10, 2017 by hermit0308
Best answer

Hi Jin,
This would be a pretty easy feature to add, but it doesn't exist at the moment. First of all, I'd need to know a bit more specifically what you mean by "block with a certain quantum number" because usually a block has a set of quantum numbers, one for each IQIndex. All IQTensor blocks have the same total quantum number (what I call the "div", "divergence", or "flux" of the IQTensor). But if you just mean one particular block of an IQIndex, then yes this could be added.

(As a technical note, what would be needed to add this would be another method similar to getElt in itdata/qdense.h but which returns the pointer to the beginning of a certain block, rather than a specific element within a block.)

On the other hand, I don't see how it would help do the entanglement calculation you are describing, because that is a fundamentally difficult calculation to do with regular MPS techniques. Probably the best approach for that bipartition would be to use a sampling method to obtain the second Renyi entropy.


commented Nov 9, 2016 by hermit0308 (760 points)
edited Nov 9, 2016 by hermit0308
Hi Miles,

Thank you for your answer.

Sorry I didn't express it clearly. When I first asked the question, I wasn't thinking about entanglement calculation. I just didn't know how to construct the physical QN conserving infinite T state, so I planned to do it with MPS, and then project the lower T state into a particular QN sector, as you said in your second comment. I was thinking if there is a function like "toIQMPS(MPS, QN)"? What I was going to do is to find all combinations @@\sum qn_i = QN@@ (@@qn_i@@ is the site index qn), and somehow use the ITensors in MPS to construct IQTensors and form IQMPS with QN. Clearly the link index qn's are fixed for a particular set of site index qn's, we could copy ITensor elements for this set of site index qn's to the corresponding IQTensors successfully. It seems a little complicated. I don't know if there's other efficient way.

After I constructed the physical QN conserving infinite T state by @@(\sum A_{2i-1}^\dagger A_{2i})^{QN} |0,N_{max},0,N_{max},...,0,N_{max}\rangle@@ and do the calculation, I found it's not easy to get the entanglement entropy between odd sites and even sites. Constructing infinite T state with all physical sites on the left and all auxiliary sites on the right is difficult because of high entanglement. Moving all physical sites to the left after getting the low T state also is very slow. Thank you for all your suggestions. I'll have a try.

commented Nov 10, 2016 by miles (20,240 points)
Yes, something similar to your toIQMPS idea would be possible and that is indeed what I meant by a code that projects an MPS onto a particular QN sector. It would be pretty complicated to implement, but maybe not as bad as you think. You'd have to get pretty familiar with the IQTensor system to implement it. There should be more documentation on IQTensors - hopefully there will be in the next few months but probably not until late January at the earliest. Until then let me know if you have a specific question about how a certain part of it works.
commented Nov 18, 2016 by hermit0308 (760 points)
Hi Miles,

Many thanks for your help. If the second order Renyi entropy is measured by a sampling method, are there problems with ergodicity, like you said in the paper "Minimally entangled typical thermal state algorithms"? Will it be much faster if we use a maximally mixed basis of bosonic Fork basis to sample in odd step? Thanks.

commented Nov 18, 2016 by miles (20,240 points)
Hi Jin,
I don't think this should be an issue. The concern about ergodicity in METTS comes from using the sampled state to create the next METTS. If you are just sampling a given wavefunction to extract some property of it then you can just repeatedly collapse it in a fixed basis. You can see that there is no autocorrelation/ergodicity issue because each sample is independent of the previous one. This is why the METTS collapse was later dubbed "perfect sampling" in a paper by Ferris and Vidal.

By the way, the "perfect" part only means memory free. It doesn't means it's "perfect" for every purpose i.e. it may not give you optimal importance sampling for estimating the Renyi entropy. But it's still a nice way to sample an MPS so you should try it.
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.