  Population annealing is an efficient sequential Monte Carlo algorithm for
simulating equilibrium states of systems with rough free energy landscapes. The
theory of population annealing is presented, and systematic and statistical
errors are discussed. The behavior of the algorithm is studied in the context
of large-scale simulations of the three-dimensional Ising spin glass and the
performance of the algorithm is compared to parallel tempering. It is found
that the two algorithms are similar in efficiency though with different
strengths and weaknesses.
