% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/mappers.R, R/mapper_collect.R, R/mapper_sum.R
\name{ibm_is_linear}
\alias{ibm_is_linear}
\alias{ibm_is_linear.default}
\alias{ibm_is_linear.bm_multi}
\alias{ibm_is_linear.bm_collect}
\alias{ibm_is_linear.bm_sum}
\title{Check if a mapper is linear/affine}
\usage{
ibm_is_linear(mapper, ...)

\method{ibm_is_linear}{default}(mapper, ...)

\method{ibm_is_linear}{bm_multi}(mapper, multi = FALSE, ...)

\method{ibm_is_linear}{bm_collect}(mapper, inla_f = FALSE, multi = FALSE, ...)

\method{ibm_is_linear}{bm_sum}(mapper, multi = FALSE, ...)
}
\arguments{
\item{mapper}{A mapper S3 object, inheriting from \code{bru_mapper}.}

\item{...}{Arguments passed on to other methods}

\item{multi}{logical;
If \code{TRUE} (or positive), recurse one level into sub-mappers}

\item{inla_f}{logical; when \code{TRUE} for \code{ibm_n()} and \code{ibm_values()}, the
result must be compatible with the \code{INLA::f(...)} and corresponding
\code{INLA::inla.stack(...)} constructions.  For \verb{ibm_\{eval,jacobian,linear\}},
the \code{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 \code{bm_collect}.}
}
\description{
Implementations must return \code{TRUE} or \code{FALSE}.
If \code{TRUE} (returned by the default method unless the mapper
contains an \code{is_linear} variable), users of the mapper
may assume the mapper is linear/affine.
}
\section{Methods (by class)}{
\itemize{
\item \code{ibm_is_linear(default)}: Returns logical
\code{is_linear} from the mapper object if it exists, and otherwise \code{TRUE}.

}}
\seealso{
Other mapper methods: 
\code{\link{bru_mapper_generics}},
\code{\link{ibm_eval}()},
\code{\link{ibm_eval2}()},
\code{\link{ibm_inla_subset}()},
\code{\link{ibm_invalid_output}()},
\code{\link{ibm_is_rowwise}()},
\code{\link{ibm_jacobian}()},
\code{\link{ibm_linear}()},
\code{\link{ibm_n}()},
\code{\link{ibm_n_output}()},
\code{\link{ibm_names}()},
\code{\link{ibm_simplify}()},
\code{\link{ibm_values}()}
}
\concept{mapper methods}
