The original motivation to build a quantum computer came from Feynman1, who imagined a machine capable of simulating generic quantum mechanical systems—a task that is believed to be intractable for classical computers. Such a machine could have far-reaching applications in the simulation of many-body quantum physics in condensed-matter, chemical and high-energy systems. Part of Feynman’s challenge was met by Lloyd2, who showed how to approximately decompose the time evolution operator of interacting quantum particles into a short sequence of elementary gates, suitable for operation on a quantum computer. However, this left open the problem of how to simulate the equilibrium and static properties of quantum systems. This requires the preparation of ground and Gibbs states on a quantum computer. For classical systems, this problem is solved by the ubiquitous Metropolis algorithm3, a method that has basically acquired a monopoly on the simulation of interacting particles. Here we demonstrate how to implement a quantum version of the Metropolis algorithm. This algorithm permits sampling directly from the eigenstates of the Hamiltonian, and thus evades the sign problem present in classical simulations. A small-scale implementation of this algorithm should be achievable with today’s technology.
We would like to thank S. Bravyi, C. Dellago, J. Kempe and H. Verschelde for discussions. Part of this work was done during a workshop at the Erwin Schrödinger Institute for Mathematical Physics. K.T. was supported by the FWF programme CoQuS. T.J.O. was supported, in part, by EPSRC. K.G.V. is supported by DFG FG 635. D.P. is partly funded by NSERC, MITACS and FQRNT. F.V. is supported by the FWF grants FoQuS and ViCoM, by the European grant QUEVADIS and by the ERC grant QUERG.
The file contains Supplementary Text, additional references and Supplementary Figures 1-5 with legends.