+2 votes
asked by (170 points)
edited by

Consider a problem, where we have N spin-1 in 1D with only nearest neighbor ising coupling.

Consider N=100, and the following Hamiltonian,

$$H = \sum{i, i \ne 50} - S^ziS^z{i+1} + 10 S^z{50} S^z_{51} $$

Except the bond connecting 50th and 51st spins, all others are ferromagnetic in nature. Also note the difference in the strength of the coupling.

Clearly the ground state of this system is a state with a domain wall between the 50th and 51st sites - this has the energy 98*(-1) - 10 = -108 (in units of J=1).

However, the answer which i find depends on the initial choice. For example, when i choose the initial state to be a completely ferromagnetic state, the converged state it reaches seems to be a state with only a single spin flipped at 51st site, leading to a ground state energy of -97 - 10 + 1 = -106. Whereas in case i give a the correct state as the initial state(or close) it finds the correct ground state. For a smaller system size, (changing N), it seems more difficult to find the correct ground state.

So the question: Is the above observation an artifact of DMRG itself. Or i am missing some crucial details: like we may be able to reach the correct ground state by changing the no. of sweeps, no. of states to be kept etc. Is there an intuitive way to decide these? Next, is the question about the choice of initial state. Given, if one doesn't have much clue from the Hamiltonian, how does one know if the ground state found is indeed the correct one. And finally the question about the dependence on system size. How does these features depend on system size.

Sorry, the question seems long. Any clarification/suggestion will be most helpful. Many thanks.

1 Answer

+2 votes
answered by (70.1k points)
selected by
Best answer

Hi Adhip,
The behavior you are seeing is likely just an artifact of the Hamiltonian you are studying. Note that all of the terms in the Hamiltonian commute with each other and that every Sz basis state is an eigenstate of this Hamiltonian. This makes it a very atypical Hamiltonian (e.g. all of its eigenstates are unentangled product states).

As you may know, DMRG works similar to methods like Lanczos (except that it doesn't work in the full Hilbert space but in a special subspace defined by the matrix product state it is optimizing). Thus it finds the ground state by acting on the current wavefunction with H, hoping to generate other vectors in the Hilbert space that would be useful for "building" the ground state.

But in your case, by choosing all spins up, say, you are feeding DMRG an exact excited eigenstate. Acting H on this state doesn't generate any new states (new directions in Hilbert space) for DMRG to use to improve the wavefunction. If you fed it the state with all spins pointing in the x-direction, for example, it should be able to find the ground state.

Similarly, if you were to add a small transverse magnetic field (in the x-direction) it would help DMRG to converge from most any initial state.


commented by (170 points)
Hi Miles,
Many thanks. That completely clears up the doubt. :)
commented by (70.1k points)
Sure thing. I just did an similar experiment with the sample/dmrg.cc code and if you add a tiny transverse field everything comes out ok. Without this (and even with the noise turned on during some of the sweeps) it gets stuck in an excited state very badly. But I think this is just fundamentally how an iterative method like DMRG will behave without special tricks.
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.