ArrayTools
Permute
permute dimensions of an Array
PermuteInverse
inverse permute dimensions of an Array
Calling Sequence
Parameters
Description
Examples
Permute(A, order)
PermuteInverse(A, order)
A
-
Matrix, Vector, or Array
order
list; permutation order
The Permute command rearranges the dimensions of A. The second argument, order is a list containing a permutation of the positive integers from 1 to n, such that dimension k becomes dimension order[k]. For example, if A is 10x20x5x8 then B=Permute(A,[3,4,1,2]) is 5x8x10x20.
The PermuteInverse will produce an Array, B, such that Permute(B,order) will generate A.
Unlike ArrayTools:-Reshape, Permute preserves the indices of the input such that A[index]=B[permuted index]. However, the underlying order of the input must be changed for this to take place, and therefore Permute is much more expensive than Reshape for large Arrays.
There can be more dimensions in the output than the input. Additional dimensions will be assumed to be singletons.
These functions are part of the ArrayTools package, so they can be used in the short form Permute(..) or PermuteInverse(..) only after executing the command with(ArrayTools). However, it can always be accessed through the long form of the command by using ArrayTools[Permute](..) or ArrayTools[PermuteInverse](..), respectively.
with⁡ArrayTools:
A≔Permute⁡Array⁡a,b,c,d,e,f,2,1
A≔adbecf
PermuteInverse⁡A,2,1
abcdef
See Also
ArrayTools[Reshape]
Download Help Document