Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am seeking an algorithm to generate a random wavefunction = $\sum {c_i |\varphi _i\rangle }$ from a thermal ensemble, whose density matrix $\rho \sim e^{-\beta H}$, without the need to diagonalize the Hamiltonian. One possible method is to generate a random number for each basis and compare it with $e^{-\beta \langle\varphi _i|H|\varphi _i \rangle }$ and if it is lower we assign the corresponding $c_i$ to complex number with norm = 1 and totally random phase and otherwise make it just zero. Another possible algorithm to assign all $c_i$ to random complex numbers of norm one and then evaluate $e^{- \frac{\beta}{2} H}|\psi \rangle$. Are there other algorithms?

Edit: I now tried the second method with evaluating $e^{- \frac{\beta}{2} H}|\psi \rangle$ by propagating the wavefunction in imaginary time and it works fine! So I recommend this one.

share|cite|improve this question
Why are you not using one of the algorithms you listed? Is there something about them that makes them unsuitable? If you can edit the question to explain that, it will make it much better. (Also, this might actually be a better fit on Computational Science... it can stay here for now, but if you don't get good answers here after a little while then try asking it there.) – David Z Dec 11 '11 at 2:39

It's not totally clear to me what you want, but a good prescription for generating an ensemble of thermal states is Steve White's "Minimally Entangled Typical Thermal States" algorithm, where one starts with a high-temperature random state then evolves it in imaginary time, much like the second suggestion you listed. This random ensemble of thermal states actually gives pretty decent quantitative results.

A very gentle introduction:

More detail:

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.