0 votes
asked by (250 points)

Dear Sir / Ma'am,

I was calculating the ground state enrgy for extended hubbard model using the code provided in sample folder. I used the range for U1 to be -8 to 8, and the range for V1 (nearest neighbour spin-spin interaction) to be in the range -6 to 6. in the above range, for some region of negative V1, the energy was not converging. It will be very helpful if someone can tell me what is going wrong here.

Some other points about the parameters I used:

  1. I used a lattice site of 10, with half-filling

  2. I used periodic boundary condition

  3. The sweeps were following:

nsweeps = 60
sweeps
{
maxdim mindim cutoff niter noise
50 10 1E-12 2 1E-7
100 20 1E-12 2 1E-8
200 20 1E-12 2 1E-10
400 20 1E-12 2 0
800 20 1E-12 2 1E-11
800 20 1E-12 2 0
}

Best,
Sreetama

commented by (70.1k points)
Hi Sreetama,
Thanks for the question. I think before we can provide a good answer to you, we'll need to ask some questions of you.

1. what is the reason for choosing periodic boundary conditions? You may know that DMRG does not work nearly as well for periodic compared to open boundary conditions. It can make a very large difference in the ability of DMRG to give accurate results. Would you be able to use open boundary conditions in your study or is there a special reason you need periodic?

2. when you say that the results were not converging, what did you see in the output? Was the energy still changing by a large amount in the last few sweeps? Or were you not reaching the truncation error you desired? Or what was the criterion for convergence you were using? If you could show a printout of the last few sweeps that would be useful to see.

Best regards,
Miles
commented by (250 points)
Hi Miles,

thanks for your reply. I will try to answer your questions below.

1. Yes I know that DMRG does not work well with periodic boundary conditions. I thought for small lattice size, it should not be a problem. But after the ground state energy did not converge for some values of V, I removed the periodic boundary condition. But the non-convergence still persisted. The PBC is not necessary for my work, so I can work without it.

2. The energy was changing in the 6th or 7th decimal place. When I calculated the entanglement, it was showing an absurd change with respect to nearby regions.


3. The energy is not converging even in some regions where U and V both are positive.
Sincerely,
Sreetama
commented by (70.1k points)
Hi Sreetama,
Thanks for those details. It's hard to know for sure what's going wrong. Have you checked *very carefully* that any extra terms you added to your Hamiltonian are Hermitian? We don't check for that automatically and sometimes adding non-Hermitian terms can happen by accident with fermions, which can lead to strange results in DMRG.

Other possibilities include:

1. you could just need to use a different initial state for DMRG. Please try experimenting with that.

2. if the main error you are getting is that some properties, such as entanglement, are coming out wrong, please check carefully that the measurement code itself that is measuring the entanglement is correct and doesn't have a bug in it


Best,
Miles

1 Answer

0 votes
answered by (960 points)

Hi Streetama,

When I was computing E.H.M. ground states for V > U > 0, which nearly approaches a product state as V >>> U, the entanglement goes down.

This sounds to us as a good thing, but in fact with DMRG it is a bad thing because it takes an extremely large number of fast sweeps in order to converge. In essence, the small number of nonzero entries in the SVD leads to poor communication of information across the lattice with each sweep.

For instance, I believe I needed to run hundreds of sweeps to get the energy to settle down, even for small system sizes, and I observed the entanglement entropy changed very slowly with each sweep.

In order to test this, I'd recommend changing your sweeps parameters so that you stay at a single maxdim for several hundred sweeps and wait until the energy settles down before increasing maxdim.

On the other hand, if your boundary conditions are incorrect (for instance, anti-periodic instead of periodic) you can also see wild changes in sweep to sweep energy; I experienced this error one time due to a mistake in my definition of the Hamiltonian.

If you figure it out please post back here as I'm interested to know what you find, as I am continuing to use these methods.

Good luck!

commented by (250 points)
Dear Jon,

So I was trying to get the ground state for U=0.4 and V=-6, and used about 600 sweeps with the final ones having maxdim 2400. The energy converged only upto 5th decimal place, but of course for higher sweeps it will change in the 5th decimal place as well. So, I can say that the energy was not at all converged. As a result, when I am calculating two-site reduced density matrix, it is providing a wrong state (because the probabilities are becoming negative).

I think the region you mentioned i.e. V>U>0, will have the same convergence problem.

Kindly let me know if you have any other insight about this. Were you able to get an well converged energy for V>U>0? Was the state a valid one?

Regards,
Sreetama
commented by (960 points)
With 32 sites and open boundaries, for V >> U, it required about 160 sweeps to get 6 decimal places on the energy.

I didn't do any explicit checks on the validity of the state because the energy was reasonable and settled to a definite value (as I said, 6 decimal place accuracy), and the bipartite entropy was reasonable and real-valued. It is possible I missed something, however.

There may be some physical effects at play. With open boundaries, in the CDW phase (V >> U > 0) there are two equivalent ground states that crossover at a domain wall. My calculations took a long time to move the domain wall to the middle of the lattice. You can fix this by pinning the boundaries to enforce one of the two degenerate ground states. There is also the possibility of phase separation/coexistence.

The essence of the difficulty of these effects for DMRG is that the ground state manifold hosts many states with similar energy but very different configuration -- and the different states are hard for the DMRG local-update algorithm to access, at least in the CDW case, because of the low entanglement (low entanglement = few off-diagonal terms in density matrix). Using boundary pinning to artificially select one of the ground states, or a well-chosen initial MPS helps.

I don't have much experience with negative V, although I did do a very limited number of calculations early in my project that came up with strange results, possibly for the reasons above. I didn't go deeper into understanding the reasons at that time, because my project was focused on positive U,V, but also because I had no understanding of what was happening.
commented by (960 points)
Another point I should mention:

If the reason for the slow convergence is low entanglement, you should find that increasing the bond dimension does not improve the convergence.

If this is the case, then try increasing the "noise" parameter to add random entries to the density matrix.
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

...