Circulant Embedding methods
Circulant embedding is a fast simulation method for stationary
(possibly anisotropic) Gaussian random
fields on regular grids based on Fourier transformations. It is guaranteed to be an exact method
for covariance functions with finite support, e.g. the spherical
model. The method is admissible for any dimension apart from memory
restrictions.
The simulation is performed on a torus which represents the bended
grid. To remove wrong dependencies occuring at different borders of the
grid which would be close on the torus, the simulation area is
multiplied by a natural number.
There is also a multivariate version of circulant embedding.
Cut-off embedding is a fast simulation method for stationary,
isotropic Gaussian random fields on square lattices based on
the standard RPcirculant
method,
so that exact simulation is garantueed
for further covariance models, e.g. the RMwhittle
model.
In fact, the circulant embedding is called with the cutoff
hypermodel, see RMcutoff
.
Cutoff
halfens the maximum number of
elements models used to define the covariance function of interest
(from 10 to 5).
Here, multiplicative models are not allowed (yet).
For details see RMcutoff
.
Intrinsic embedding is a fast simulation method for intrinsically stationary,
isotropic Gaussian random fields on square lattices based on
the standard RPcirculant
method,
for further variogram models, e.g. RMfbm
.
Note that the simulated random field is always non-stationary.
In fact, the circulant embedding is called with the Intrinsic
hypermodel, see RMintrinsic
.
Here, multiplicative models are not allowed (yet).
For details see RMintrinsic
.
RPcirculant(phi, boxcox, force, mmin, strategy, maxGB, maxmem, tolIm, tolRe, trials, useprimes, dependent, approx_step, approx_maxgrid) RPcutoff(phi, boxcox, force, mmin, strategy, maxGB, maxmem, tolIm, tolRe, trials, useprimes, dependent, approx_step, approx_maxgrid, diameter, a) RPintrinsic(phi, boxcox, force, mmin, strategy, maxGB, maxmem, tolIm, tolRe, trials, useprimes, dependent, approx_step, approx_maxgrid, diameter, rawR)
phi |
See |
boxcox |
the one or two parameters of the box cox transformation.
If not given, the globally defined parameters are used.
See |
force |
Logical. Circulant embedding does not work
if the constructed circulant
matrix has negative eigenvalues. Sometimes it is convenient
to replace all the negative eigenvalues by zero
( |
mmin |
Scalar or vector, integer if positive.
|
strategy |
Logical. In some cases Default: |
maxGB |
Maximal memory used for the circulant matrix in units of
GB.
If this argument is set then Default: 1. |
maxmem |
Integer. maximal number of entries in a row of the circulant matrix. The total amount of memory needed for the internal calculations is 32 (= 4 * sizeof(double)) time as large (factor 2 is needed as complex numbers must be considered for calculating the fft of the covariance matrix; another factor 2 is needed for storing the simulated result). The value of Note that If this argument is set then Default: |
tolIm |
If the modulus of the imaginary part is less than
Default: |
tolRe |
Eigenvalues between Default: |
trials |
Integer.
A larger circulant matrix is likely to make more eigenvalues
non-negative. If at least one of the thresholds Default: |
useprimes |
Logical. If Default: |
dependent |
Logical. If Default: |
approx_step |
Real value. It gives the grid size of the approximating grid in case circulant embedding is used although the points do not lie on a grid. If Default: |
approx_maxgrid |
It defaults to |
diameter |
See |
a |
See |
rawR |
See |
Here, the algorithms by Dietrich and Newsam are implemented.
An object of class RMmodel
.
Martin Schlather, schlather@math.uni-mannheim.de, https://www.wim.uni-mannheim.de/schlather/
Circulant Embedding
Chan, G. and Wood, A.T.A. (1997) An Algorithm for Simulating Stationary Gaussian Random Fields. Journal of the Royal Statistical Society: Series C (Applied Statistics), 46, 171–181.
Dietrich, C. R. and G. N. Newsam (1993) A fast and exact method for multidimensional gaussian stochastic simulations. Water Resour. Res. 29(8), 2861–2869.
Dietrich, C. R. and G. N. Newsam (1996) A fast and exact method for multidimensional Gaussian stochastic simulations: Extension to realizations conditioned on direct and indirect measurements Water Resour. Res. 32(6), 1643–1652.
Dietrich, C. R. and Newsam, G. N. (1997) Fast and Exact Simulation of Stationary Gaussian Processes through Circulant Embedding of the Covariance Matrix. SIAM J. Sci. Comput. 18, 1088–1107.
Wood, A. T. A. and Chan, G. (1994) Simulation of Stationary Gaussian Processes in [0, 1]^d. Journal of Computational and Graphical Statistics 3, 409–432.
Cutoff and Intrinsic
Gneiting, T., Sevecikova, H, Percival, D.B., Schlather M., Jiang Y. (2006) Fast and Exact Simulation of Large Gaussian Lattice Systems in $R^2$: Exploring the Limits. J. Comput. Graph. Stat. 15, 483–501.
Stein, M.L. (2002) Fast and exact simulation of fractional Brownian surfaces. J. Comput. Graph. Statist. 11, 587–599
RFoptions(seed=0) ## *ANY* simulation will have the random seed 0; set ## RFoptions(seed=NA) to make them all random again model <- RMstable(s=1, alpha=1.8) x <- seq(-3,3,0.1) z <- RFsimulate(model=RPcirculant(model), x=x, y=x, n=1) plot(z) model <- RMexp(var=10, s=2) z <- RFsimulate(model=RPcirculant(model), 1:10) plot(z) model <- RMfbm(Aniso=diag(c(1,2)), alpha=1.5) z <- RFsimulate(model, x=1:10, y=1:10) plot(z)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.