intrinsic.operators {rSPDE} | R Documentation |
Covariance-based approximations of intrinsic fields
Description
intrinsic.matern.operators
is used for computing a
covariance-based rational SPDE approximation of intrinsic
fields on R^d
defined through the SPDE
(-\Delta)^{\beta/2} (\tau u) = \mathcal{W}
Usage
intrinsic.operators(
tau = NULL,
beta = NULL,
G = NULL,
C = NULL,
d = NULL,
mesh = NULL,
graph = NULL,
loc_mesh = NULL,
m = 1,
compute_higher_order = FALSE,
return_block_list = FALSE,
type_rational_approximation = c("brasil", "chebfun", "chebfunLB"),
fem_mesh_matrices = NULL,
scaling = NULL,
opts = NULL
)
Arguments
tau |
precision parameter |
beta |
Smoothness parameter |
G |
The stiffness matrix of a finite element discretization of the domain of interest. |
C |
The mass matrix of a finite element discretization of the domain of interest. |
d |
The dimension of the domain. |
mesh |
An inla mesh. |
graph |
An optional |
loc_mesh |
locations for the mesh for |
m |
The order of the rational approximation for the intrinsic part, which needs to be a positive integer. The default value is 2. |
compute_higher_order |
Logical. Should the higher order finite element matrices be computed? |
return_block_list |
Logical. For |
type_rational_approximation |
Which type of rational approximation should be used? The current types are "brasil", "chebfun" or "chebfunLB". |
fem_mesh_matrices |
A list containing FEM-related matrices. The list should contain elements c0, g1, g2, g3, etc. |
scaling |
scaling factor, see details. |
opts |
options for numerical calulcation of the scaling, see details. |
Details
The covariance operator
\tau^{-2}(-\Delta)^{\beta}
is approximated based on a rational approximation. The Laplacian is
equipped with homogeneous Neumann boundary
conditions and a zero-mean constraint is additionally imposed to obtained
a non-intrinsic model. The scaling is computed as the lowest positive eigenvalue of
sqrt(solve(c0))%*%g1sqrt(solve(c0)). opts provides a list of options for the
numerical calculation of the scaling factor, which is done using Rspectra::eigs_sym
.
See the help of that function for details.
Value
intrinsic.operators
returns an object of
class "intrinsicCBrSPDEobj".
Examples
if (requireNamespace("RSpectra", quietly = TRUE)) {
x <- seq(from = 0, to = 10, length.out = 201)
beta <- 1
alpha <- 1
op <- intrinsic.operators(tau = 1, beta = beta, loc_mesh = x, d = 1)
# Compute and plot the variogram of the model
Sigma <- op$A[,-1] %*% solve(op$Q[-1,-1], t(op$A[,-1]))
One <- rep(1, times = ncol(Sigma))
D <- diag(Sigma)
Gamma <- 0.5 * (One %*% t(D) + D %*% t(One) - 2 * Sigma)
k <- 100
plot(x, Gamma[k, ], type = "l")
lines(x,
variogram.intrinsic.spde(x[k], x, kappa = 0, alpha = 0,
beta = beta, L = 10, d = 1),
col = 2, lty = 2
)
}