Statistical mechanics algorithms and computations - Krauth, Werner (Oxford master series in physics, 2006)