# rStraussHard

##### Perfect Simulation of the Strauss-Hardcore Process

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

##### Usage

```
rStraussHard(beta, gamma = 1, R = 0, H = 0, W = owin(),
expand=TRUE, nsim=1, drop=TRUE)
```

##### Arguments

- beta
intensity parameter (a positive number).

- gamma
interaction parameter (a number between 0 and 1, inclusive).

- R
interaction radius (a non-negative number).

- H
hard core distance (a non-negative number smaller than

`R`

).- W
window (object of class

`"owin"`

) in which to generate the random pattern. Currently this must be a rectangular window.- expand
Logical. If

`FALSE`

, simulation is performed in the window`W`

, which must be rectangular. If`TRUE`

(the default), simulation is performed on a larger window, and the result is clipped to the original window`W`

. Alternatively`expand`

can be an object of class`"rmhexpand"`

(see`rmhexpand`

) determining the expansion method.- nsim
Number of simulated realisations to be generated.

- drop
Logical. If

`nsim=1`

and`drop=TRUE`

(the default), the result will be a point pattern, rather than a list containing a point pattern.

##### Details

This function generates a realisation of the
Strauss-Hardcore point process in the window `W`

using a ‘perfect simulation’ algorithm.

The Strauss-Hardcore process is described in `StraussHard`

.

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).

A limitation of the perfect simulation algorithm
is that the interaction parameter
\(\gamma\) must be less than or equal to \(1\).
To simulate a Strauss-hardcore process with
\(\gamma > 1\), use `rmh`

.

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.

##### Value

If `nsim = 1`

, a point pattern (object of class `"ppp"`

).
If `nsim > 1`

, a list of point patterns.

##### References

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

##### Examples

```
# NOT RUN {
Z <- rStraussHard(100,0.7,0.05,0.02)
Y <- rStraussHard(100,0.7,0.05,0.01, nsim=2)
# }
```

*Documentation reproduced from package spatstat, version 1.64-1, License: GPL (>= 2)*