% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/mappers.R
\name{bm_multi}
\alias{bm_multi}
\alias{bru_mapper_multi}
\alias{[.bm_multi}
\alias{[.bru_mapper_multi}
\title{Mapper for tensor product domains}
\usage{
bm_multi(mappers, simplify = FALSE)

bru_mapper_multi(...)

\method{[}{bm_multi}(x, i, drop = TRUE)

\method{[}{bru_mapper_multi}(x, i, drop = TRUE)
}
\arguments{
\item{mappers}{A list of \code{bru_mapper} objects}

\item{simplify}{logical; If \code{TRUE}, removes trivial submappers.
Currently only sub-mappers of class \code{\link[=bm_index]{bm_index()}} with \code{ibm_n() == 1L} are
removed, and only if the mappers are named (to avoid ordering mismatches).
Default: \code{FALSE}}

\item{\dots}{Arguments passed on to \code{\link[=bm_multi]{bm_multi()}}}

\item{x}{object from which to extract element(s)}

\item{i}{indices specifying element(s) to extract}

\item{drop}{logical;
For \verb{[.bm_multi}, whether to extract an individual mapper when
\code{i} identifies a single element. If \code{FALSE}, a list of sub-mappers is
returned (suitable e.g. for creating a new \code{bm_multi} object).
Default: \code{TRUE}}
}
\value{
\itemize{
\item \code{[}-indexing a \code{bm_multi} extracts a subset
\code{bm_multi} object (for drop \code{FALSE}) or an individual sub-mapper
(for drop \code{TRUE}, and \code{i} identifies a single element)
}
}
\description{
Constructs a row-wise Kronecker product mapping of linear/affine
mappers. Any offset in sub-mappers is added into a combined offset. Only
linear/affine sub-mappers are allowed.
}
\examples{
(m <- bm_multi(list(a = bm_index(2), b = bm_index(3))))
ibm_eval2(m, list(a = c(1, 2, 1), b = c(1, 3, 2)), 1:6)

}
\seealso{
\link{bru_mapper}, \link{bru_mapper_generics}

Other mappers: 
\code{\link{bm_aggregate}()},
\code{\link{bm_collect}()},
\code{\link{bm_const}()},
\code{\link{bm_factor}()},
\code{\link{bm_fm_mesh_1d}},
\code{\link{bm_fmesher}()},
\code{\link{bm_harmonics}()},
\code{\link{bm_index}()},
\code{\link{bm_linear}()},
\code{\link{bm_logitaverage}()},
\code{\link{bm_logsumexp}()},
\code{\link{bm_marginal}()},
\code{\link{bm_matrix}()},
\code{\link{bm_pipe}()},
\code{\link{bm_reparam}()},
\code{\link{bm_repeat}()},
\code{\link{bm_scale}()},
\code{\link{bm_shift}()},
\code{\link{bm_sum}()},
\code{\link{bm_taylor}()},
\code{\link{bru_get_mapper}()},
\code{\link{bru_mapper}()}
}
\concept{mappers}
