Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Given an Ising model, we have the energy formula:

$E= - \sum_i h_i S_i - \sum_{i \neq j} J_{ij} S_i S_j$

and we have the probability of a given state, given the energy of that state and the temperature:

$P(\{S\}) \sim e^{-E(\{S\})/kT}$

(where the normalization constant is the partition function).

The question I am interested in is if there is a computationally efficient way to determine (or at least estimate) the probability (for a given temperature) that a particular site $i$ has a spin of, say, $+1$. (In other words I want the sum of the probabilities of all the states where $S_i = +1$.)

I understand that a method that is frequently used to solve these types of problems is to do a Monte Carlo simulation of the evolution of the state. However in this problem since I am only interested in one particular site, it seems like simulating the entire state is not necessarily computationally efficient.

  • Is this a problem that is generally solvable analytically? What is known about its complexity (is it NP-hard?)
  • If it is not solvable analytically, what techniques are normally used to approximate it? (If this topic is too broad for a single answer, then links to references where I could learn more would also be useful.)
share|cite|improve this question

As far as I can tell, the only cases in which analytic computations are possible are when:

  • The system is very (very!) small;
  • Dimension = 1, and $h_i$ and $J_{ij}=J_{|j-i|}$ are periodic and of finite-range (and both must probably be small, if you want to be able to get explicit expressions...);
  • Dimension = 2, $h_i\equiv 0$ and $J_{ij}=J$ if $i$ and $j$ are neighbors and $0$ otherwise (some other choices, such as different coupling constants for horizontal and vertical neighbors, are also possible, but there are very few of them);
  • $J_{i,j}\equiv J/N$, where $N$ is the number of spins in the system. $h_i$ are then usually taken to be constant, although it might be possible to treat more general situations (I haven't thought, nor google'd, about it).

So, in general you're forced to use numerical simulation. I do not think that you can easily avoid sampling the full configuration, even if you are only interested in a single spin. The only way I can imagine (and I am not even sure that it would be computationnally efficient, except for big systems) is using techniques from perfect simulation; see, e.g., the paper and references therein. One benefit of this approach is that you can get perfect (i.e. with no statistical error) samples of configurations in any finite window (so, e.g., for a single spin) taken from an infinite system. The drawback is that this kind of approach will require that you have sufficiently low (or high) temperatures, I guess (although in practice this might not be the case, and only necessary for the proof that the algorithm works). It would also probably requires that $h_i\equiv h$ and $J_{ij}\equiv J$, although one might be able to relax that somewhat. Let me stress also that the implementation of the algorithm might not be straightforward.

share|cite|improve this answer

You are asking for a lot of things, so my answer will probably not cover all of your question.

In my studies of computational physics, the Ising model pops up now and then. The standard way to approach it computationally are indeed Monte-Carlo techniques. When you apply those, there are several sub-techniques, for instance clustering the spin sites of your system or grouping them into domains. In theory, you could make groups of only one spin site. I have not come across this a single time though. A good introduction to the computational approach to Ising model can be found in this script, starting around page 411.

Analytically, even small Ising-model systems are approximated in the so-called Mean-Field-Approximation. You could probably (try to) solve it analytically, I have not come across it during my statistical physics courses though. The Mean-Field approximation is also covered in the script I linked above.

Another resource for the Mean-Field approach of the Ising model and statistical physics in general is this statistical physics script.

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.