bayesImageS (version 0.3-3)

swNoData: Simulate pixel labels using the Swendsen-Wang algorithm.

Description

The algorithm of Swendsen & Wang (1987) forms clusters of neighbouring pixels, then updates all of the labels within a cluster to the same value. When simulating from the prior, such as a Potts model without an external field, this algorithm is very efficient.

Usage

swNoData(beta, k, neighbors, blocks, slices = c(0, nrow(neighbors)), niter = 1000)

Arguments

beta
The inverse temperature parameter of the Potts model.
k
The number of unique labels.
neighbors
A matrix of all neighbors in the lattice, one row per pixel.
blocks
A list of pixel indices, dividing the lattice into independent blocks.
slices
Deprecated.
niter
The number of iterations of the algorithm to perform.

Value

A list containing the following elements:

References

Swendsen, R. H. and Wang, J.-S. 1987 "Nonuniversal critical dynamics in Monte Carlo simulations" Physical Review Letters 58(2), 86--88, DOI: 10.1103/PhysRevLett.58.86

See Also

SW

Examples

Run this code
# Swendsen-Wang for a 2x2 lattice
neigh <- matrix(c(5,2,5,3,  1,5,5,4,  5,4,1,5,  3,5,2,5), nrow=4, ncol=4, byrow=TRUE)
blocks <- list(c(1,4), c(2,3))
res.sw <- swNoData(0.7, 3, neigh, blocks, niter=200)
res.sw$z
res.sw$sum[200]

Run the code above in your browser using DataLab