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