\Header{aperm}{Array Transposition}
\keyword{array}{aperm}
\begin{Description}\relax
Transpose an array by permuting its dimensions and optionally resizing
it.\end{Description}
\begin{Usage}
\begin{verbatim}
aperm(a, perm, resize = TRUE)
\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{a}] the array to be transposed.
\item[\code{perm}] the subscript permutation vector.
\item[\code{resize}] a flag indicating whether the vector should be resized
as well as having its elements reordered (default \code{TRUE}.)
\end{ldescription}
\end{Arguments}
\begin{Value}
A transposed version of array \code{a}, with subscripts permuted as
indicated by the array \code{perm}.  If \code{resize} is \code{TRUE},
the array is reshaped as well as having its elements permuted.

The function \code{t} provides a faster and more convenient way of
transposing matrices.\end{Value}
\begin{SeeAlso}\relax
\code{\Link{t}}.\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
# interchange the first two subscripts on a 3-way array x
x  <- array(1:24, 2:4)
xt <- aperm(x, c(2,1,3))
stopifnot( t(xt[,,2]) == x[,,2] )
\end{ExampleCode}
\end{Examples}

