ArrayTools - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Programming : Low-level Manipulation : Matrices, Vectors, and Arrays : ArrayTools : ArrayTools/Permute

ArrayTools

  

Permute

  

permute dimensions of an Array

  

PermuteInverse

  

inverse permute dimensions of an Array

 

Calling Sequence

Parameters

Description

Examples

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.

Examples

withArrayTools:

APermuteArraya,b,c,d,e,f,2,1

A:=adbecf

(1)

PermuteInverseA,2,1

abcdef

(2)

See Also

ArrayTools

ArrayTools[Reshape]

 


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam