Bosonic Haldane Model

How do I use this algorithm? What does that parameter do?
Post Reply
nervxxx
Posts: 5
Joined: 20 Aug 2020, 04:16

Bosonic Haldane Model

Post by nervxxx »

I am going through some example models, and was looking at the Bosonic Haldane Model in particular:

https://github.com/tenpy/tenpy/blob/mas ... py#L13-L80

It is stated that the Hamiltonian reads
.. math ::
H = \sum_{ij} t_{ij} b_i^\dagger b_j + \sum_i \mu (n_{A, i} - n_{B, i})
+ V \sum_{\langle ij \rangle, i<j} n_{A, i} n_{B, j}
However, looking at the implementation of on-site terms I see

Code: Select all

        for u in range(len(self.lat.unit_cell)):
            self.add_onsite(mu, 0, 'N', category='mu N')
            self.add_onsite(-mu, 1, 'N', category='mu N')
Is this code double-summing? I mean, the for-loop runs over u=0,1 of the honeycomb, and seems to repeat the same action in each pass. So it feels like it is implementing \sum_i 2\mu (n_{A,i} - n_{B,i}). Or, am I mistaken and not understanding its action correctly at all?
User avatar
Johannes
Site Admin
Posts: 183
Joined: 21 Jul 2018, 12:52
Location: UC Berkeley

Re: Bosonic Haldane Model

Post by Johannes »

You're right, that's a double counting. Good catch, thanks for pointing it out!
The Fermionic Hofstadter model has the same problem, of course.
Additionally, one of the example models had the issue.

I've fixed it in a8448f36c23fda6f2ea8217f4f8e938acb7f67df
@bart Did you see this? Any other consequences?
Post Reply