Skip to contents

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)


  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.


m <- bru_mapper_taylor(
  offset = rep(2, 3),
  jacobian = matrix(1:6, 3, 2),
  state0 = c(1, 2)
ibm_eval2(m, state = 2:3)
#> $offset
#> [1]  7  9 11
#> $jacobian
#>      [,1] [,2]
#> [1,]    1    4
#> [2,]    2    5
#> [3,]    3    6