How to fix the number of fermions in DMRG

I want to run DMRG code for quarter filling. I don’t know how to fix the number of fermion. If anyone can give some input on this , it will be helpful to me.
Thanks

A good resource for how to fix the number of fermions is this tutorial on quantum number (QN) conserving DMRG:
https://itensor.github.io/ITensors.jl/stable/tutorials/QN_DMRG.html

Mainly you will need to do these two things:

  1. call siteinds like this siteinds("Fermion",N; conserve_qns=true)
  2. initialize your MPS by passing a “state” array which is an array of strings giving a representative state of each site. The number of fermions you put into this state array will always be kept the same throughout the DMRG calculation. The tutorial linked above gives more details and examples about this. The allowed “states” for a “Fermion” site type are “0” or “1” (you can also name them “Emp” and “Occ”).

Thanks .

1 Like