Jethro's Braindump

Ising Models

An Ising model is an array of spins (atoms that can take states Β±1) that are magnetically coupled to each other. If one spin is, say $+1, is energetically favourable for its immediate neighbours to be in the same state.

Let the state x of an Ising model with N spins be a vector in which each component xn takes values +1 and βˆ’1. If two spins m and n are neighbours, we say (m,n)∈N. The coupling between neighbouring spins is J. We define Jmn=J if m and n are neighbours, and Jmn=0 otherwise. The energy of a state x is:

E(x|J,H)=βˆ’[12βˆ‘m,nJmnxmxn+βˆ‘nHxn]

where H is the applied field. The probability that the state is x is:

P(x|J,H)=1Z(Ξ²,J,H)exp[βˆ’βˆ’Ξ²E(x;J,H)]

where Ξ²=1kBT, kB is the Boltzmann’s constant, and:

Z(Ξ²,J,H)=βˆ‘xexp[βˆ’Ξ²E(x;J,H)]

The Ising model is also an example of a Markov Random Field (MRF). We create a graph in the form of a 2D or 3D lattice, and connect neighbouring variables. We can define the following clique potential:

Ο•st(ys,yt)=(ewsteβˆ’wst eβˆ’wstewst)

Here wst is the coupling strength between nodes s and t. If two nodes are not connected, wst=0. The weight matrix W is symmetric: wst=wts. All edges have the same strength J, where wst≠0.

The Ising model is analogous to the Gaussian graphical models. First, assuming yt∈{βˆ’1,+1}, we can write the unnormalized log probability of an Ising model as follows:

log⁑p~(y)=βˆ’βˆ‘s∼tyswstyt+βˆ‘sbsys=βˆ’12yTWy+bTy

where ΞΈ=(W,b), and b is the bias term, corresponding to the local fields. If we define:

ΞΌ=βˆ’12Ξ£βˆ’1b,Ξ£βˆ’1=βˆ’W,c=12ΞΌTΞ£βˆ’1ΞΌ

we can rewrite this in a form that looks similar to a Gaussian:

log⁑p~(y)=βˆ’12(yβˆ’ΞΌ)TΞ£βˆ’1(yβˆ’ΞΌ)+c

Links to this note