Recent Changes - Search:

HomePage

PmWiki

pmwiki.org

DisorderedSystems

Many 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 reconfigure.py, in the trunk/misc directory. This script requires 3 parameters; the input wavefunction, the local operator that adds (or removes) a particle, and the output wavefunction. Typical usage is to add a particle, do a couple of sweeps of DMRG, then remove a particle. For hard-core bosons in a bichromatic potential, for the examples examined so far, this procedure always gets to the true groundstate within 3 or 4 iteration of this procedure, typically within 2 iterations.

An example calculation, starting from an initial wavefunction psi, and performing one iteration of add then remove a particle, followed by another iteration of removing then adding a particle, a typical sequence of commands is

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 Hamiltonian attribute of the input wavefunction.

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 mp-localcorrelation, finding {$\langle \psi \vert b_i H b^\dagger_j \vert \psi \rangle$} is a bit harder. An alternative would be a gradient minimization for the {$a_i$}, which could be implemented fairly easily, if a problem was found where this was needed.

Example for a double-well potential

Here 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
Edit - History - Print - Recent Changes - Search
Page last modified on August 29, 2013, at 02:06 AM