Perfect Simulation of the Hardcore Process

Generate a random pattern of points, a simulated realisation of the Hardcore process, using a perfect simulation algorithm.

spatial, datagen
rHardcore(beta, R = 0, W = owin())
intensity parameter (a positive number).
hard core distance (a non-negative number).
window (object of class "owin") in which to generate the random pattern. Currently this must be a rectangular window.

This function generates a realisation of the Hardcore point process in the window W using a perfect simulation algorithm.

The Hardcore process is a model for strong spatial inhibition. Two points of the process are forbidden to lie closer than R units apart. The Hardcore process is the special case of the Strauss process (see rStrauss) with interaction parameter $\gamma$ equal to zero. The simulation algorithm used to generate the point pattern is dominated coupling from the past as implemented by Berthelsen and Moller (2002, 2003). This is a perfect simulation or exact simulation algorithm, so called because the output of the algorithm is guaranteed to have the correct probability distribution exactly (unlike the Metropolis-Hastings algorithm used in rmh, whose output is only approximately correct).

There is a tiny chance that the algorithm will run out of space before it has terminated. If this occurs, an error message will be generated.


  • A point pattern (object of class "ppp").


Berthelsen, K.K. and Moller, J. (2002) A primer on perfect simulation for spatial point processes. Bulletin of the Brazilian Mathematical Society 33, 351-367.

Berthelsen, K.K. and Moller, J. (2003) Likelihood and non-parametric Bayesian MCMC inference for spatial point processes based on perfect simulation and path sampling. Scandinavian Journal of Statistics 30, 549-564.

Moller, J. and Waagepetersen, R. (2003). Statistical Inference and Simulation for Spatial Point Processes. Chapman and Hall/CRC.

See Also

rmh, Hardcore, rStrauss, rDiggleGratton.

  • rHardcore
X <- rHardcore(0.05,1.5,square(141.4))
   Z <- rHardcore(100,0.05)
Documentation reproduced from package spatstat, version 1.27-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.