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 vote

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

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

...