0 votes
asked by (250 points)

Dear all,

I am using the exthubbard.cc code in the samples folder provided by ITensor. I want to get the ground state energy in such a scenario where quantum number "Nf" is conserved, but the parity is not conserved. But I do not know how to implement this. I have tried using

auto sites = Electron(N,{"ConserveParity", false});

but I do not understand whether that works, because the energy does not change before and after using it.

Any help will be very much appreciated.


1 Answer

0 votes
answered by (70.1k points)

Dear Sreetama,
Thanks for the questions. Please let me know if I'm missing something, but the parity as defined for that code is by definition equal to the number of particles modulo two. So if the particle number is constant or conserved, then the parity will be conserved also.

So I don't believe there is actually a scenario possible where particle number will be conserved but parity won't be, essentially by definition. However, if you can provide an example such as a Hamiltonian for which this is the case then I could definitely help you set up your code to handle it.

Also, please note that for Electron sites, the default behavior is that only particle number "Nf" is conserved, while parity is not separately conserved since it would be redundant and would not make the tensors any more sparse. So maybe that is already the behavior you want? It is the behavior you will obtain if you just make the sites as:
auto sites = Electron(N);

Happy to discuss more -

Best regards,

commented by (250 points)
Dear Miles,

Thanks for your very helpful answer. I now understand that my question was not valid. I actually meant to say "local parity", not global. But of course it is not possible to locally conserve parity, by applying pre-defined sites in ITensor.

Thanks again for your help.

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.