Creates an INLA object for a stationary Matern model on a metric graph with general smoothness parameter.

## Usage

```
rspde.metric_graph(
graph_obj,
h = NULL,
nu.upper.bound = 2,
rspde.order = 2,
nu = NULL,
debug = FALSE,
B.sigma = matrix(c(0, 1, 0), 1, 3),
B.range = matrix(c(0, 0, 1), 1, 3),
parameterization = c("matern", "spde"),
B.tau = matrix(c(0, 1, 0), 1, 3),
B.kappa = matrix(c(0, 0, 1), 1, 3),
start.nu = NULL,
start.theta = NULL,
prior.nu = NULL,
theta.prior.mean = NULL,
theta.prior.prec = 0.1,
prior.std.dev.nominal = 1,
prior.range.nominal = NULL,
prior.kappa.mean = NULL,
prior.tau.mean = NULL,
start.lstd.dev = NULL,
start.lrange = NULL,
start.ltau = NULL,
start.lkappa = NULL,
prior.theta.param = c("theta", "spde"),
prior.nu.dist = c("lognormal", "beta"),
nu.prec.inc = 1,
type.rational.approx = c("chebfun", "brasil", "chebfunLB"),
shared_lib = "INLA"
)
```

## Arguments

- graph_obj
The graph object to build the model. Needs to be of class

`metric_graph`

. It should have a built mesh. If the mesh is not built, one will be built using h=0.01 as default.- h
The width of the mesh in case the mesh was not built.

- nu.upper.bound
Upper bound for the smoothness parameter.

- rspde.order
The order of the covariance-based rational SPDE approach.

- nu
If nu is set to a parameter, nu will be kept fixed and will not be estimated. If nu is

`NULL`

, it will be estimated.- debug
INLA debug argument

- B.sigma
Matrix with specification of log-linear model for \(\sigma\). Will be used if

`parameterization = 'matern'`

.- B.range
Matrix with specification of log-linear model for \(\rho\), which is a range-like parameter (it is exactly the range parameter in the stationary case). Will be used if

`parameterization = 'matern'`

.- parameterization
Which parameterization to use?

`matern`

uses range, std. deviation and nu (smoothness).`spde`

uses kappa, tau and nu (smoothness). The default is`matern`

.- B.tau
Matrix with specification of log-linear model for \(\tau\). Will be used if

`parameterization = 'spde'`

.- B.kappa
Matrix with specification of log-linear model for \(\kappa\). Will be used if

`parameterization = 'spde'`

.- start.nu
Starting value for nu.

- start.theta
Starting values for the model parameters. In the stationary case, if

`parameterization='matern'`

, then`theta[1]`

is the std.dev and`theta[2]`

is the range parameter. If`parameterization = 'spde'`

, then`theta[1]`

is`tau`

and`theta[2]`

is`kappa`

.- prior.nu
a list containing the elements

`mean`

and`prec`

for beta distribution, or`loglocation`

and`logscale`

for a truncated lognormal distribution.`loglocation`

stands for the location parameter of the truncated lognormal distribution in the log scale.`prec`

stands for the precision of a beta distribution.`logscale`

stands for the scale of the truncated lognormal distribution on the log scale. Check details below.- theta.prior.mean
A vector for the mean priors of

`theta`

.- theta.prior.prec
A precision matrix for the prior of

`theta`

.- prior.std.dev.nominal
Prior std. deviation to be used for the priors and for the starting values.

- prior.range.nominal
Prior range to be used for the priors and for the starting values.

- prior.kappa.mean
Prior kappa to be used for the priors and for the starting values.

- prior.tau.mean
Prior tau to be used for the priors and for the starting values.

- start.lstd.dev
Starting value for log of std. deviation. Will not be used if start.ltau is non-null. Will be only used in the stationary case and if

`parameterization = 'matern'`

.- start.lrange
Starting value for log of range. Will not be used if start.lkappa is non-null. Will be only used in the stationary case and if

`parameterization = 'matern'`

.- start.ltau
Starting value for log of tau. Will be only used in the stationary case and if

`parameterization = 'spde'`

.- start.lkappa
Starting value for log of kappa. Will be only used in the stationary case and if

`parameterization = 'spde'`

.- prior.theta.param
Should the lognormal prior be on

`theta`

or on the SPDE parameters (`tau`

and`kappa`

on the stationary case)?- prior.nu.dist
The distribution of the smoothness parameter. The current options are "beta" or "lognormal". The default is "lognormal".

- nu.prec.inc
Amount to increase the precision in the beta prior distribution. Check details below.

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

- shared_lib
Which shared lib to use for the cgeneric implementation? If "INLA", it will use the shared lib from INLA's installation. If 'rSPDE', then it will use the local installation (does not work if your installation is from CRAN). Otherwise, you can directly supply the path of the .so (or .dll) file.

- prior.kappa
a

`list`

containing the elements`meanlog`

and`sdlog`

, that is, the mean and standard deviation on the log scale.- prior.tau
a list containing the elements

`meanlog`

and`sdlog`

, that is, the mean and standard deviation on the log scale.- prior.range
a

`list`

containing the elements`meanlog`

and`sdlog`

, that is, the mean and standard deviation on the log scale. Will not be used if prior.kappa is non-null.- prior.std.dev
a

`list`

containing the elements`meanlog`

and`sdlog`

, that is, the mean and standard deviation on the log scale. Will not be used if prior.tau is non-null.