Yeah. That sounds like a really good deal. But I got a better one. How about... I give you the finger... and you give me my phone call?

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 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 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 |

Page last modified on August 29, 2013, at 02:06 AM