(last updated: 27 March 2007)

Spatial Birth-Death-Swap chains (download)

Code for the results in the paper: "Spatial Birth-Death-Swap chains" by Mark Huber.

Implements perfect sampling using dominated Coupling From the Past for spatial birth-death chains and spatial birth-death-swap chains for the hard-cord gas model and the Widom-Rowlinson model in Scilab.


bdp

Backwards dominating process

Syntax

[x, A] = bdp(x,N,lambda)

Description

Generates a dominating process starting at configuration x at time 0 and then moving backwards in time through N events with the underlying process being a spatial Poisson process with rate lambda. The output A is the lists of births and deaths.


bdp_wr

Backwards dominating process for Widom-Rowlinson

Syntax

[x, A] = bdp_wr(x,N,lambda_1,lambda_2)

Description

Generates a dominating process for the Widom-Rowlinson process starting at configuration x at time 0 and then moving backwards in time through N events with the underlying process being a marked spatial Poisson process where type I points have rate lambda_1 and type II points have rate lambda_2. The output A is the lists of births and deaths.


bfarhc

Brute force acceptance rejection for hard core

Syntax

[x, iterations] = bfarhc(lambda,R)

Description

Generates hard core gas models with rate parameter lambda and minimum distance R between points using acceptance rejection from a spatial Poisson process.


bfarwr

Brute force acceptance rejection for Widom-Rowlinson

Syntax

[x, iterations] = bfarwr(lambda_1,lambda_2a,R)

Description

Generates Widom-Rowlinson gas models with rate parameters lambda_1 and lambda_2 and minimum distance R between points of different types using acceptance rejection from a spatial Poisson process.


dcftp_hc

Dominated Coupling From the Past for the hard core model

Syntax

[y,n] = dcftp_hc(ninitial,lambda,min_distance,display,p_swap);

Description

Generates one random variate from the hard core gas model using dCFTP. The output y is the sample, and n is the number of birth-death-swap events generated in creating the sample. Input ninitial is the size of the first dCFTP run, lambda is the rate parameter of the model, min_distance is the smallest distance between two points, display is 1 if the user wishes a graphical display of the running of the procedure, p_swap is the fixed chance that every birth acts as a swap move when possible.


hcbpupdatenoswap

Hard Core Bounding Process Update (no swap move)

Syntax

[b, x] = hcbpupdatenoswap(step,b,x,R)

Description

Takes one step in the bounding process for the hard core gas model with no swap move. The move is input in step, the number of points in the lower process is b, the set of points in the bounding process is x (the first b of which are lower, the rest are upper), and R is the minimum distance between two points in a valid configuration.


hcbpupdatepartialswap

Hard Core Bounding Process Update (fixed chance of swap move)

Syntax

[b, x] = hcbpupdatepartialswap(step,M,b,x,R,p_swap)

Description

Takes one step in the bounding process for the hard core gas model with no swap move. The move is input in step, M is the mark on the point in step, the number of points in the lower process is b, the set of points in the bounding process is x (the first b of which are lower, the rest are upper), and R is the minimum distance between two points in a valid configuration, and p_swap is the chance of executing a swap move versus a no swap move.


hcbpupdateswap

Hard Core Bounding Process Update (with swap move)

Syntax

[b, x] = hcbpupdateswap(step,b,x,R)

Description

Takes one step in the bounding process for the hard core gas model with a swap move. The move is input in step, the number of points in the lower process is b, the set of points in the bounding process is x (the first b of which are lower, the rest are upper), and R is the minimum distance between two points in a valid configuration.


spp

spatial Poisson process

Syntax

x = spp[lambda]

Description

Generates a spatial Poisson process with parameter lambda over the unit square




Back to Mark's Home Page