Main /
DisorderedSystemsMany types of model can contain excited states that are metastable fixed points of DMRG. That is, states that have a configuration of particles that differs from the groundstate by long-range effects. This often happens in disordered systems. But the simplest example is probably a double well in a canonical basis (ie, conserving particle number). If the barrier is high enough, then DMRG will have a lot of trouble tunnelling out of an excited state that has an unequal occupation in the two wells. In the past, this has caused big problems for DMRG on these systems. The root cause of the problem is too many constraints to the problem. In the double-well example, adding (or removing) a particle to one well is a local improvement of to the wavefunction that is prohibited because particle number conservation requires the simultaneous removal (or addition) of a particle in the other well, which is a non-local change in the wavefunction. One way around this problem is to throw away the particle number symmetry and use a technique such as quantum simulated annealing to get to the groundstate. This amounts to adding a `transverse field', {%H \rightarrow H_0 + \beta\sum_i(b_i^\dagger + b_i)%} and taking the limit {$\beta \rightarrow 0$}, for example by reducing {$\beta$} by some factor each sweep. This isn't desirable though, because throwing away the particle number conservation has a quite drastic effect on the performance of DMRG. An alternative is to take a metastable state and attempt to rearrange the configuration of particles directly. It is easiest to do this by adding and subtracting single particles one at a time. An approach that seems to work very well for hard-core bosons is to add a particle to the site that gives the lowest total energy, do some sweeps of the DMRG with this {$N+1$} particle state, and then remove a particle (hopefully from a different site) to give a lower N-particle state. Formally, this corresponds to finding the site {$i$} that minimizes {%\frac{\langle \psi \vert b_i H b_i^\dagger \vert \psi \rangle}{\langle \psi \vert b_i b_i^\dagger \vert \psi \rangle} %} and then choosing the state {$b^\dagger_i \vert \psi \rangle$} as the {$N+1$} particle state. This procedure is implemented in the python script An example calculation, starting from an initial wavefunction reconfigure.py psi BH psi-temp mp-dmrg -w psi-temp -m 50 reconfigure.py psi-temp B psi mp-dmrg -w psi -m 50 reconfigure.py psi B psi-temp mp-dmrg -w psi-temp -m 50 reconfigure.py psi-temp BH psi mp-dmrg -w psi -m 50 This script takes the system Hamiltonian from the More sophisticated variants of this approach are possible. Adding/removing particles localized at a single site seems to work well enough for hard-core bosons. But a possible modification would be to allow for particles that are delocalized, eg by finding a set of coefficients {$a_i$} to give a state {$\sum_i a_i b^\dagger_i \vert \psi \rangle$}. The optimal coefficients however require finding {$L^2$} expectation values, {%generalizedoptimalsite,\frac{\langle \psi \vert b_i H b_j^\dagger \vert \psi \rangle}{\langle \psi \vert b_i b_j^\dagger \vert \psi \rangle} %} and while {$\langle \psi \vert b_i b_j^\dagger \vert \psi \rangle$} is not too difficult to obtain with Example for a double-well potentialHere is a real example on a deep double-well potential for the Bose-Hubbard model at fairly strong coupling. Choosing some typical parameters, 14 particles in a 40 site lattice, maximum of 2 bosons per site, {$U=10$}, and trap strength {$K=0.001$}, bosehubbard-spinless-u1 2 10 2 0.001 40 bhtest mp-random -l bhtest -q 14 -o psi mp-dmrg -w psi -H bhtest:H -m 50 and repeating the DMRG until convergence (10 or so sweeps), we obtain a typically unbalanced state, the exact configuration depends on the exact details of the initial random state, but an example is Now we try a reconfiguration. This wasn't actually so straightforward; this is an example where a delocalized reconfiguration would probably work much better. In this example, the DMRG on the reconfigured state doesn't necessarily converge to a state that retains the same particle configuration. But by running the particle reconfiguration immediately after the hole reconfiguration, a balanced state was achieved. reconfigure.py psi B psi-temp reconfigure.py psi-temp BH psi mp-dmrg -w psi -m 50 # repeat until converged |