Provides a pre-computed affine mapping,
internally used to represent and evaluate linearisation information.
The state0 information indicates for which state the offset was evaluated;
The affine mapper output is defined as
effect(state) = offset + jacobian %*% (state - state0)
bru_mapper_taylor(
  offset = NULL,
  jacobian = NULL,
  state0 = NULL,
  values_mapper = NULL
)# S3 method for bru_mapper_taylor
ibm_n(mapper, inla_f = FALSE, multi = FALSE, ...)
# S3 method for bru_mapper_taylor
ibm_n_output(mapper, input, ...)
# S3 method for bru_mapper_taylor
ibm_values(mapper, inla_f = FALSE, multi = FALSE, ...)
# S3 method for bru_mapper_taylor
ibm_jacobian(mapper, ..., multi = FALSE)
# S3 method for bru_mapper_taylor
ibm_eval(mapper, input = NULL, state = NULL, ...)
For bru_mapper_taylor, an offset vector evaluated
at state0.
May be NULL, interpreted as an all-zero vector of length determined by
a non-null Jacobian.
For bru_mapper_taylor(), the Jacobian matrix,
evaluated at state0, or, a named list of such matrices.
May be NULL or an empty list, for a constant mapping.
For bru_mapper_taylor, the state the linearisation
was evaluated at, or a list of length matching the jacobian list.
NULL is interpreted as 0.
mapper object to be used for ibm_n and
ibm_values for inla_f=TRUE (experimental, currently unused)
A mapper S3 object, inheriting from bru_mapper.
logical; when TRUE for ibm_n() and ibm_values(), the
result must be compatible with the INLA::f(...) and corresponding
INLA::inla.stack(...) constructions.  For ibm_{eval,jacobian,linear},
the input interpretation may be different.
Implementations do not normally need to do anything different, except
for mappers of the type needed for hidden multicomponent models such
as "bym2", which can be handled by bru_mapper_collect.
logical;
If TRUE (or positive), recurse one level into sub-mappers
Arguments passed on to other methods
Data input for the mapper.
A vector of latent state values for the mapping,
of length ibm_n(mapper, inla_f = FALSE)
The ibm_eval.bru_mapper_taylor() evaluates linearised
mapper information at the given state. The input argument is ignored,
so that the usual argument order
ibm_eval(mapper, input, state) syntax can be used, but also
ibm_eval(mapper, state = state).  For a mapper with a named jacobian list,
the state argument must also be a named list.  If state is NULL,
all-zero is assumed.
bru_mapper, bru_mapper_generics
Other mappers: 
bru_get_mapper(),
bru_mapper(),
bru_mapper.fm_mesh_1d(),
bru_mapper.fm_mesh_2d(),
bru_mapper_aggregate(),
bru_mapper_collect(),
bru_mapper_const(),
bru_mapper_factor(),
bru_mapper_generics,
bru_mapper_harmonics(),
bru_mapper_index(),
bru_mapper_linear(),
bru_mapper_logsumexp(),
bru_mapper_marginal(),
bru_mapper_matrix(),
bru_mapper_mesh_B(),
bru_mapper_multi(),
bru_mapper_pipe(),
bru_mapper_scale(),
bru_mapper_shift()
m <- bru_mapper_taylor(
  offset = rep(2, 3),
  jacobian = matrix(1:6, 3, 2),
  state0 = c(1, 2)
)
ibm_eval2(m, state = 2:3)
Run the code above in your browser using DataLab