Skip to contents

matern2d.operators is used for computing a rational SPDE approximation of a stationary Gaussian random fields on \(R^d\) with a Matern covariance function $$C(h) = \frac{\sigma^2}{2^{\nu-1}\Gamma(\nu)}(\sqrt{h^T H^{-1}h})^\nu K_\nu(\sqrt{h^T H^{-1}h})$$, based on a SPDE representation of the form $$(I - \nabla\cdot(H\nabla))^{(\nu+1)/2}u = c\sigma W$$, where $c>0$ is a constant. The matrix \(H\) is defined as $$\begin{bmatrix} h_x^2 & h_xh_yh_{xy} \\ h_xh_yh_{xy} & h_y^2 \end{bmatrix}$$

Usage

matern2d.operators(
  hx = NULL,
  hy = NULL,
  hxy = NULL,
  nu = NULL,
  sigma = NULL,
  mesh = NULL,
  fem = NULL,
  m = 1,
  type_rational_approximation = c("chebfun", "brasil", "chebfunLB")
)

Arguments

hx

Parameter in the H matrix.

hy

Parameter in the H matrix.

hxy

Parameter in the H matrix.

nu

Smoothness parameter.

sigma

standard deviation parameter.

mesh

An fmesher mesh.

fem

Optional precomputed FEM matrices.

m

The order of the rational approximation, which needs to be a positive integer. The default value is 1.

type_rational_approximation

Which type of rational approximation should be used? The current types are "chebfun", "brasil" or "chebfunLB".

Value

An object of type CBrSPDEobj2d

Examples

library(fmesher)
n_loc <- 2000
loc_2d_mesh <- matrix(runif(n_loc * 2), n_loc, 2)
mesh_2d <- fm_mesh_2d(loc = loc_2d_mesh, cutoff = 0.03, max.edge = c(0.1, 0.5))
op <- matern2d.operators(mesh = mesh_2d)