ArrayTools[Permute] - permute dimensions of an Array
ArrayTools[PermuteInverse] - inverse permute dimensions of an Array
|
Calling Sequence
|
|
Permute(A, order)
PermuteInverse(A, order)
|
|
Parameters
|
|
A
|
-
|
Matrix, Vector, or Array
|
order
|
-
|
list; permutation order
|
|
|
|
|
Description
|
|
•
|
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.
|
|
|
Download Help Document
Was this information helpful?