Fast Strauss simulator (Rcpp backend) returning an sf point layer
Source:R/simulate_points_strauss_fast.R
simulate_points_strauss_fast.RdFixed-\(n\) Metropolis–Hastings sampler for the Strauss process
with interaction radius r and parameter gamma (\(0<\gamma\le 1\)).
Uses a cell grid, cached neighbor counts, squared-distance checks, and
light auto-tuning for the proposal radius. This is a fast, self-contained
alternative to spatstat for baseline point generation.
Usage
simulate_points_strauss_fast(
domain,
n_target,
r,
gamma,
sweeps = 2000,
burnin = 200,
thin = 1,
step0 = NA_real_,
target_acc = 0.35,
tune_every = 200
)Arguments
- domain
An sf polygon/multipolygon defining the window.
- n_target
Integer; number of points to return.
- r
Interaction radius (map units).
- gamma
Interaction parameter (\(\le 1\) for inhibition).
- sweeps
Number of MH sweeps (proposals per point). Default
2000.- burnin
Number of initial sweeps reserved for adaptation. Default
200.- thin
Currently unused (kept for API symmetry). Default
1.- step0
Optional initial proposal radius (defaults to
0.5 * r).- target_acc
Target acceptance for auto-tuning. Default
0.35.- tune_every
Sweeps between tuning updates. Default
200.