+2 votes
asked by (170 points) 1 flag


I would like to simulate a system consisting of a mixture of fermions and hardcore bosons. Looking at previous questions it seems like this has involved defining your own SiteSet explicitly to treat the two types of particles. However, since it has been a while since this topic has been discussed, I was wondering if there was just a way to merge two different types of SiteSets into one larger SiteSet? For example, could I define the siteset for my system as a combination of the Hubbard SiteSet (for the fermions) and Spinless for the bosons?

Then as a followup is there a way to do this for a mixture of three or more types of particles?


1 Answer

0 votes
answered by (70.1k points)

Hi Josh,
So the answer is that, for the time being, there is not an automatic way to do this unless the two site sets have identical quantum number types (so basically, no useful cases). The reason is that although the site set class design is quite flexible, the QN system is currently less flexible (for efficiency reasons). The QN system currently requires that all QNs throughout your code are globally the same, in terms of having the same number of active "slots" with identical modulus numbers in the same ordering. If you just took two of the site sets provided with ITensor and merged them, they'd have different quantum number definitions.

I've been thinking for a while that I should upgrade the QN system to include string descriptions of the different numbers inside the QN. Doing so ought to make it possible to do what you are asking.

For the meantime though, please just define a new type of site set that returns different site indices depending on the site number, but with the same kind of QN on each site, as in the example you linked.

Best regards,

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.