We develop an efficient algorithmic approach for approximate counting and
sampling in the low-temperature regime of a broad class of statistical physics
models on finite subsets of the lattice Zd and on the torus
(Z/nZ)d. Our approach is based on combining contour
representations from Pirogov-Sinai theory with Barvinok's approach to
approximate counting using truncated Taylor series. Some consequences of our
main results include an FPTAS for approximating the partition function of the
hard-core model at sufficiently high fugacity on subsets of Zd with
appropriate boundary conditions and an efficient sampling algorithm for the
ferromagnetic Potts model on the discrete torus (Z/nZ)d at
sufficiently low temperature