IPERMUTE Array Inverse Permutation Function

Usage

The `ipermute` function rearranges the contents of an array according to the inverse of the specified permutation vector. The syntx for its use is
```   y = ipermute(x,p)
```

where `p` is a permutation vector - i.e., a vector containing the integers `1...ndims(x)` each occuring exactly once. The resulting array `y` contains the same data as the array `x`, but ordered according to the inverse of the given permutation. This function and the `permute` function are inverses of each other.

Example

First we create a large multi-dimensional array, then permute it and then inverse permute it, to retrieve the original array:
```--> A = randn(13,5,7,2);
--> size(A)

ans =
13  5  7  2

--> B = permute(A,[3,4,2,1]);
--> size(B)

ans =
7  2  5 13

--> C = ipermute(B,[3,4,2,1]);
--> size(C)

ans =
13  5  7  2

--> any(A~=C)

ans =

(:,:,1,1) =
0 0 0 0 0

(:,:,2,1) =
0 0 0 0 0

(:,:,3,1) =
0 0 0 0 0

(:,:,4,1) =
0 0 0 0 0

(:,:,5,1) =
0 0 0 0 0

(:,:,6,1) =
0 0 0 0 0

(:,:,7,1) =
0 0 0 0 0

(:,:,1,2) =
0 0 0 0 0

(:,:,2,2) =
0 0 0 0 0

(:,:,3,2) =
0 0 0 0 0

(:,:,4,2) =
0 0 0 0 0

(:,:,5,2) =
0 0 0 0 0

(:,:,6,2) =
0 0 0 0 0

(:,:,7,2) =
0 0 0 0 0
```