Larger linkdim in initial state leads to unexpected behavior in excited state DMRG

I have a question but I think I kind of understands why, mostly want to confirm with you guys who know the inner working of the code

I was testing the following, say I defined some sites:

s = siteinds("Fermion", N, conserve_qns=true)

And two different initial states:

state = [ isodd(i) ? "Occ" : "Emp" for i in 1:N ]

m = randomMPS(s, state)
M = randomMPS(s, state, linkdims = 20)

Here 20 is just some arbitrary number but the point is M has larger bond dim than m

The Hamiltonian is only defined on a fraction of the sites, say only N/2 sites, no terms are acting on the other half of the sites.

When I ran the excited state search DMRG, both m and M yield the same and correct ground state energy.

However DMRG with m gave the correct ladder of energies (the correct energy spectrum itself is not degenerate), whereas the M performed much worse and kept giving either the same energy (degenerate) or simply incorrect answer (local minima?)

My guess is that the undefined sites were actually involved in the calculation, as there’s not an explicit mechanism to break the degeneracy (e.g. some bias potential), so the code finds degenerate energies by ‘shifting around’ the particles between the undefined sites, and the state with larger bond dimension can do that much more easily.

This is of course a very hand wavy explanation, so I’m interested in knowing what you guys think.

Yes, I think the behavior you saw is reasonable. DMRG tries to build up a “basis” of the rest of the MPS away from the tensors currently being optimized and ideally this basis is sufficient to capture the part of the Hilbert space that is needed to represent the ground state or excited states correctly.

Sometimes this process can fail such as when the state is ‘deficient’ in some way (e.g. missing certain symmetry sectors) and then techniques like 2-site DMRG (which is our defailt) and the ‘noise term’ which you can add with the noise parameter, can help immensely.

The case of a Hamiltonian which is trivial (defined as just identity operators in your case) on a subset of sites is somewhat ill-defined in terms of what the basis ought to be on those sites. So then probably any reasonably expressive basis is good enough, whereas if the basis is too poor it might cause subtle numerical issues.

If possible, I would say that if there are sites where the Hamiltonian doesn’t act, it might be better to just leave them out altogether, though maybe you had a good reason why you wanted them to be there.