Shift origin of arrays and vectors.
1 2 |
x |
Vector to be shifted |
i |
Number of places elements to be shifted, with default value of 1 meaning to put the last element first, followed by the first element, then the second, etc |
a |
Array to be shifted |
v |
Vector of numbers to be shifted in each dimension, with
default value corresponding to |
Function shift(x,n)
returns P^n(x) where P is the
permutation (n,1,2,...,n-1).
Function ashift
is the array generalization of this: the
n-th dimension is shifted by v[n]
. In other
words,
ashift(a,v)=a[shift(1:(dim(a)[1]),v[1]),...,shift(1:(dim(a)[n]),v[n])]
.
It is named by analogy with abind()
and aperm()
.
This function is here because a shifted semimagic square or hypercube is semimagic and a shifted pandiagonal square or hypercube is pandiagonal (note that a shifted magic square is not necessarily magic, and a shifted perfect hypercube is not necessarily perfect).
Robin K. S. Hankin
1 2 3 4 5 |
Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.