PenttinenPointProcess[μ,γ,rp,d]
represents a Penttinen point process with constant intensity μ, interaction parameter γ and interaction radius rp in
.
PenttinenPointProcess
PenttinenPointProcess[μ,γ,rp,d]
represents a Penttinen point process with constant intensity μ, interaction parameter γ and interaction radius rp in
.
Details
- PenttinenPointProcess is also known as pairwise area interaction process.
- PenttinenPointProcess models point configurations where points have a pairwise repulsion that is log-linear in the measure of the overlap between balls around the points of radius rp, which are otherwise uniformly distributed.
- The Penttinen model is typically used when the process interaction depends on the amount of shared resources within radius rp, such as plants, trees and nests of animals.
- The Penttinen point process can be defined as a GibbsPointProcess in terms of its intensity μ and the pair potential ϕ or pair interaction h, which are both parametrized by γ and rp as follows:
-

pair potential 
pair interaction - Here
is the measure of overlapping balls: -

overlapping area in 

overlapping volume in 
![1-r TemplateBox[{{{d, /, 2}, +, 1}}, Gamma] TemplateBox[{{1, /, 2}, {{(, {1, -, d}, )}, /, 2}, {3, /, 2}, {{(, {r, ^, 2}, )}, /, {(, {4, , {{r, _, p}, ^, 2}}, )}}}, Hypergeometric2F1]/(sqrt(pi) r_p TemplateBox[{{{(, {d, +, 1}, )}, /, 2}}, Gamma]) 1-r TemplateBox[{{{d, /, 2}, +, 1}}, Gamma] TemplateBox[{{1, /, 2}, {{(, {1, -, d}, )}, /, 2}, {3, /, 2}, {{(, {r, ^, 2}, )}, /, {(, {4, , {{r, _, p}, ^, 2}}, )}}}, Hypergeometric2F1]/(sqrt(pi) r_p TemplateBox[{{{(, {d, +, 1}, )}, /, 2}}, Gamma])](Files/PenttinenPointProcess.en/10.png)
overlapping measure in 
- A point configuration
from a Penttinen point process in an observation region reg has density function
proportional to
, with respect to PoissonPointProcess[1,d]. - The Papangelou conditional density
for adding a point
to a point configuration
is
. - PenttinenPointProcess allows μ, γ and rp to be positive numbers such that
, and d to be any positive integer. - PenttinenPointProcess simplifies to PoissonPointProcess when
. Smaller values of
inhibit points within
. - Possible Method settings in RandomPointConfiguration for StraussPointProcess are:
-
"MCMC" Markov chain Monte Carlo birth and death "Exact" coupling from the past - Possible PointProcessEstimator settings in EstimatedPointProcess for PenttinenPointProcess are:
-
Automatic automatically choose the parameter estimator "MaximumPseudoLikelihood" maximize the pseudo-likelihood - PenttinenPointProcess can be used with such functions as RipleyK and RandomPointConfiguration.
Examples
open all close allBasic Examples (2)
Sample from a Penttinen point process:
proc = PenttinenPointProcess[30, 0.1, 1., 2];reg = Rectangle[{0, 0}, {10, 10}];pts = RandomPointConfiguration[proc, reg]Visualize the points in the sample:
ListPlot[pts]Sample from a Penttinen point process defined on the surface of the Earth:
reg = Entity["Country", "Portugal"];pts = RandomPointConfiguration[PenttinenPointProcess[Quantity[0.01, 1/"Kilometers"^2], 0.3, Quantity[10, "Kilometers"], 2], reg]GeoListPlot[pts]Scope (2)
Generate three realizations from a Penttinen point process:
pts = RandomPointConfiguration[
PenttinenPointProcess[100, .5, .05, 2], Rectangle[], 2]ListPlot[pts]Clear[μ, γ, rp, d];
EstimatedPointProcess[pts, PenttinenPointProcess[μ, γ, rp, d]]Generate three realizations from a Penttinen point process on the surface of the Earth:
μ = Quantity[.3, "Kilometers" ^ -2];
rp = Quantity[10., "Kilometers"];
γ = .5;proc = PenttinenPointProcess[μ, γ, rp, 2];
reg = GeoDisk[Entity["City", {"Lima", "Lima", "Peru"}], Quantity[30, "Kilometers"]];pts = RandomPointConfiguration[proc, reg, 2]Visualize the point configurations:
GeoListPlot[pts]Clear[a, b, c, d];
EstimatedPointProcess[pts, PenttinenPointProcess[a, b, c, d]]Options (3)
Method (3)
Sample using the Markov chain Monte Carlo method:
proc = PenttinenPointProcess[100, .2, .01, 2];
reg = Disk[];RandomPointConfiguration[proc, reg, Method -> "MCMC"]Specify the number of recursive calls to the sampler:
RandomPointConfiguration[proc, reg, Method -> {"MCMC", MaxRecursion -> 6}]RandomPointConfiguration[proc, reg, Method -> {"MCMC", "LengthOfRun" -> 5 * 10 ^ 4}]Provide an initial state for the simulation:
proc = PenttinenPointProcess[50, 0.3, .1, 2];
reg = Disk[];RandomPointConfiguration[proc, reg, Method -> {"MCMC", "InitialState" -> RandomPoint[reg, 100]}]proc = PenttinenPointProcess[30, .5, .3, 2];reg = Rectangle[];pts = RandomPointConfiguration[proc, reg, Method -> "Exact"]Visualize the points in the sample:
ListPlot[pts]Possible Issues (1)
By default, the simulation will run until the number of points converges to a steady state, or until the default number of iterations is reached:
proc = PenttinenPointProcess[10 ^ 3, .2, .01, 2];
reg = Disk[];RandomPointConfiguration[proc, reg]Raise the number of recursive calls to the sampler:
RandomPointConfiguration[proc, reg, Method -> {"MCMC", MaxRecursion -> 6}]Specify a larger length of run:
RandomPointConfiguration[proc, reg, Method -> {"MCMC", "LengthOfRun" -> 5 * 10 ^ 4}]Related Guides
History
Text
Wolfram Research (2020), PenttinenPointProcess, Wolfram Language function, https://reference.wolfram.com/language/ref/PenttinenPointProcess.html.
CMS
Wolfram Language. 2020. "PenttinenPointProcess." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/PenttinenPointProcess.html.
APA
Wolfram Language. (2020). PenttinenPointProcess. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PenttinenPointProcess.html
BibTeX
@misc{reference.wolfram_2026_penttinenpointprocess, author="Wolfram Research", title="{PenttinenPointProcess}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/PenttinenPointProcess.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_penttinenpointprocess, organization={Wolfram Research}, title={PenttinenPointProcess}, year={2020}, url={https://reference.wolfram.com/language/ref/PenttinenPointProcess.html}, note=[Accessed: 13-June-2026]}