Simulation of Determinantal Point Process Model

Generates simulated realisations from a determinantal point process model.

models, spatial, datagen
# S3 method for dppm
simulate(object, nsim = 1, seed = NULL, …,
    W = NULL, trunc = 0.99, correction = "periodic", rbord = reach(object))

# S3 method for detpointprocfamily simulate(object, nsim = 1, seed = NULL, …, W = NULL, trunc = 0.99, correction = "periodic", rbord = reach(object))


Determinantal point process model. An object of class "detpointprocfamily" or "dppm".


Number of simulated realisations.


an object specifying whether and how to initialise the random number generator. Either NULL or an integer that will be used in a call to set.seed before simulating the point patterns.

Arguments passed on to rdpp.


Object specifying the window of simulation (defaults to a unit box if nothing else is sensible -- see Details). Can be any single argument acceptable to as.boxx (e.g. an "owin", "box3" or "boxx" object).


Numeric value specifying how the model truncation is preformed. See Details.


Character string specifying the type of correction to use. The options are "periodic" (default) and "border". See Details.


Numeric value specifying the extent of the border correction if this correction is used. See Details.


These functions are methods for the generic function simulate for the classes "detpointprocfamily" and "dppm" of determinantal point process models.

The return value is a list of nsim point patterns. It also carries an attribute "seed" that captures the initial state of the random number generator. This follows the convention used in simulate.lm (see simulate). It can be used to force a sequence of simulations to be repeated exactly, as shown in the examples for simulate.

The exact simulation of a determinantal point process model involves an infinite series, which typically has no analytical solution. In the implementation a truncation is performed. The truncation trunc can be specified either directly as a positive integer or as a fraction between 0 and 1. In the latter case the truncation is chosen such that the expected number of points in a simulation is trunc times the theoretical expected number of points in the model. The default is 0.99.

The window of the returned point pattern(s) can be specified via the argument W. For a fitted model (of class "dppm") it defaults to the observation window of the data used to fit the model. For inhomogeneous models it defaults to the window of the intensity image. Otherwise it defaults to a unit box. For non-rectangular windows simulation is done in the containing rectangle and then restricted to the window. For inhomogeneous models a stationary model is first simulated using the maximum intensity and then the result is obtained by thinning.

The default is to use periodic edge correction for simulation such that opposite edges are glued together. If border correction is used then the simulation is done in an extended window. Edge effects are theoretically completely removed by doubling the size of the window in each spatial dimension, but for practical purposes much less extension may be sufficient. The numeric rbord determines the extend of the extra space added to the window.


A list of length nsim containing simulated point patterns (objects of class "ppp"). The list has class "solist".

The return value also carries an attribute "seed" that captures the initial state of the random number generator. See Details.


Lavancier, F. Moller, J. and Rubak, E. (2015) Determinantal point process models and statistical inference Journal of the Royal Statistical Society, Series B 77, 853--977.

See Also

rdpp, simulate

  • simulate.dppm
  • simulate.detpointprocfamily
model <- dppGauss(lambda=100, alpha=.05, d=2)
simulate(model, 2)
# }
Documentation reproduced from package spatstat, version 1.49-0, License: GPL (>= 2)

Community examples

Looks like there are no examples yet.