W. Krauth Statistical Mechanics: Algorithms and Computations (Oxford: Oxford University Press) (2006)