# Estimating Partition functions

I have a finite state ensemble with an energy functional (you can think of it as an ferromagnetic Ising model if you like), and I need very careful estimates of the partition function. What methods are available to me to get reasonable estimates (in reasonable temperature regimes) of $Z(\beta)$?

-
Why do you need the numerical value of the partition function? It's just a normalization factor -- there's a number of ways at getting at any sort of observable without explicit reference to the value of Z. –  wsc Jan 18 '11 at 23:56

Good question! The reponse really depends on what you 'need': if you're sampling a small system and you're lucky enough to actually be able to count (or estimate...) the number of states $\mathcal{N}(E)$ for a given energy $E$, then you can explicitly work out $Z$. Such algorithms exist for the Ising model, but in the generic case you're not this lucky.

There is the possibility of 'naively sampling' the integral/sum you're doing: you can use any Monte Carlo algorithm (especially for Ising-like systems the literature is very rich) to generate a sequence of states and you use this representative sample to calculate $Z$ for any range of temperatures. (It's important though that you do not change $\beta$ during an MC run, since this tends to break detailed balance.)

Then, like Greg P said, there are rather indirect methods, but they're sometimes rather subtle. You can go from histograms to path integrals (Wick rotated ones, that is!), but these methods all take time to understand. I'll just post my favorite reference on everything related to statistical physics/Monte Carlo, which is 'Statistical Mechanics: Algorithms and Computations' [Oxford Univ. Press] by Werner Krauth. Good luck!

-