0 votes
asked by (460 points)

Hi,

I was doing time evolution of an IQMPS with fixed total electron number. I used the IQTensor class of the trotter gates for time evolution[with function gateTEvol()]. My local two-site Hamiltonian in the trotter decomposition preserves the total electron number, but after it reaches maximum m, the electron number starts to decrease. Is it because of the relatively larger truncation cutoff when restoring the MPS form for larger time? Is there anyway to keep the quantum number fixed when evolving with trotter gates?

Best,

Yixuan

1 Answer

0 votes
answered by (70.1k points)

Hi Yixuan,
If you are using IQMPS and IQTensors with a site set that defines a particle number (such as the Hubbard site set) then the total electron number should be kept precisely the same in an automatic way by the IQTensor system. Which site set are you using to define the IQMPS and how are you constructing it?

Best regards,
Miles

commented by (460 points)
Hi Miles,

I am using the Hubbard site set, and I constructed the IQMPS by adding another electron to the ground state. Having considered what you said, I ran a few tests over last weekend. I found that once I added a renormalization of the IQMPS after each evolution, the total quantum number would stay precisely the same. Actually I was inspired by the supplemental material of the paper PRL 115.5, 056401.(2015) about not renormalizing. Do you have any comment on this issue? Thanks.

Another interesting finding is that when I don't renormalize after each evolution, the totalQN(psi) still gives me the precise quantum number but Sum{dag(prime(psi.A(i), Site))*sites.op("Ntot", i)*psi.A(i)} will return a different non-integer number. Which one do you think is correct in this case?

Best,

Yixuan
commented by (70.1k points)
Hi Yixuan, not sure what you mean precisely by renormalize in this context. Do you mean adjusting the norm of the state to remain equal to 1.0?

About totalQN versus measuring each site, either or both could be wrong depending on some details. Ideally totalQN should always work for properly defined IQMPS. For the site by site measurement, you could potentially be getting a wrong result if you aren’t accounting for the norm of the state (if it is not equal to 1.0) or if you are not calling psi.position(i) to adjust the gauge center to site i before each measurement.
commented by (460 points)
Hi Miles,

Yes I just adjust the norm of the state to 1, or put argument {"Normalize=", true} in the gateTevol() function. I am sorry I shouldn't use the word renormalize, it's just normalize. Thank you for your help.

Best,
Yixuan
commented by (70.1k points)
Hi Yixuan, thanks that's helpful. At this point, I'm not sure exactly why you're seeing different quantum numbers without knowing more details of the code. Do you have a minimal code you could send me by email to look at? Thanks -
commented by (460 points)
Hi Miles,

I have tested with different parameters the last few days and found that the reason that I was seeing different quantum numbers was that I didn't account for the norm of the state. When I included the norm, the quantum number of any time evolving state would stay the same. Thanks again for pointing out the potential cause of my problem.

Best,
Yixuan
commented by (70.1k points)
Ok thanks for checking carefully about that - glad it is working now!
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.

Categories

...