# Critical Point

In my last post, I mentioned that I was trying to estimate the critical temperature of the Potts model by simulation. As it turns out, there is an equation to calculate the critical value of β exactly for a 2D lattice. Details after the jump.

Kramers & Wannier derived the critical temperature of the Ising model on a regular 2D lattice in their 1941 paper:

The book chapter of Hurn, Husby & Rue (2003; p94) states in equation (3.13) that

However, this is contradicted by Marin & Robert (2007) who report a value of

So, which is it? First of all, the parameter β is known as the *inverse* temperature by reference to the origins of the Potts/Ising model in statistical mechanics. The relationship between the critical temperature and the value of the parameter is as follows:

Therefore it makes sense that the value reported by Marin & Robert happens to be . Now that I’ve fixed the major bugs in my code, I’m able to verify this by simulation:

library(PottsUtils) library(bayesImageS) k <- 2 bcrit <- 2/log(1 + sqrt(k)) beta <- seq(0,2.5,by=0.1) counts <- matrix(0,length(beta),1000) neigh <- getNeighbors(matrix(1,100,100), c(2,2,0,0)) block <- getBlocks(matrix(1,100,100), 2) for (i in 1:length(beta)) { print(beta[i]) print(system.time(result <- mcmcPottsNoData(beta[i],k,neigh,block,11000))) counts[i,] <- result$sum[10001:11000] }

`## [1] 0`

## user system elapsed

## 19.53 2.89 8.29

## [1] 0.1

## user system elapsed

## 44.36 2.35 15.79

## [1] 0.2

## user system elapsed

## 43.88 2.42 14.68

## [1] 0.3

## user system elapsed

## 41.12 2.65 14.19

## [1] 0.4

## user system elapsed

## 39.34 2.48 14.08

## [1] 0.5

## user system elapsed

## 38.47 2.45 13.16

## [1] 0.6

## user system elapsed

## 38.69 2.70 13.12

## [1] 0.7

## user system elapsed

## 35.56 2.67 12.52

## [1] 0.8

## user system elapsed

## 34.88 3.06 12.27

## [1] 0.9

## user system elapsed

## 31.38 2.28 11.45

## [1] 1

## user system elapsed

## 29.72 2.55 10.87

## [1] 1.1

## user system elapsed

## 29.73 2.27 10.73

## [1] 1.2

## user system elapsed

## 27.68 2.69 10.45

## [1] 1.3

## user system elapsed

## 28.69 2.31 11.03

## [1] 1.4

## user system elapsed

## 28.03 2.73 10.51

## [1] 1.5

## user system elapsed

## 28.07 2.78 10.55

## [1] 1.6

## user system elapsed

## 26.43 2.46 10.30

## [1] 1.7

## user system elapsed

## 27.35 2.42 10.55

## [1] 1.8

## user system elapsed

## 26.46 2.67 10.30

## [1] 1.9

## user system elapsed

## 29.42 2.29 10.50

## [1] 2

## user system elapsed

## 28.47 2.45 10.45

## [1] 2.1

## user system elapsed

## 27.98 3.12 10.38

## [1] 2.2

## user system elapsed

## 28.38 2.69 10.48

## [1] 2.3

## user system elapsed

## 29.08 2.48 10.45

## [1] 2.4

## user system elapsed

## 28.32 2.51 10.51

## [1] 2.5

## user system elapsed

## 27.68 2.59 10.54

x <- rep(beta,each=1000) y <- as.vector(t(counts)) plot(x, y, xlab = expression(beta), ylab = "identical neighbours", main = "Critical temperature of the 2D Ising model") abline(v = bcrit, col = "red") abline(v = log(1 + sqrt(2)), col = "blue")

## References

Hurn M A, Husby O K & Rue H (2003) *A Tutorial on Image Analysis* in Møller J (ed.) *Spatial Statistics and Computational Methods* Lecture Notes in Statistics 173, Springer-Verlag: Berlin

Kramers H A & Wannier G H (1941) Statistics of the Two-Dimensional Ferromagnet. Part I *Phys. Rev.* **60** 252, 263

Marin J M & Robert C P (2007) Bayesian Core: *A Practical Approach to Computational Bayesian Statistics* Springer-Verlag: New York

Onsager L (1944) A Two-Dimensional Model with an Order-Disorder Transition *Phys. Rev.* **65** 117

## Trackbacks & Pingbacks