Extracts all subhypercubes from an n-dimensional hypercube.
The magic hypercube whose subhypercubes are computed
Returns a list, each element of which is a subhypercube of
Note that major diagonals are also returned (as n-by-1 arrays).
The names of the list are the extracted subhypercubes. Consider
a <- magichypercube.4n(1,d=4) (so n=4) and if
jj. The name of
"n-i+1,i,i,"; its value is a square matrix. The
jj may be recovered by
with i=1...n (NB: that is,
a[n-2+1,2,2,], a[n-3+1,3,3,], a[n-4+1,4,4,]) where
The list does not include the whole array.
This function is a dog's dinner. It's complicated, convoluted,
and needs an absurd use of the
construction. Basically it sucks big time.
BUT... I cannot for the life of me see a better way that gives the same results, without loops, on hypercubes of arbitrary dimension.
On my 256MB Linuxbox,
allsubhypercubes() cannot cope with
d as high as 5, for
n=4. Heigh ho.
The term “subhypercube” does not include diagonally oriented
is.magichypercube. But it does here.
Robin K. S. Hankin
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.