0 votes
asked by (640 points)
reopened by

G'day!
I consider the 1D Fermi-Hubbard model with, say, 10 sites and 3 particles spin up and 1 particle spin down.
How one can set the number of particles?

1 Answer

+1 vote
answered by (70.1k points)

Good question, since it's kind of a subtle thing in ITensor. For codes using quantum-number conserving tensors, such as when doing DMRG calculations, the quantum numbers present in any wavefunction are not allowed to change. So the number is set by how you make your initial state.

So if you set your initial state to have 3 up and 1 down particles, and use QN conserving tensors, then the number will not change.

Please let me know if you still have a question of course!

Miles

commented by (640 points)
Could you please clarify about QN conserving tensors and how to use it?

After defining the hamiltonian

auto H = IQMPO(ampo);

I write the state as follows

auto psi0 = InitState(sites, "Emp");
psi0.set(1,"Up");
psi0.set(2,"Up");
psi0.set(3,"Up");
psi0.set(4,"Dn");

auto psi = IQMPS(psi0);

(3 up and 1 down particles).

I verified the ground state for small system with the exact value and noticed that the values are slightly different.

For example, -7.34478928869732605733
instead of the correct answer -7.46410162
commented by (640 points)
I noticed that the discrepancy mentioned above is because of the PBC. When I consider the same model with OBC, I obtain almost exact result for small systems.
commented by (70.1k points)
Yes, PBC calculations are much harder to converge. Did you turn on the “noise” parameter when setting your DMRG accuracy paramters (maxim, cutoff, etc)?  This can help a lot with convergence.
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

...