allsubhypercubes | R Documentation |

Extracts all subhypercubes from an n-dimensional hypercube.

allsubhypercubes(a)

`a` |
The magic hypercube whose subhypercubes are computed |

Returns a list, each element of which is a subhypercube of `a`

.
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 <-
allsubhypercubes(a)
```

, consider `jj[9]`

. The name of
`jj[9]`

is `"n-i+1,i,i,"`

; its value is a square matrix. The
columns of `jj[9]`

may be recovered by `a[n-i+1,i,i,]`

with *i=1...n* (**NB**: that is,
jj[[9]] == ```
cbind(a[n-1+1,1,1,],
a[n-2+1,2,2,], a[n-3+1,3,3,], a[n-4+1,4,4,])
```

where `n=4`

).

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 `eval(parse(text=...))`

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
entities at `is.magichypercube`

. But it does here.

Robin K. S. Hankin

`is.perfect`

a <- magichypercube.4n(1,d=4) allsubhypercubes(a)

magic documentation built on Nov. 16, 2022, 9:06 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.