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)`

## Usage

```
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, ...)
```

## Arguments

- offset
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.- 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.- state0
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.- values_mapper
mapper object to be used for

`ibm_n`

and`ibm_values`

for`inla_f=TRUE`

(experimental, currently unused)- mapper
A mapper S3 object, inheriting from

`bru_mapper`

.- inla_f
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`

.- multi
logical; If

`TRUE`

(or positive), recurse one level into sub-mappers- ...
Arguments passed on to other methods

- input
Data input for the mapper.

- state
A vector of latent state values for the mapping, of length

`ibm_n(mapper, inla_f = FALSE)`

## Details

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.

## See also

bru_mapper, bru_mapper_generics

Other mappers:
`bru_get_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()`

,
`bru_mapper()`